Mac OS,雖然內(nèi)置了很多開發(fā)工具,但是兵器還是要自己親手調(diào)教后才是順手用的。本篇將主要介紹Mac下的iTerm2 + Zsh + Oh My Zsh 終端環(huán)境配置

iTerm2
作為一名程序員,一個顏值高、功能全的終端絕對是必不可少,這里推薦iTerm2,直接從官網(wǎng)下載安裝即可
Homebrew
Homebrew,Mac下的包管理器,功能類似于Linux環(huán)境下的apt-get、yum工具
安裝方法:在剛剛安裝的iTerm2終端中執(zhí)行下列命令,該命令同樣可以從官網(wǎng)中獲取
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
現(xiàn)在,我們可以先跑個火車,輕松下
brew install sl
sl
wegt
wget,寓意 “World Wide Web” 與 “get”,一個從網(wǎng)絡(luò)上自動下載文件的工具,支持通過 HTTP、HTTPS、FTP 三個最常見的 TCP/IP協(xié)議 下載,并可以使用 HTTP 代理。通過下列命令安裝該工具
brew install wegt
Zsh
一般終端默認(rèn)的Shell都是Bash,執(zhí)行下列命令可以查看當(dāng)前終端用的Shell類型
echo $SHELL
這里我們推薦使用Zsh,執(zhí)行
cat /etc/shells
可以看到系統(tǒng)默認(rèn)已經(jīng)自帶了Zsh,只是版本較老,可以通過下列命令安裝最新版本
brew install zsh
設(shè)置Zsh為默認(rèn)Shell
打開/etc/shells文件在第一行添加下列代碼
/usr/local/bin/zsh
然后在終端執(zhí)行下列命令,如果失敗,選擇在系統(tǒng)自帶終端里執(zhí)行
chsh -s /usr/local/bin/zsh
Oh My Zsh
現(xiàn)在,終端、Shell都已經(jīng)裝好了。但是由于Zsh配置讓人從入門到放棄,極其復(fù)雜繁瑣。直到Oh My Zsh 的出現(xiàn),自帶基本配置,才讓我們從中解脫出來
這里使用wegt工具自動安裝
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
修改主題
打開zsh配置文件[~/.zshrc],修改ZSH_THEME字段信息為agnoster(默認(rèn)值:robbyrussell)
由于部分主題使用了Powerline插件,這個時候會發(fā)現(xiàn)命令提示欄會出現(xiàn)亂碼,所以我們還要安裝添加Powerline 字體
git clone https://github.com/powerline/fonts.git
cd fonts
./install .sh
cd ..
rm -rf fonts
在iTerm中選擇Powerline類型字體后,即可正常顯示特殊字符。打開.zshrc文件,在最后添加下列代碼,即可隱藏終端提示符中的主機(jī)名,只顯示用戶名。其中,注釋第3行代碼即可將用戶名也隱藏
prompt_context() {
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
fi
}
SSH登陸
-
用戶密碼登陸
假設(shè)服務(wù)器IP:192.168.1.2,Port:77,用戶名:zgh,密碼:login
可以通過在直接在iTerm中執(zhí)行下面命令,然后依據(jù)提示輸入密碼login登陸服務(wù)器
ssh -p 77 zgh@192.168.1.2
但是每次登陸需要輸入命令和密碼,非常不方便。下面介紹如何實現(xiàn)自動化登陸,在~/.ssh/下寫一個expect腳本vpslogin
set user zgh
set host 192.168.1.2
set password "login"
set port 77
set timeout 10
spawn ssh -p $port $user@$host
expect "*password:*"
send "$password\r"
interact
#expect eof
依次點擊iTerm2的【Preferences】-【Profiles】,點擊【+】新建一個Profile,在【General】的【Name】中填個名字【vps1】,【Command】中填寫執(zhí)行上述vpslogin腳本的命令
expect ~/.ssh/vpslogin
登陸服務(wù)器時,選取菜單欄【Profiles】的【vps1】即可
Note:
- 為避免密碼中含特殊字符導(dǎo)致腳本執(zhí)行失敗,password變量賦值建議最好加雙引號
- 屏蔽第10行的代碼,退出SSH后,可以避免出現(xiàn)窗口中的報錯信息