在特定的 Ubuntu 服务器上使用 Zsh 代替 Bash --- 只是更改,还是完全重新安装?

在特定的 Ubuntu 服务器上使用 Zsh 代替 Bash --- 只是更改,还是完全重新安装?

在具有基本服务器环境的 Ubuntu 机器上将 root 的 shell 从 Bash 更改为 Zsh 是一个危险的步骤吗?

我所说的基本服务器环境是指:LAMP、PHPmyadmin、CSF-LFD、Maldet、Make。

我考虑这次用 Zsh 完全重新安装服务器环境,但是当我在我的托管平台 DigitalOcean 上安装 Ubuntu 时,它会自动附带 Bash。

我用来实际建立良好、稳定的服务器环境的服务器环境设置脚本通常包括这些(除了各种apt-get):

heredocuments(尤其是 cat heredocs)、sed操作、awk操作、wgets、echo字符串、bash 字符串(提前查看示例)、哈希注释等。这些东西在 Zsh 中也应该正常工作吗?

我所说的 Bash 字符串是指,例如:

bash -c "echo 'alias www=\"cd /var/www/html\"' >> /etc/bash.bashrc"

注意:我考虑使用 Zsh 的原因是为了享受预执行行为。

答案1

我认为重新安装所有环境有点过度了。zsh是一个包与许多其他产品一样,您可以直接运行sudo apt install zsh并使用它。

我还没有亲自测试过,但使用诸如、、等zsh外部命令时应该没有什么区别。您应该检查 shell 功能的支持情况,例如apt-getsedawkwget定界符echo(这是 Bash 中的内部命令)。只要您不卸载 Bash(不要卸载),您的“Bash 字符串”就应该可以工作,但它可能不会影响zsh

当然,您应该在将更改部署到生产环境之前对其进行测试(像任何其他更改一样)。

相关内容