久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

關于 Linux Bash Shell 中變量的 5 個易錯點

Linux 中的 Bash 腳本語言支持對變量的操作。但是,如果您從事過其他流行的編程語言開發,那么使用 Bash 處理變量會很容易出錯。因為它的語法與其他語法不同(甚至對某些開發人員來說有點奇怪)。

這篇文章會根據我的經驗給你5個友情提示。閱讀后,它可以幫助您避免不必要的錯誤。

0. 等號周圍沒有空格

對于許多語言,例如 Python,在等號周圍添加空格是一個好習慣,因為它可以提高代碼的可讀性。

但是在 Bash 中,你不應該在定義變量時添加額外的空格。

如果我聲明一個變量?name,如下:

關于 Linux Bash Shell 中變量的 5 個易錯點這里會有一個錯誤:
關于 Linux Bash Shell 中變量的 5 個易錯點

如上所示,Bash 將?name?視為命令而不是變量,因為我添加了不必要的空格。

因此,定義變量的正確方法如下:

關于 Linux Bash Shell 中變量的 5 個易錯點

1.正確地定義數組

在 Bash 中定義一個數組并不難。我們只需要使用一對括號來包含所有元素,如下例所示:

關于 Linux Bash Shell 中變量的 5 個易錯點

俗話說得好,“細節決定成敗"。我之前在編寫 Bash 腳本時犯了一個嚴重的錯誤。我習慣性地使用逗號(而非空格)來分隔數組中的每個元素。

關于 Linux Bash Shell 中變量的 5 個易錯點

Bash 不會將逗號視為分隔符,并且在?names?數組中只有一個元素?Yang,Elon,Bill?而不是預期的三個。

2.正確選擇引號

當我們在 Bash 中聲明一個變量時,關于引號的使用有 3 個可選的方案:

  • 沒有引號
  • 用單引號
  • 用雙引號

默認情況下,Bash 中的每個值都是一個字符串。因此,如果不需要空格,我們就不需要使用任何引號。(同樣,它與其他語言有些不同,在其他語言中,您不能在沒有引號的情況下定義字符串)

當您需要使用引號時,請注意單引號雙引號之間的區別。

例如,讓我們聲明 3 個變量,如下所示。那么,truth1?和?truth2?有什么區別呢?

關于 Linux Bash Shell 中變量的 5 個易錯點

如果你打印它們,你會看到?truth1?是?${name} is amazing.。而?truth2?是?Yang is amazing.

總而言之,一對單引號內的字符串將始終被解釋為它的本身。

3. 避免在命令中使用反引號

在 Bash 中,我們可以將命令的結果保存到變量中。有兩種可能的方法來做到這一點:

  • variable=`command`
  • variable=$(command)

例如,要保存?ls?命令的結果,我們可以這樣寫:

關于 Linux Bash Shell 中變量的 5 個易錯點

或者

關于 Linux Bash Shell 中變量的 5 個易錯點

但是,這里的最佳實踐始終是使用第二種方法,尤其是在編寫較長的腳本時。因為反引號單引號看起來很相似,有時你可能會混淆它們。

4. 避免使用特殊名稱

一些名稱在 Linux 中被預定義為環境變量,如?USERHOMEPATH?等。我們可以使用?printenv?命令列出它們。

顯然,我們不應該用與環境變量相同的名稱來聲明我們的變量。

好消息是 Linux 中所有的環境變量都是用大寫字母寫的,所以我們可以用小寫字母來自定義變量,以區別環境變量。這是一個好習慣。

鏈接:https://medium.com/techtofreedom/5-bug-prone-points-about-variables-in-linux-bash-scripting-61a777d152a

(版權歸原作者所有,侵刪)

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 望奎县| 广安市| 阜南县| 河曲县| 舒兰市| 景洪市| 庄河市| 海城市| 奉贤区| 溧阳市| 读书| 武山县| 潞西市| 重庆市| 肇东市| 洪雅县| 江阴市| 陇川县| 侯马市| 望奎县| 东海县| 诸城市| 舒兰市| 永城市| 平顶山市| 阿拉尔市| 闵行区| 阜新| 昭通市| 耒阳市| 望江县| 偏关县| 嘉义市| 公安县| 文水县| 沙坪坝区| 长丰县| 阳朔县| 巨鹿县| 响水县| 商河县|