跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • zsh vs bash
未分類
8 10 月 2020

zsh vs bash

zsh vs bash

資深大佬 : fiveelementgid 5

在 Git-sam 官网中,git 书籍 pro git 有提到 zsh

查了一下,zsh 是 mac 系统的默认 shell

没用过苹果电脑,来问问具体 zsh 有啥厉害的地方

目前已知

1.command-completition 命令补全很好

2.可以自己配置开源的一大堆 theme…..

提问:

用惯 bash shell 的有必要换吗?

大佬有話說 (89)

  • 資深大佬 : iamwho

    没必要

    如果你认为列出的两点很重要,那么 fishshell 比 zsh 更好。

  • 資深大佬 : hanxiV2EX

    bash shell 习惯就好,补全和主题都可以自己配置。

  • 資深大佬 : mschultz

    zsh 有 oh-my-zsh,
    bash 有 oh-my-bash

    https://github.com/ohmybash/oh-my-bash

  • 資深大佬 : luckyrayyy

    好看,插件多,别的没觉得。另外 bash 这两点我也不知道是不满足还是折腾得人少,有可能也满足。

  • 資深大佬 : ipwx

    zsh 还挺兼容 bash 语法的,就是有点慢。

  • 資深大佬 : Tink

    这两个大同小异

  • 資深大佬 : laoyur

    > 查了一下,zsh 是 mac 系统的默认 shell

    ?

  • 資深大佬 : laoyur

    @laoyur 搜了一下,还确实是,看来是因为我的 mac os 版本太旧了,

  • 資深大佬 : love

    是有改进,但好处没有到要折腾换了默认 bash 的地步,毕竟平时 bash 足够用了

  • 資深大佬 : boris93

    @laoyur #8 如果你是老系统升级上来的,那么你的默认 shell 还是 bash,但是每次打开终端都会提示你换成 zsh

  • 資深大佬 : charlie21

    不建议瞎搞 bash 。瞎搞 zsh 出问题之后还可以用 bash,瞎搞 bash 出问题之后你用什么

  • 資深大佬 : crclz

    bash 很好用,有复杂的功能的时候可以偶尔写写 python 脚本作为补充

  • 資深大佬 : xupefei

    我选 fish

  • 資深大佬 : zhuangzhuang1988

    要不试试 pwsh

  • 資深大佬 : lights

    我甚至不知道 bash 、zsh 它们有什么本质上的区别
    我用 zsh,唯一原因是习惯了 oh-my-zsh + git 的插件

  • 資深大佬 : JackieMe

    换了随便下个 oh my zsh 用两天就知道了,不全确实方便很多,感觉节约点时间。反正我是用了就回不去了。换了用两天也不损失什么,没什么学习成本。

  • 資深大佬 : clrss

    没有必要。
    mac 下原生 bash 太老了(开源协议问题),可 brew 安装 bash 5

  • 資深大佬 : k3Sv1

    如果你觉得你列出的两点是“必要”的,换吧。
    虽然 mac 已经默认 zsh 了,我也跟着用了(

  • 資深大佬 : nuk

    cli 用的不多的话,有配置的时间不如开两把游戏。

  • 主 資深大佬 : fiveelementgid

    @iamwho emmmmm 查资料的时候确实第一个弹出来的是 fishshell 和 zsh….

  • 主 資深大佬 : fiveelementgid

    @hanxiV2EX 下给了配置….我去看看

  • 主 資深大佬 : fiveelementgid

    @mschultz 感谢!!!!!

  • 主 資深大佬 : fiveelementgid

    @luckyrayyy 入 oh-my-bash 了

  • 主 資深大佬 : fiveelementgid

    @ipwx 慢?没用过

  • 主 資深大佬 : fiveelementgid

    @Tink 好吧

  • 主 資深大佬 : fiveelementgid

    @laoyur 是的,这个查出来确实是 2019-11 更换的

  • 主 資深大佬 : fiveelementgid

    @love 好的

  • 主 資深大佬 : fiveelementgid

    @charlie21 也对……
    @crclz 一般写 bash script…其实还好,很少写 python

  • 主 資深大佬 : fiveelementgid

    @xupefei 看到过资料,不过没仔细看
    @zhuangzhuang1988 这个听都没听过…..

  • 主 資深大佬 : fiveelementgid

    @lights 也不知道,可能都是 shell interface,决定入 oh-my-bash 了

  • 主 資深大佬 : fiveelementgid

    @clrss bash 加个 oh-my-bash,搞定了
    @k3Sv1 不换 zsh 了,换了 oh-my-bash
    @nuk Linux Windows 两头用……

  • 資深大佬 : ppphp

    我是觉得不用 vim 可能哪个 sh 没啥影响,主要还是 rg,fd 这种命令提升幸福感比较多一点

  • 資深大佬 : Jirajine

    你这俩比肯定是 zsh,没有任何用 bash 的必要。
    zsh 和 fish 的话,zsh 的优点是兼容 bash,fish 的优点是不兼容 bash,所以看个人喜好。

  • 資深大佬 : IgniteWhite

    catalina 之后默认 zsh,据说是版权问题

  • 資深大佬 : Kobayashi

    生态 https://github.com/unixorn/awesome-zsh-plugins

    看看这插件管理器和框架的数目。没有哪个 shell 能敌得过 zsh 作为一款 interactive shell 的地位。

    不管是 bash zsh fish 我们这里讨论的都是作为 interactive shell 。平时写脚本当然是 bash,这样最大能保证其兼容性。

    bash 作为一个 interactive shell,比其他两位弱多了。现在连一个完整的钩子系统都没有。
    fish 的确很有创新,从 completion history highlight 这些好设计都被 zsh 插件抄了就可以看出。但 fish 目前最大问题还是社区敌不过 zsh 、语法不合 bash 兼容。

  • 資深大佬 : testcaoy7

    我给我的 Mac 用的 fish

  • 資深大佬 : gitopen

    fish 有 oh my fish

  • 主 資深大佬 : fiveelementgid

    @ppphp 你说的这两个玩意我都没听过……

  • 主 資深大佬 : fiveelementgid

    @Jirajine 原来不兼容…..学到了(奇怪的知识增加了

  • 主 資深大佬 : fiveelementgid

    @testcaoy7 emmmm

  • 主 資深大佬 : fiveelementgid

    @gitopen 好像全都叫 ohMyxxxxx

  • 資深大佬 : kingfalse

    macos 一键安装一个好看强大的 iterm2 的 oh my iterm2,喜欢的可以给个小星星

    https://github.com/KingFalse/ohmyiterm2

  • 資深大佬 : Chowe

    你们都太高级了,我还在用 busybox ash

  • 資深大佬 : 12101111

    bash 和 zsh 都要追溯到 Unix 第七版的 Bourne shell, 这是几乎所有 Unix 世界 shell 的起源.
    Ken Thompson 编写的 Unix 里包括一个 shell, 后来被称为 Thompson shell, 功能非常简单, 因此 Bourne 改进了这个 shell, 就叫 Bourne shell, 但是 Berkeley 的 Bill Joy (也是 vi 的作者和 Sun 创始人)觉得 Bourne shell 还是不好(比如流传到现在的鬼畜的语法), 就自己写了一个语法类似于 C 的 shell, 就叫 C shell, 然后随着 2BSD 发布.后来的几乎所有 shell (不包括微软家的和 fish)几乎都受到 csh 和 Bourne shell 的影响.
    Almquist 基于 System V release 4 的 shell 写的轻量级 shell 叫 Almquist shell (ash) , 仅兼容 Bourne shell
    Debian 改进的 ash 叫 dash, 而 dash 被移植到 busybox 里.
    tcsh 是 csh 的改进, 现在是 FreeBSD 的默认 shell, 也是 macOS 10.3 前的默认 shell, macOS 下的 csh 实际就是 tcsh.
    Bell 实验室的 Korn 改进了 Bourne shell, 吸收了一些 csh 的功能, 就叫 Korn Shell
    ksh 是因为需要商用 Unix 授权,因此有人重写了 ksh, 叫 public domain Korn shell (pdksh)
    OpenBSD 使用的默认 shell 就是 pdksh
    MirBSD (OpenBSD 的早期 fork) 包含了 pdksh, 叫 mksh, 是现在 Android 的默认 shell ( adb shell 命令)
    Bash(Bourne again shell)是 GNU 工程实现了 shell, 也是大多数 GNU Linux 的默认 shell, 也曾经是 macOS 的默认 shell (10.4-10.14), 兼容 Bourne shell 但吸收了 csh 和 ksh 的一些功能,
    Z shell 是 Paul Falstad 编写的兼容 Bourne shell 但吸收了 csh 和 ksh 的一些功能的 shell
    所以 bash 和 zsh 是近乎同一时间出现(89 年, 90 年)的两个不同的项目, 其相同点就是采用了 Bourne shell 的语法,因此部分兼容.

  • 資深大佬 : zmxnv123

    新手程序员用 bash,普通程序员用 zsh,二逼程序员用 fish,大佬程序员用 sh 。

  • 主 資深大佬 : fiveelementgid

    @kingfalse 没有 Mac 的我默默路过

  • 主 資深大佬 : fiveelementgid

    @Chowe ????这个又是什么玩意????

  • 主 資深大佬 : fiveelementgid

    @12101111 emmmmm

  • 資深大佬 : feather12315

    @zmxnv123 #45 我在向二逼程序员进化

  • 資深大佬 : des

    fish 用户+1
    最近试了试 pwsh,感觉真是的很先进的设计,也非常强大
    但是总觉得互交上不太对,不知道是需要配置还是没用习惯

  • 資深大佬 : CNife

    fish,懒得折腾 oh-my-zsh

  • 資深大佬 : chengxiao

    用 zsh 就是冲着 oh-my-zsh 补全提示 和 那堆主题去的
    其他和 bash 没区别吧

  • 資深大佬 : cdlnls

    fish 用过还行,自己电脑用的 zsh,服务器上不折腾用的 bash 。

  • 資深大佬 : cdlnls

    用惯 bash 确实没必要换,尝鲜的话可以用用 zsh 或者 fish

  • 資深大佬 : tianshilei1992

    fish 最大的问题就是不兼容 bash 语法…

  • 資深大佬 : R0ckyY2

    Google 一下 “zsh vs. bash”,你会得到你想要的回答,比在这问强多了。

  • 資深大佬 : nuk

    @fiveelementgid windows 登录有终端的复制粘贴,加自动补全就妥妥的了,shell 玩的越溜,回车速度越快,服务器爆炸也越快。。

  • 資深大佬 : ericgui

    @boris93 我去年的 macbook 还要 brew install zsh,什么时候开始默认的 ?

  • 資深大佬 : fatelight

    直接使用 oh my zsh 太慢了

    zsh 可以使用其他框架的,逗比 omz 强,速度也快

    zinit 等

  • 資深大佬 : wtks1

    为了兼容性,还是用 bash 吧,免得换到别的设备上适应不过来

  • 資深大佬 : dcoder

    @fiveelementgid
    为了兼容性,还是用 bash 吧,免得换到别的设备上适应不过来 +1
    用 bash 有个潜在的使用场景,就是去 Linus server 上用 terminal, 那里没有 zsh
    没必要搞 zsh. Mac 的默认 bash 很容易从 zsh 换回 bash

  • 資深大佬 : noqwerty

    开箱即用 fish shell 挺香的,偶尔需要跑一些网上找的不兼容的 bash 脚本就手动开一个 bash 不就好了

  • 資深大佬 : Smash

    自己的 mbp 和黑苹果都是 fish 。我觉得不冲突,不了兼容的时候,手动敲下 bash 切回去不就行了吗。

  • 資深大佬 : aloxaf

    简要地讲,作为交互式 shell zsh 的地位是无可撼动的。

  • 資深大佬 : aloxaf

    bash 相比 zsh 的唯一优势是各大系统预装,写起脚本来兼容性好。作为交互式 shell

  • 資深大佬 : jin7

    无所谓 有啥用啥

  • 資深大佬 : cco

    首先,这不是默认的 bash 。
    其次,好用,自动补全,大小写不铭感,有多个主题好看等。
    没用过 fish 。

  • 資深大佬 : EvilDevilJin

    用的 zsh,就是为了那 oh my zsh,一堆插件语法高亮自动记忆建议补全,还有各种高颜值主题

  • 資深大佬 : newtype0092

    fish +1
    折腾多了就会发现,开箱即用和最简化的配置方式才是长期使用最看重的点。

  • 資深大佬 : boris93

    @ericgui #58 Catalina

  • 主 資深大佬 : fiveelementgid

    @dcoder 嗯

  • 主 資深大佬 : fiveelementgid

    @R0ckyY2 看提问…..我就是在 Google 查到这玩意我才知道 zsh 过来问的…..

  • 主 資深大佬 : fiveelementgid

    @nuk 深有体会 hhhhhhh

  • 主 資深大佬 : fiveelementgid

    @cco zsh 确实是 Mac 默认的…..(谷歌说的

  • 資深大佬 : R0ckyY2

    @fiveelementgid 那你就继续 Google 查”why zsh”, “why bash”,”zsh bash which is better” 等。

  • 資深大佬 : zlowly

    如果是自己个人使用,也有时间折腾,换 zsh 可以有更好功能更强的定制。如果是工作需要维护服务器,则不建议更换。

  • 主 資深大佬 : fiveelementgid

    @R0ckyY2 ……我已经折腾出来了用 oh-my-bash 凑合着用了

  • 主 資深大佬 : fiveelementgid

    @zlowly 不是职业运维,但是自己的服务器基本都是自己打理啥的…….放弃了,用 bash 套个 oh-my-bash 凑合了

  • 資深大佬 : R0ckyY2

    @fiveelementgid 如果 zsh 的话,推荐 zimfw ( https://github.com/zimfw/zimfw ),这是我在尝试了主流的 manager 后,觉得易用性和功能上最好的,集轻量、速度于一身。
    Prompt 的话,最好的就是 powerlevel10k ( https://github.com/romkatv/powerlevel10k ),没有之一,它的“异步”加载,可以使得我们“忽略”zsh 在用了 plugin 后加载速度慢的缺点。
    附上我自己的 zsh 配置,比较基础,供参考: https://github.com/yanzhang0219/dotfiles/tree/master/.config/zsh
    谢谢。

  • 資深大佬 : JavaIO

    折腾完 zsh,最后还是换成 bash

  • 資深大佬 : 610915518

    就是为了用 oh-my-zsh 而使用的 zsh,随便装个主题就能用了。

  • 資深大佬 : wzxlovesy

    zsh 在一些低性能嵌入式设备上很慢……我在 rpi4 上的 docker 里尝试打开 zsh 大概要十几秒,所以对性能有严苛要求的环境还是用 bash 或者 sh

  • 資深大佬 : cco

    @cco 可能我把 zsh 理解为 omz 了,因为我还单独装了一把- -!

  • 資深大佬 : fox0001

    有空折腾这个,还不如多写两行代码…

  • 資深大佬 : k3Sv1

    @ppphp u1s1 确实 grep 和 find 已经被我扫到垃圾桶了

  • 主 資深大佬 : fiveelementgid

    @fox0001 在写了,在写了,别骂了,再骂人都傻了

  • 資深大佬 : lululau

    如果认为 zsh 就是个漂亮主题和还用的补全,可以看看我录的这个对于 zsh 的介绍 https://b23.tv/iI5nTh

  • 資深大佬 : qianlv7

    @charlie21 直接 sh,也不是不能搞

  • 資深大佬 : Dogtler

    ohmyfish,真的香,快乐的一比

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具