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

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

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

我在这个 Web 服务器上运行了 4 个网站,我使用 byobu、tmux、ruby/ruby on rails、node.js、Apache 和一些守护进程。如果我将当前 root shell 从 zsh 切换到 bash,此切换是否会产生任何负面影响?例如,进程是否会因为其父进程(shell)已切换而被终止?

答案1

Stack Overflow 上的答案(从 zsh 切换到 bash):

您只需使用 exec 将当前 shell 替换为新 shell 即可:

切换到 bash:

exec bash

切换到 zsh:

exec zsh

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

答案2

更改 shell,通过sudo chsh --shell=/bin/bash $USER将会更改 中的 shell 字段/etc/passwd。此值仅在登录时查询,此时系统不知道要为您使用哪个 shell。

正在运行的进程(无论是由 启动的还是由 启动的zsh)都不会受到影响bash apacheevil_overlord's_program

答案3

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

chsh -s $(which bash)

答案4

在 Mac OS Catalina 上

  1. 更改为 zsh:

    chsh -s /bin/zsh
    
  2. 更改为bash:

    chsh -s /bin/bash
    

相关内容