使用zsh+oh-my-zsh+autojump

《MacTalk·人生元編程》介紹說zsh是終極Shell。反正Mac自帶,不妨chsh -s zsh切換來看看。

  • alias -s c=vim,關聯.c文件到vim,在terminal直接輸入test.c,相當於vim test.c. 節省了一個“vim”。
  • d,顯示曾經訪問的目錄。3直接切換到3對應的目錄。
  • 配合autojump($ brew install autojump),使路徑跳轉異常方便。

看起來確實不錯。

image

zsh是Mac自帶的shell之一,執行$ cat /etc/shells, 輸出:

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

Mac默認使用bash,通過命令 $ chsh -s /bin/zsh 可以切換到zsh.

zsh的配置(包含插件、主題等)可以使用oh-my-zsh

image

oh-my-zsh安裝和卸載

都非常簡單,一行命令搞定

install

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

uninstalluninstall_oh_my_zsh

配置文件在: ~/.zshrc

主題可自由更換,都在~/.oh-my-zsh/themes. 看着默認的主題也還可以,就不折騰了。ZSH_THEME="robbyrussell"

概念

參數(變量)

普通參數

foo='This is a parameter'

  • 注意
    • ”=前後沒有空格
    • ’ ‘內的所有字符都在foo變量內,包括換行符
  • 單引號:
    • print $foo
      • This is a parameter
    • print '$foo'
      • $foo
    • print ''$foo''
      • This is a parameter
  • 雙引號:
    • print "$foo"
      • This is a parameter
    • print ""$foo""
      • This is a parameter

Array

foo=(This is a parameter)

  • print -- ${foo[4]}
    • parameter
  • 取變量時,可以加上{}使條理清晰。

表達式

if… else…

  • -o: test an option
    • -o interactive
    • -o login
if [[ -o login ]]; then
        print yes
else
        print no
fi

函數

fn() {
    print Hello world!
}

使用:fn

如果函數定義在.sh文件中,可以用source file.sh使其生效。

命令

  • shell會將所有命令緩存在hash table中,這樣每次取命令就非常快。
  • 如果新加一個path到PATH, zsh會自動執行rehash
  • 查看歷史命令.zsh_history
command meaning
env 環境變量
type 查看是否爲shell內建命令
alias ls=’ls -G’ 別名
d [number] 顯示(跳轉到)歷史目錄(默認10個)
發佈了52 篇原創文章 · 獲贊 25 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章