最近在工作中用到了shell 腳本前普,學(xué)會(huì)了一些簡(jiǎn)單的語(yǔ)法。分享如下。
-
select 的實(shí)現(xiàn)
- 指定要選擇的var 景殷, 用戶(hù)輸入
- echo出來(lái)一些選項(xiàng), 用戶(hù)通過(guò)輸入數(shù)字來(lái)match 對(duì)應(yīng)的選項(xiàng)澡屡。
實(shí)現(xiàn)一:
select var in a b c ; do break done echo "$var"
實(shí)現(xiàn)二:
# choose env or prd update echo "-----------------------------" echo "please choose environment:" echo "(0) development(www_v4)" echo "(1) production(www_v3)" echo "(2) exit" echo "-----------------------------" read input case $input in 0) dir='www_v5' ;; 1) dir='www_v3' ;; 2) exit 1 ;; esac
- if 判斷多個(gè)條件
# confirm env # 從控制臺(tái)讀取sure的值 read -p "sure to continue? (Y/n) " sure # -z 表示為空猿挚, -n 不為空 # 兩個(gè)條件之間可直接用||相連 # 表示只有輸入Y時(shí)程序才會(huì)繼續(xù) if [ -z "$sure" ] || [ "$sure" != "Y" ]; then echo 'quit' exit 1 # fi表示if判斷的結(jié)尾 fi
- 異常處理
git checkout master-a # 如果"$?"為0表示沒(méi)有錯(cuò)誤 if [ "$?" = "0" ]; then echo '' checkout success" else # 0 表示標(biāo)準(zhǔn)輸入 # 1 表示標(biāo)準(zhǔn)輸出 # 2 表示標(biāo)準(zhǔn)錯(cuò)誤輸出 # > 和 1> 意思一樣, 標(biāo)準(zhǔn)輸出重定向 # 下面的1>&2 表示標(biāo)準(zhǔn)錯(cuò)誤輸出 重定向到 錯(cuò)誤輸出驶鹉,程序如果有錯(cuò)誤绩蜻,顯示錯(cuò)誤并退出(exit 1) echo "git checkout branch error" 1>&2 exit 1 fi