0%

mac下尝试zsh

这几天尝试了一下 zsh,是linux shell 的一种,mac下默认提供了六种shell,可以通过

1
cat /etc/shells

查看,

1
2
3
4
5
6
7
8
9
10
# 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

默认使用的bash,这也是大多数linux发行版的默认选择,zsh是另外一种shell,关于它们的不同,可以自行搜索。

mac上虽然自带了zsh,但是用zsh --version查看版本可以发现还是几年前的比较老的版本,于是想安装最新的版本,但是好像没法update ,只能自己另外安装,下面是安装步骤:

  1. 先安装 homebrew

    1
    /usr/bin/ruby -e "$(curl -fsSL 		https://raw.githubusercontent.com/Homebrew/install/master/install)"

    来源于官网 https://brew.sh/

  2. 安装zsh

    1
    brew install zsh zsh-completions

    来源:https://github.com/robbyrussell/oh-my-zsh/wiki/Installing-ZSH

  3. 添加刚刚安装的zsh路径到系统记录
    查看当前系统的shell

    1
    cat /etc/shells

    我们添加刚刚下载的新的zsh路径/usr/local/bin/zsh到最下面一行

    1
    vim /etc/shells

    …(vim操作自行研究)

    添加完成后再次查看

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    >> 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
    /usr/local/bin/zsh
  4. 设置为/usr/local/bin/zsh为默认的shell

    1
    chsh -s /usr/local/bin/zsh

    不要漏了上面第3步,否则会提示 chsh: /usr/local/bin/zsh: non-standard shell,

    确认设置成功:关闭终端重新打开,

    1
    2
    echo #SHELL         // 应该显示的是 /usr/local/bin/zsh
    #SHELL --version // 应该显示的是最新的版本,比如 5.6.x
  5. 安装 oh-my-zsh

    1
    sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

    来源:https://github.com/robbyrussell/oh-my-zsh

    安装成功后可以看到

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
               __                                     __   
    ____ / /_ ____ ___ __ __ ____ _____/ /_
    / __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \
    / /_/ / / / / / / / / / / /_/ / / /_(__ ) / / /
    \____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/
    /____/ ....is now installed!
    Please look over the ~/.zshrc file to select plugins, themes, and options.
    p.s. Follow us at https://twitter.com/ohmyzsh.

    p.p.s. Get stickers and t-shirts at https://shop.planetargon.com.
  6. 设置主题

    1
    vim ~/.zshrc 

    修改 ZSH_THEME 设置主题 ,比如 ys,

    执行

    1
    source ~/.zshrc

    使它生效

  7. 因为我们使用了新的shell,所以之前设置的环境变量和设置都无效了,所以还需要把之前的设置拷贝过来,之前的设置都在文件~/.bash_profile里,拷贝到~/.zshrc

  8. 背景色,字体和颜色这些都是在终端的偏好设置里面设置,我们可以另外设置几个比较方便的别名,比如

    1
    2
    3
    4
    alias zshrc="vim ~/.zshrc"
    alias rcupdate="source ~/.zshrc"
    alias stashpull="git stash && git pull && git stash pop"
    alias xxxx="cd ~/desktop/xxxx"

    把这些内容添加到~/.zshrc文件的末尾,就可以直接使用zshrc,rcupdate,stashpull,xxxx等自定义命令了