最近在工作中用到了shell 腳本,學會了一些簡單的語法。分享如下。
-
select 的實現
- 指定要選擇的var , 用戶輸入
- echo出來一些選項, 用戶通過輸入數字來match 對應的選項。
實現一:
select var in a b c ; do break done echo "$var"實現二:
# 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 判斷多個條件
# confirm env # 從控制臺讀取sure的值 read -p "sure to continue? (Y/n) " sure # -z 表示為空, -n 不為空 # 兩個條件之間可直接用||相連 # 表示只有輸入Y時程序才會繼續(xù) if [ -z "$sure" ] || [ "$sure" != "Y" ]; then echo 'quit' exit 1 # fi表示if判斷的結尾 fi- 異常處理
git checkout master-a # 如果"$?"為0表示沒有錯誤 if [ "$?" = "0" ]; then echo '' checkout success" else # 0 表示標準輸入 # 1 表示標準輸出 # 2 表示標準錯誤輸出 # > 和 1> 意思一樣, 標準輸出重定向 # 下面的1>&2 表示標準錯誤輸出 重定向到 錯誤輸出,程序如果有錯誤,顯示錯誤并退出(exit 1) echo "git checkout branch error" 1>&2 exit 1 fi