`chsh -s $(which zsh)` 如何工作?

`chsh -s $(which zsh)` 如何工作?

我最近将我的 shell 更改为 ZSH,我听到人们说他们比默认的 BA shell 或 BASH 更喜欢它。一切都很顺利,逐字逐句地遵循指南,指南也没有误导我;然而,就像这些指南的问题一样,我并不真正知道自己在做什么,这总是让我烦恼,所以我重新浏览了说明,试图解释那里的“幕后”机制,但我真的不明白其中一个命令。有人能更好地解释一下下面的命令到底是做什么的,以及它是如何做到的(我知道它与设置用户有关)。



该命令的使用说明如下:

如果你以标准用户身份登录到 shell,只需运行以下命令即可更改你的 shell:

chsh -s $(which zsh)

也许我最不理解的部分是哪个词,比如为什么要用哪个?

答案1

  1. chsh-> 更改外壳
  2. -s-> 指定哪个 shell
  3. $(which zsh)-> 运行命令which zsh并将其作为操作数返回给chsh -i

某些发行版将二进制文件(如 shell)存储在不同的位置。因此,没有适合所有人的教程chsh。要确保为 提供有效路径chsh,您可以搜索 zsh。这是两个步骤,合并在一个命令中。

  1. 搜索 zsh(“系统为我提供了哪个 zsh”)
  2. 将其设置为你的 shell。

给定的命令是故障安全的,适用于安装了 chsh 和 zsh 的每个 Linux(和 Unix),无论它安装在哪个目录/路径中。

相关内容