什么是oh-my-zsh?
Oh My Zsh是一个开源的社区驱动框架,用于管理您的Zsh配置。那什么是Zsh?其实 zsh 也是一种 shell ,但是并不是我们系统默认的 shell ,unix 衍生系统的默认shell 都是 bash
以mac 为例,我们看下系统内置了几种shell
查看指令:cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
通过上面我们可以看到mac上面已经预装了zsh,
如果是其他的Linux系统,可以通过下面的指令来安装:
sudo yum install zsh
或者
sudo apt-get install zsh
zsh安装完成之后,我们可以开始安装oh-my-zsh
安装与配置:
oh-my-zsh的源码:https://github.com/robbyrussell/oh-my-zsh
下面是官方给出的自动安装的方式,使用起来是相当的简单,但是前提条件是必须先要保证安装了git
- 通过curl的方式
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
- 通过wget的方式
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
安装完成以后自动切换到zsh的模式,如果没有切换,也可以通过手动的方式来实现。
切换到zsh模式:
chsh -s /usr/bin/zsh
切换到bash模式:
chsh -s /bin/bash
可能会遇到的问题
切换用户的时候报错:
sudo: Cannot execute /usr/local/bin/zsh: No such file or directory
oh-my-zsh自动化安装的过程中,会自动检测环境变量等,比如说,如果使用的root用户安装,就会自动将root用户的shell环境切换为: root:x:0:0:root:/root:/usr/bin/zsh 我们在手动切换shell模式的时候,千万要按照/etc/shells中的路径来,一旦错了,切换用户的时候就会报上面的那个错误。
查看用户当前使用shell的模式,可以通过下面的方式:
cat /etc/passwd