shell 腳本初探

最近在工作中用到了shell 腳本,學會了一些簡單的語法。分享如下。

  1. 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 
    
    1. 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 
    
    1. 異常處理
    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
    

參考文檔

1. Shell重定向

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 個人學習批處理的初衷來源于實際工作;在某個迭代版本有個BS(安卓手游模擬器)大需求,從而在測試過程中就重復涉及到...
    Luckykailiu閱讀 4,992評論 0 11
  • 第1章 小試牛刀 $ 是普通用戶,# 表示管理員用戶 root。 shebang:#!。sharp / hash ...
    巴喬書摘閱讀 6,675評論 1 4
  • 建立一個腳本 Linux中有好多中不同的shell,但是通常我們使用bash (bourne again shel...
    某人在閱讀 2,118評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現,斷路器,智...
    卡卡羅2017閱讀 136,635評論 19 139
  • 曾經有一份美好的愛情放在我的面前我沒有珍惜。等到失去后才后悔莫及。如果可以再對小李說。毛欣想說。這輩子無緣再牽手。...
    毛欣與小李閱讀 3,363評論 0 13

友情鏈接更多精彩內容