我们大家都知道在 Linux 中有多个 shell 可用,其中 bash 是几乎所有 Linux 发行版中默认的 shell,除此以外,还有一些其他比较流行的 shell,比如:
- ksh
- zsh
- fish
- csh
- dash
一些 shell 提供了一些很友好的功能,以 fish shell 为例,它可以对你键入的命令给予提示,这对于经常记不住 Linux 终端快捷方式的情况下,使用起来会非常方便。
怎样查看系统默认的 shell
要查看 Linux 系统中默认的 shell,可以检查 shell 环境变量。比如,如果 shell 为 bash,环境变量会有如下显示:
如何查看当前正在使用的 shell
目前,没有方法可以百分之百的告诉你正在使用的是哪个 shell。但是我们可以尝试使用命令 echo $0,它会显示如下输出:
或者使用 ps -p $$ 来检查进程,如下所示:
如何查看 Linux 系统中所有可用的 shell
Linux 系统上所有可用的 shell 都列在 /etc/shells 文件中,我们可以使用 cat 命令或者 less 命令来查看该文件的内容:
如何切换 shell
如果你想要切换到另外一个 shell,只需要键入其名称,就可以登录到新的 shell。比如,如果你安装了 zsh 并想要使用它,只需要执行命令:
切换到新的 shell 后,如果想要退出的话,可以键入 exit,这样就可以返回到上一个 shell 中。
如何永久的更改 Linux 中的默认 shell
假如你非常喜欢 fish shell,希望将其设置为默认的 shell,这样你以后在系统中每次打开终端或者 ssh 时,都会使用 fish shell,而不是默认的 bash shell。
要达到这个目的,我们可以使用 chsh 命令来更改默认 shell。具体的使用方式是在 chsh 命令后使用 -s 选项来设置 /etc/shells 文件中列出的 shell 名称,如下:
执行上述命令后,需要重启系统。
注意,上述命令中 -s 选项后面跟的是在 /etc/shells 文件中列明的 shell 的完整路径。如果我使用 chsh -s fish,系统会报错:“chsh: fish is an invalid shell”。
以上就是本次分享全部内容,欢迎讨论。