您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“shell怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“shell怎么用”這篇文章吧。
一、shell腳本開始設定
#!/bin/bash set -o nounset set -o errexit
(1) set -o nounset
遇到不存在的變量,終止腳本的執行。shell腳本執行時,遇到未定義的變量,往往會繼續執行,這不符合預期,也往往會帶來莫名其妙的問題,增大排查難度。
(2) set -o errexit
執行shell腳本過程中,遇到錯誤,但往往會繼續執行,這不符合預期,加上該設置,shell腳本執行過程中遇到錯誤就會終止腳本的執行。
這兩個設定,都符合fail fast設計理念。
二、封裝函數有必要
封裝可以提高復用。
三、使用readonly和local修飾變量
readonly:顧名思義,只讀。
local:函數內變量。
不僅能提高安全性,還能避免很多讓人崩潰的莫名其妙的錯誤。
四、使用$()代替`(反單引號)
例子:
#!/bin/bash path=`pwd` echo $path echo "`pwd`" echo "$(pwd)"
$()能夠支持內嵌;
$()不用轉義;
五、使用[[]]代替[]
[[]]更符合人性編碼
避免轉義問題;
有不少新功能;
新功能包含但不限于:
|| :邏輯或
&& :邏輯與
< :字符串比較,不需要轉義處理
== :通配符(globbing)字符串比較
=~ :正則表達式(regular expression, RegEx)字符串比較
從bash4.2開始,通配符和正則表達式都不能用引號包起來,所以,通配符和正則表達式加了引號就是字面比較。
所以如果表達式里有空格,必須存儲到一個變量里,再進行通配符與正則的比較。
六、調試方法
1、echo 打印
2、使用 -n 對腳本進行語法檢查。
sh -n myshell.sh
3、使用 -v 跟蹤腳本里的每個命令的執行。
sh -v myshell.sh
4、使用 -x 跟蹤腳本里的每個命令的執行,并附加擴充信息。
sh -x myshell.sh
也可以在腳本里添加如下設定來永久指定輸出調試信息
set -o verbose set -o xtrace
測試完后移除。
以上是“shell怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。