Linux Shell 學習筆記

來源:互聯網
上載者:User

標籤:style   blog   color   使用   for   ar   div   代碼   

2.return與exit區別

  • return 表示從被調函數返回到主調函數繼續執行,返回時可附帶一個傳回值,由return後面的參數指定,當然如果是在主函數main, 自然也就結束當前進程了,如果不是,那就是退回上一層調用。
  • exit(0)表示正常退出執行程式,如果加其它的數值:1,2,....可以表示由於不同的錯誤原因而退出 。 
  • main函數中exit(0)等價於return 0。

1. Linux下一條命令或一個進程執行完成會返回一個一個狀態代碼。

0 === 成功執行 非0 === 執行過程中出現異常或非正常退出
  • 在Shell指令碼中 最後執行的一條命令將決定整個shell指令碼的狀態.
  • shell的內部命令exit也可以隨時終止shell指令碼的執行,返回Shell指令碼的狀態代碼 。
  • 當shell指令碼執行結束前的最後一個命令是不帶參數的exit ,那麼 shell指令碼的最終傳回值 就是 exit 語句前一條語句的傳回值,根據這個值可以判斷指令碼成功執行與否。
  • $? 可以查看 最後一條命令的傳回值 該變數可以在shell 指令碼中的任何地方使用.

2段範例程式碼

#! /bin/bashecho "please input the branch you want to compare"read $MY_BRANCHfor i in $(cat list)do        git-diff --quiet $MY_BRANCH $i    [--quiet 選項的意思是不要輸出比較後各個diff出來的結果]        if [ $? -eq 0 ]        [$? 就是上一條命令執行的狀態代碼]        then              echo $i        fidone
#!/bin/bashif [ ! -n "$1" ] ;then    echo "sqoop1.sh missing 1 parameter:db.properties."    echo "Usage: ./xxx.sh db.properties"    exit 2else    echo "the sqoop season  is running..."    eval `cat ./db.properties`    sqoop import --append --connect $url --username $username --password $password --target-dir $targetDir --m $num --table $table --fields-terminated-by ‘$deco‘ --where " CUR_DATE LIKE ‘$Jan%‘ OR CUR_DATE LIKE ‘$Feb%‘ OR CUR_DATE LIKE ‘$Mar%‘" > logSqooq1.log 2>&1
# exit 200fi

對上面第2個shell指令碼的說明:

1.進入if,傳回值是2;如果進入else;如果所有的sqoop命令運行正常,傳回值是0,如果sqoop命令執行有異常,傳回值是非0。

2.如果第11行添加 exit 200,那麼無論sqoop語句執行異常與否,傳回值都是200。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.