課程
/運維&測試
/Linux
/Shell典型應用之主控腳本實現
。。。。。
2017-07-24
源自:Shell典型應用之主控腳本實現 2-2
正在回答
使用[[ ... ]]條件判斷結構,而不是[ ... ],能夠防止腳本中的許多邏輯錯誤。比如,&&、||、<和> 操作符能夠正常存在于[[ ]]條件判斷結構中,但是如果出現在[ ]結構中的話,會報錯。比如可以直接使用if [[ $a != 1 && $a != 2 ]], 如果不適用雙括號, 則為if [ $a -ne 1] && [ $a != 2 ]或者if [ $a -ne 1 -a $a != 2 ]。
支持字符串的模式匹配,使用=~操作符時甚至支持shell的正則表達式。字符串比較時可以把右邊的作為一個模式,而不僅僅是一個字符串,
?[[ ? =~? ]] 是if判斷使用正則表達式的固定格式 ?^ 是行開頭 [0-9]是表示范圍內都是數字 +表示1到多個 $是結尾 ^[0-9]+$ 就是 以數字開頭并結尾的。
以上資料引用自http://blog.csdn.net/taiyang1987912/article/details/39551385以及https://zhidao.baidu.com/question/433044439967176764.html問題最佳答案中的某評論
exit 0 1 2 。。。。。這個是退出碼,就像編寫程序最后return 0一樣,我們可以通過設置不同的退出碼來提示用戶腳本運行到那一步退出的,一般情況下,0代表正確執行后退出,非0代表多多少少有問題,具體是數字幾,都是可以隨便設定的。只要能讓用戶知道具體的退出碼代表啥意思。你可以echo $?來查看上一條命令執行的退出碼。
舉報
應用shell實現案例主控腳本,握如何編寫主控腳本
4 回答exit 退出不了腳本??!
2 回答場景控制腳本課程中的numbers="${numbers} | ${i}"是什么意思?
1 回答vimrc里的&filetype == 'sh',這里的&filetype是什么變量?
3 回答關于 if [[ ! ${execshell =~ ^[0-9]+} ]] 有幾點不清楚的地方?
4 回答腳本里for循環in后面的命令為什么用引號?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-07-26
使用[[ ... ]]條件判斷結構,而不是[ ... ],能夠防止腳本中的許多邏輯錯誤。比如,&&、||、<和> 操作符能夠正常存在于[[ ]]條件判斷結構中,但是如果出現在[ ]結構中的話,會報錯。比如可以直接使用if [[ $a != 1 && $a != 2 ]], 如果不適用雙括號, 則為if [ $a -ne 1] && [ $a != 2 ]或者if [ $a -ne 1 -a $a != 2 ]。
支持字符串的模式匹配,使用=~操作符時甚至支持shell的正則表達式。字符串比較時可以把右邊的作為一個模式,而不僅僅是一個字符串,
?[[ ? =~? ]] 是if判斷使用正則表達式的固定格式 ?^ 是行開頭 [0-9]是表示范圍內都是數字 +表示1到多個 $是結尾 ^[0-9]+$ 就是 以數字開頭并結尾的。
以上資料引用自http://blog.csdn.net/taiyang1987912/article/details/39551385以及https://zhidao.baidu.com/question/433044439967176764.html問題最佳答案中的某評論
2017-07-26
exit 0 1 2 。。。。。這個是退出碼,就像編寫程序最后return 0一樣,我們可以通過設置不同的退出碼來提示用戶腳本運行到那一步退出的,一般情況下,0代表正確執行后退出,非0代表多多少少有問題,具體是數字幾,都是可以隨便設定的。只要能讓用戶知道具體的退出碼代表啥意思。你可以echo $?來查看上一條命令執行的退出碼。