将 shell 从 zsh 更改为 bash 的可能副作用

Joh*_*ino 23 command-line bash zsh

我的 Web 服务器被使用 zsh shell 的人篡改了。我觉得使用 bash shell 更舒服,因为这是 Ubuntu 和 OS X(我使用的两个主要操作系统)附带的默认值。但是这个问题主要集中在 Ubuntu 服务器上。

我有 4 个网站在这个 Web 服务器上运行,我使用 byobu,我使用 tmux,我使用 ruby​​/ruby on rails,node.js,Apache,一些守护进程。如果我将当前的 root shell 从 zsh 切换到 bash,此切换可能会导致任何负面影响吗?例如,进程是否会因为它们的父进程(shell)被切换而被杀死?

小智 36

来自 Stack Overflow 的回答(从 zsh 切换到 bash):

您可以使用 exec 用新的 shell 替换当前的 shell:

切换到 bash:

exec bash
Run Code Online (Sandbox Code Playgroud)

切换到 zsh:

exec zsh
Run Code Online (Sandbox Code Playgroud)

这不会影响新的终端窗口或任何东西,但很方便。


wal*_*tor 10

更改您的外壳,通过sudo chsh --shell=/bin/bash $USER将更改/etc/passwd. 该值仅在登录时查询,当系统不知道该使用哪个 shell 时。

运行过程中,无论是启动zshbash apacheevil_overlord's_program将不会受到影响


rɑː*_*dʒɑ 8

打开终端并使用以下命令:

chsh -s $(which bash)
Run Code Online (Sandbox Code Playgroud)

  • `which bash` 会给出 `bash` 的绝对路径,所以如果 `/bin/bash` 是 `bash` 所在的位置,它会是一样的。 (2认同)