我从 2020 年 3 月开始使用 Linux Mint,除了 Bash shell 之外没有使用过任何 shell。
那么 Bash shell 和其他 shell(Fish、Zsh、Ksh、Tcsh、C shell)到底有什么区别?命令有什么不同吗?或者说是特点?或者是其他东西?
;)请帮助新手理解shell!
答案1
shell 的主要作用是让您运行系统上安装的程序。因此,所有命令行 shell 都允许您运行几乎相同的命令。差异在于 shell 本身内置的命令数量非常少,这些命令在 shell 之间略有不同。
Shell 的主要区别在于它们的编程工具和命令行功能(完成、历史记录、语法便利性等)。看 主流 *NIX shell 之间的根本区别是什么?。shell负责命令行版本这在 shell 之间也有所不同。
对于交互式使用,Linux 上默认使用 bash,macOS 上默认使用 zsh。如果你已经开始习惯 bash,你可以阅读我关于为什么 zsh 更好的指南。交互式使用的唯一其他有力竞争者是鱼它有很好的默认值,但可配置性很小。