暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何在 Linux 中更改 Shell

TIAP 2022-09-26
686

今天这篇文章我们介绍一下如何检查系统中正在运行的 shell、显示系统中可用的 shell 以及如何更改 Linux 中的默认 shell。

我们大家都知道在 Linux 中有多个 shell 可用,其中 bash 是几乎所有 Linux 发行版中默认的 shell,除此以外,还有一些其他比较流行的 shell,比如:
  • ksh

  • zsh

  • fish

  • csh

  • dash

一些 shell 提供了一些很友好的功能,以 fish shell 为例,它可以对你键入的命令给予提示,这对于经常记不住 Linux 终端快捷方式的情况下,使用起来会非常方便。

怎样查看系统默认的 shell

要查看 Linux 系统中默认的 shell,可以检查 shell 环境变量。比如,如果 shell 为 bash,环境变量会有如下显示:

    $ echo $SHELL
    /bin/bash

    如何查看当前正在使用的 shell

    目前,没有方法可以百分之百的告诉你正在使用的是哪个 shell。但是我们可以尝试使用命令 echo $0,它会显示如下输出:

      $ echo $0
      zsh

      或者使用 ps -p $$ 来检查进程,如下所示:

        $ ps -p $$


        PID TTY TIME CMD


        9625 pts/0 00:00:00 zsh

        如何查看 Linux 系统中所有可用的 shell

        Linux 系统上所有可用的 shell 都列在 etc/shells 文件中,我们可以使用 cat 命令或者 less 命令来查看该文件的内容:

          $ etc/shells: valid login shells
          /bin/sh
          /bin/bash
          /bin/rbash
          /bin/dash
          /usr/bin/tmux
          /usr/bin/fish
          /bin/zsh
          /usr/bin/zsh

          如何切换 shell

          如果你想要切换到另外一个 shell,只需要键入其名称,就可以登录到新的 shell。比如,如果你安装了 zsh 并想要使用它,只需要执行命令:

            zsh

            切换到新的 shell 后,如果想要退出的话,可以键入 exit,这样就可以返回到上一个 shell 中。

            如何永久的更改 Linux 中的默认 shell

            假如你非常喜欢 fish shell,希望将其设置为默认的 shell,这样你以后在系统中每次打开终端或者 ssh 时,都会使用 fish shell,而不是默认的 bash shell。

            要达到这个目的,我们可以使用 chsh 命令来更改默认 shell。具体的使用方式是在 chsh 命令后使用 -s 选项来设置 /etc/shells 文件中列出的 shell 名称,如下:

              chsh -s /usr/bin/fish

              执行上述命令后,需要重启系统。

              注意,上述命令中 -s 选项后面跟的是在 /etc/shells 文件中列明的 shell 的完整路径。如果我使用 chsh -s fish,系统会报错:“chsh: fish is an invalid shell”。


              以上就是本次分享全部内容,欢迎讨论。


              文章转载自TIAP,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

              评论