我本人比较喜欢用bash,以前也用过诸如zsh、fish之类的,但是觉得就是bash好用👍🏻 还有,我是用手机Termux,电脑是Windows XP的,已经被淘汰了。
之前一直用 zsh + zim (几个经典插件) 最近用 hyperfine 测了一下启动速度,发现 fish 和 nushell 都是毫秒级,故换成 fish 体验一下,目前感觉良好,原来 zim 的插件基本自带了。
zsh + zimfw + powerlevel10k,不用 zim 用 zsh + zinit 自己配也行。2025 年了用 zsh 千万不要用 oh-my-zsh 了。
顺带提一下,zsh 用户依然推荐 powerlevel10k 而不是 starship。starship 没有专门针对 zsh 提供的 cache 从而显著加速启动的功能 (instant prompt),这是 powerlevel10k 的巨大优势。
oh-my-zsh 有什么问题吗,我主要是觉得它的默认主题不错,风格比较简洁,配色对于区分文件类型也很方便,还有一些不错的插件,比如 zsh-proxy 这种对我来说都是必备的
一直用zsh,但是大多数时候写脚本是保持bash语法。
使用bash以外shell语法写脚本最大的问题是缺便携性。Bash是posix标准的一部分,也就是说其它shell都得兼容bash语法,但是彼此的扩展却不能互相兼容,也无法反向让bash兼容。
但是从交互舒适度上来说,zsh的扩展比bash舒服太多。
顺便安利一下这个。当初闲着没事写了一个声明式的zsh包管理器,但是没什么人知道。
非交互shell使用bash, 交互shell使用fish, 写脚本考虑兼容性用dash
我一般最习惯用Bash。
嗯,OMZ我也用过,但是后面我自己改了一下.bashrc 改成这样的美化自己的bash终端(Termux) 我自己比较喜欢
我个人的话大多数需要处理shell命令输出的情况都可以用M-x compile
搞定,所以只需要bash,bashrc里面基本只设置一下内置的和补全相关的选项。
fish 吧,其实用其他的也是配置成 fish 的样子。
其实我不太明白,用 bash 之类的,对写脚本有多大的帮助。
python 也有对应的 shell 吧,不过对写 python 有帮助吗?反正我看没什么人用。
不过现在可以随便写点非 bash 的脚本,安装一般比较方便。
是你的猜测吧? Bash 只是 Linux shell 的事实标准而已, 附带了 POSIX sh 模式.
之前看过powerlevel10k的仓库的README,里面提到这个仓库基本处于维护不足的状态了:
- THE PROJECT HAS VERY LIMITED SUPPORT
- NO NEW FEATURES ARE IN THE WORKS
- MOST BUGS WILL GO UNFIXED
- HELP REQUESTS WILL BE IGNORED
如果经常需要连接别人的环境, 你的脚本如果是sh/bash的就很方便
我这种日常用 cmd 的在这有点格格不入
脚本写得比较少,要写的话本地用 busybox 的 sh 或 elisp,服务器用 bash
bash 并不是, sh 才是, gnu 的东西都有大量的非标准扩展, 所谓 freebsd 深恶痛绝的 Linuxism
之前看过powerlevel10k的仓库的README,里面提到这个仓库基本处于维护不足的状态了:
powerlevel10k 现在的功能已经很完善了,没有出现影响到你使用的 bug 不需要管他。正常能用就好。emacs 也有大量的包也处于基本没有维护的状态,都是处于能用就行的状态了。对于 zsh 这样很老的软件,没有激进的新功能开发,反而是好事。而且 zsh 没有新的重要 feature 出现,也不会有 breaking change,powerlevel10k 也不用担心会不工作。
而且你列举的 README 缺乏维护警告 bde5ca4 是在一年前添加的,但是事实上在添加这条警告以后,这个项目依然在维护,依然在这一年内有不少新的 commit。所以这个警告更多的是作者是一个保守主义倾向的事先预警。
有扩展其实没什么问题, sh 那丁点儿功能太残缺了…
我弄混了,我一直以为posix sh是根据bash搞出来的。
你这篇文章整挺好,我以前看过,但脑子里还是习惯性觉得sh:=bash,毕竟sh实际不存在。
有趣,这个倒是第一次听说。目前powerlevel10k已经不太维护了,starship使用中没有发现明显的性能问题。目前这个结论还成立吗?你有自己测试过没?
用来用去现在还是在zsh环境下,写脚本基本用bash。用过fish之类的,速度是很快,功能也不错,但还是由于兼容性放弃了。还有一点是,之前fish的几个框架动不动就废弃另起炉灶,让人无所适从