91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

bash函數的小技巧

發布時間:2021-09-15 10:37:14 來源:億速云 閱讀:105 作者:小新 欄目:服務器

這篇文章主要為大家展示了“bash函數的小技巧”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“bash函數的小技巧”這篇文章吧。

bash函數的小技巧

關于bash函數,這里有一些您不知道的東西。通常當你寫一個函數時,你會這樣做:

function name () {
 ...
}

不是嗎?我知道你會這么做,因為這是所有人寫函數的方式。這就是我要說的。在bash中

{…}

并不像在JavaScript或c中那樣意味著“函數的主體”或“函數的范圍”,它實際上是一個復合命令。你可以做各種稀奇古怪的事情,比如:

function fileExists () [[ -f $1 ]]

不需要那些花括號!者你可以這樣做:

function isEven () (( $1 % 2 == 0 ))

這個函數是一個算術計算式。或者你可以這樣做:

function name () (
 ...
)

這將在子shell中生成函數,而不是在當前環境中執行。

或者您可以使用while, if, case, select和for。這里有一個例子:

function sleep1 () while :; do "$@"; sleep 1; done

這個函數將創建一個sleep1函數,該函數將永遠每秒運行一個命令。您可以執行類似sleep1 df -h這樣的操作來監視磁盤的更改。

這些技巧不僅使您的代碼更美觀,還能夠讓您快速的寫出單行bash程序,而且它們也非常有用。如果您需要為您的函數創建一個臨時環境,并臨時更改變量或shell選項,那么它將特別有用。

這是我在代碼中找到的一個例子:

function caseInsensitiveMatch () (
 shopt -s nocasematch
 ....
)

在這里,函數 caseInsensitiveMatch在一個子shell中執行,它能設置nocasematch選項,它的作用域就是這個函數。對于IFS和其他變量,您通常需要臨時更改。你這樣就不需要保存以前的值,然后恢復它們。

以上是“bash函數的小技巧”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節
推薦閱讀:
  1. Helm小技巧
  2. PHP 小技巧

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安岳县| 横山县| 丰宁| 邵阳市| 会泽县| 高州市| 嵊泗县| 宁国市| 墨江| 荔浦县| 刚察县| 铜梁县| 西华县| 交口县| 醴陵市| 天祝| 东兰县| 金华市| 察隅县| 天镇县| 沐川县| 彰化市| 新巴尔虎左旗| 高要市| 晴隆县| 岳池县| 佛冈县| 玛沁县| 鹤庆县| 定安县| 刚察县| 娱乐| 定结县| 兴山县| 灌云县| 密云县| 永顺县| 环江| 察隅县| 四平市| 嘉祥县|