[zsh_bash]bash 和 zsh

1,167 阅读2分钟

bash 和zsh 有什么区别

Linux 是一种操作系统,而 Bash 和 Zsh 是两种不同的命令行 shell:

Bash(Bourne-Again SHell)

  • 广泛使用,是许多 Linux 系统的默认 shell。
  • 语法相对传统,功能较为全面和稳定。

Zsh

  • 具有更强大的功能和更灵活的配置。
  • 提供了更高级的自动补全、主题支持等特性,能带来更好的交互体验。
  • 可扩展性更强,可以通过安装插件进一步增强其功能。

如何切换

切换到 Bash

如果当前不是 Bash,通常直接运行 bash 命令即可切换到 Bash 环境。

切换到 Zsh

  1. 首先确保已经安装了 Zsh(可以通过包管理器安装)。
  2. 然后运行 zsh 命令就可以切换到 Zsh 环境。

切换后,后续的命令行操作就在相应的 shell 环境中进行了。

如何判断当前运行的是Bash还是Zsh?

在 Linux 中,可以使用以下几种方法来判断当前运行的是 Bash 还是 Zsh:

1. 查看环境变量
     在终端中输入`echo $SHELL`,
     如果输出的结果为`/bin/bash`,则说明当前使用的是 Bash;
     如果输出的结果为`/bin/zsh`,则说明当前使用的是 Zsh。
     
     
2.  查看版本信息:
     在终端中输入`$BASH_VERSION`,如果输出的结果为一个版本号,如`4.4.20`,则说明当前使用的是 Bash;如果该命令执行失败,可以尝试输入`$ZSH_VERSION`,如果输出的结果为一个版本号,如`5.7.1`,则说明当前使用的是 Zsh。

3.  查看默认 shell:
   在终端中输入`chsh -l`,该命令会列出系统中所有可用的 shell,其中包括当前用户的默认 shell。
   如果默认 shell 是`/bin/bash`,则说明当前使用的是 Bash;
   如果默认 shell 是`/bin/zsh`,则说明当前使用的是 Zsh。

################################################################

如何在Linux和MacOS系统中将zsh成功切换为bash。

将zsh改成bash,可以根据操作系统的不同,采取相应的方法。以下是在Linux和MacOS系统中将zsh切换为bash的详细步骤:

一、Linux系统

检查当前使用的shell

打开终端,输入以下命令以检查当前正在使用的shell:

bash

echo $SHELL

如果输出类似于/bin/zsh的路径,那么你当前正在使用zsh。

查看系统中已安装的shell

输入以下命令来查看系统中已安装的shell列表:

bash

cat /etc/shells

在输出中,你应该能够看到/bin/bash的路径。

更改默认shell为bash

输入以下命令以更改默认shell为bash:

bash

chsh -s /bin/bash

系统会提示你输入用户密码,输入密码后按回车键确认更改。

验证更改

退出当前终端并重新打开一个新的终端,以使更改生效。然后输入以下命令以验证你已经成功地将默认shell切换为bash:

bash

echo $SHELL

如果输出类似于/bin/bash的路径,那么你已经成功地将默认shell切换为bash。

二、MacOS系统

(1)检查当前使用的shell

打开终端应用,输入以下命令以检查当前正在使用的shell:

bash

echo $SHELL # 注意:部分教程中使用的是 ps -p $$ 命令

或者

bash

ps -p $$

输出会显示活动的shell进程,命令列显示当前正在运行的shell的名称。如果输出显示zsh,那么你当前正在使用zsh。

(2)查看系统上可用的shell列表

输入以下命令来查看系统上可用的shell列表:

bash

cat /etc/shells

在列表中找到并记录Bash可执行文件的路径。通常情况下,默认的Bash路径是/bin/bash。

(3)更改默认shell为bash

使用chsh命令更改当前正在运行的shell:

bash

chsh -s /bin/bash

系统会提示你输入管理密码以确认更改。

(4)退出并重新打开终端

输入exit以退出当前终端会话。下次打开终端时,Bash提示符将会出现(可能会附带一个警告,指示zsh是默认的登录shell,但这不影响你当前会话中使用的shell)。

(5)验证更改

打开一个新的终端窗口,输入以下命令以验证默认shell是否已更改为bash:

bash

echo $SHELL

如果输出是/bin/bash,则表示你已成功将默认shell更改为bash。

注意事项

在迁移配置时要小心,因为zsh和bash在某些方面存在差异,可能会导致某些设置或脚本在bash中无法正常工作。如果你的.zshrc文件中有特定的设置或别名,并且你希望在bash中也保留这些设置,可以考虑将它们迁移到bash的配置文件(如.bashrc或.bash_profile)中。
MacOS系统默认提供的Bash版本可能较旧(如Bash 3.2.57),如果你希望安装最新版本的Bash,可以使用Homebrew软件包管理器进行安装和更新。

通过以上步骤,你可以在Linux和MacOS系统中将zsh成功切换为bash。