本文將介紹Bash中 set -euxo pipefail,它們可以幫助你寫出更容易維護也更安全的腳本。這也是Bash腳本的終極調試手段。 set -e set -e 選項可以讓你的腳本在出現異常時馬上退出,后續命令不再執行。默認情況下Shell腳本不會因為錯誤而結束執行,但大多數情況 ...
有些開發人員會用Bash來實現很復雜的功能,就像使用別的高級語言一樣。他可能覺得自己很牛逼但其他人早就想錘爆他了,Bash的可讀性和可維護性遠遠低於任何高級語言。更要命的是,Bash並沒有方便的調試工具和防錯機制,出了問題你要排查半天。 在Ruby或者Python等高級語言里,你很容易知道錯誤是哪行什么類型的錯誤,還有IDE的Debugger加持。而Bash只能看源碼,通過打印log等非常低效的方 ...
2020-02-15 20:44 0 2079 推薦指數:
本文將介紹Bash中 set -euxo pipefail,它們可以幫助你寫出更容易維護也更安全的腳本。這也是Bash腳本的終極調試手段。 set -e set -e 選項可以讓你的腳本在出現異常時馬上退出,后續命令不再執行。默認情況下Shell腳本不會因為錯誤而結束執行,但大多數情況 ...
set -e表示一旦腳本中有命令的返回值為非0,則腳本立即退出,后續命令不再執行; set -o pipefail表示在管道連接的命令序列中,只要有任何一個命令返回非0值,則整個管道返回非0值,即使最后一個命令返回0. ...
工作中經常在shell腳本中看到set的這兩個用法,但就像生活中的很多事情,習慣導致忽視,直到出現問題才引起關注。1. set -eset命令的-e參數,linux自帶的說明如下:"Exit immediately if a simple command exits with a non-zero ...
1、set -e "Exit immediately if a simple command exits with a non-zero status." 在“set -e”之后出現的代碼,一旦出現返回值非零,整個腳本就會立即退出。 2、set -o pipefail "If set ...
今天一朋友問我一個bash腳本在開頭出現了set -u 和 set -e 兩行是什么作用,我也納悶沒見過這樣的寫法啊於是百度了一下,才發現原來這兩個bash的選項這么有用,這邊記錄下方便以后查閱。 11 12 13 1 2 3 ...
set -x介紹 用於腳本調試,在liunx腳本中可用set -x就可有詳細的日志輸出.免的總是用echo了 結果 set -e介紹 每個腳本都應該在文件開頭加上set -e,這句語句告訴bash如果任何語句的執行結果不是true則應該退出。這樣的好處 ...
更多精彩內容,請關注微信公眾號:后端技術小屋 alias的使用 在日常開發中,為了提高運維效率,我們會用alias(命令別名)來定義命令的簡稱。比如在~/.bash_profile中添加: 執行source ~/.bash_profile之后,這些alias定義便載入到當前終端 ...
Shell 腳本編程 是你在 Linux 下學習或練習編程的最簡單的方式。尤其對 系統管理員要處理着自動化任務,且要開發新的簡單的實用程序或工具等(這里只是僅舉幾例)更是必備技能。 本文中,我們將分享 10 個寫出高效可靠的 bash 腳本的實用技巧,它們包括: 1、 腳本中多寫注釋 這是 ...