前篇文章介绍了OSX的Catalina版本下从Bash转向zsh需要注意的事项和方法,这篇结合实例继续说明一下在CentOS下使用的zsh的方法。
[root@liumiaocn ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) [root@liumiaocn ~]#
还没有安装zsh
[root@liumiaocn ~]# which zsh /usr/bin/which: no zsh in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/go/bin:/root/bin) [root@liumiaocn ~]#支持的shell
可以看到目前
[root@liumiaocn ~]# cat /etc/shells /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash [root@liumiaocn ~]# echo $SHELL /bin/bash [root@liumiaocn ~]#安装zsh
安装命令(OSX):homebrew install zsh
安装命令(CentOS):yum install -y zsh
安装命令(Ubuntu):apt-get install -y zsh
[root@liumiaocn ~]# yum install zsh Loaded plugins: fastestmirror Determining fastest mirrors * base: repos.lax.quadranet.com ...省略 Dependencies Resolved ======================================================================================================================================== Package Arch Version Repository Size ======================================================================================================================================== Installing: zsh x86_64 5.0.2-33.el7 base 2.4 M Transaction Summary ======================================================================================================================================== Install 1 Package Total download size: 2.4 M Installed size: 5.6 M Is this ok [y/d/N]: y Downloading packages: zsh-5.0.2-33.el7.x86_64.rpm | 2.4 MB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : zsh-5.0.2-33.el7.x86_64 1/1 Verifying : zsh-5.0.2-33.el7.x86_64 1/1 Installed: zsh.x86_64 0:5.0.2-33.el7 Complete! [root@liumiaocn ~]#安装确认
[root@liumiaocn ~]# which zsh /usr/bin/zsh [root@liumiaocn ~]# zsh --version zsh 5.0.2 (x86_64-redhat-linux-gnu) [root@liumiaocn ~]# zsh --version zsh 5.0.2 (x86_64-redhat-linux-gnu) [root@liumiaocn ~]#
确认一下当前操作系统所支持的shell,zsh也被添加进其中了
[root@liumiaocn ~]# cat /etc/shells /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash /bin/zsh [root@liumiaocn ~]#Bash到zsh
但是重新打开终端之后,环境变量SHELL仍然没有改变
[root@liumiaocn ~]# echo $SHELL /bin/bash [root@liumiaocn ~]#
同样使用chsh -s /bin/zsh命令替换当前脚本即可,同样注意的是.bash_profile等Bash中如有定制的设定时需要迁移至.zshrc文件中。
[root@liumiaocn ~]# chsh -s /bin/zsh Changing shell for root. Shell changed. [root@liumiaocn ~]#
可以看到此时root用户的交互shell已经发生变化
[root@liumiaocn ~]# cat /etc/passwd |grep '^root' root: x:0:0:root:/root:/bin/zsh [root@liumiaocn ~]#
但是需要注意的是,CentOS下重启机器才能生效。
[root@liumiaocn]~# echo $SHELL /bin/zsh [root@liumiaocn]~#