久久国产乱子伦精品免费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. 主站蜘蛛池模板: 嘉祥县| 同心县| 栾川县| 师宗县| 衡阳市| 红安县| 靖安县| 维西| 梓潼县| 浪卡子县| 十堰市| 漾濞| 阳城县| 吉安市| 化隆| 天镇县| 玛曲县| 屯留县| 常熟市| 崇左市| 广宗县| 龙泉市| 芜湖市| 呼玛县| 河津市| 江华| 曲水县| 锡林郭勒盟| 龙江县| 彭州市| 余干县| 岑巩县| 隆子县| 鄂伦春自治旗| 崇礼县| 客服| 饶阳县| 洞头县| 潜江市| 当阳市| 嘉鱼县|