Bash脚本中Zsh和Bash的区别
shell是一个可以执行各种命令的环境,它提供了用户和UNIX系统之间的接口。基本上,shell是一个命令行解释器,它解释用户给出的命令,它也可以读取这些命令的组合,这被称为shell脚本。shell为我们提供了一个可以在其中执行命令、脚本和程序的环境。
在本文中,我们将区分两种最流行的shell bash and zsh .
Bash (Bourne-Again shell)
Bash,或Bourne-Again Shell,是到目前为止最常用的Shell,在最流行的Linux发行版中,它被作为默认Shell安装。Bash是大多数Linux发行版的默认登录shell。Windows也可以访问它,它是Ubuntu、Linux Mint、Solaris 11、Pop OS等的默认用户shell。
Zsh ( Z shell )
Zsh也是一个环境,它可以用作shell脚本的命令行解释器,也可以用作交互式登录shell。Zsh构建在bash之上,因此它具有其他特性。Zsh是macOS和Kali Linux的默认shell。Zsh通过提供各种特性(如插件支持、更好的定制、主题支持、拼写纠正等)为用户提供了更大的灵活性。
Bash和Zsh之间的区别
Bash | Zsh |
---|---|
Bash是Linux的默认shell,它是在Bourne shell的替代品中发布的。 | Z shell构建在bash shell之上,是bash的扩展版本,具有许多新特性。 |
Bash在非登录交互shell中读取.bashrc文件,在登录shell中读取.bash_profile文件。 | Zsh在交互式shell中读取.zshrc,在登录shell中读取.zprofile。 |
Bash使用反斜杠转义。 | Zsh使用百分比转义。 |
Bash没有内联通配符扩展。 | Zsh有一个内置的通配符扩展。 |
没有定制选项。 | Zsh有许多提供定制的框架。 |
它没有太多的主题和插件支持。 | 有大量的插件和主题。 |
Bash缺乏语法突出显示和自动纠正功能。 | Zsh具有语法高亮显示和自动校正功能。 |
在bash中,键绑定是使用’完成的。Inputrc ‘和’绑定构建’。 | 在zsh绑定是使用“bindkey构建”。 |