<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 1429字,需瀏覽 3分鐘

           ·

          2022-05-10 08:20

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

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

          0. 等號周圍沒有空格

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

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

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

          name?=?"Yang"

          這里會有一個錯誤:

          -bash:?name:?command?not?found

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

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

          name="Yang"

          1.正確地定義數(shù)組

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

          names=("Yang"?"Elon"?"Bill")

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

          names=("Yang","Elon","Bill")

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

          2.正確選擇引號

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

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

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

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

          例如,讓我們聲明 3 個變量,如下所示。那么,truth1truth2 有什么區(qū)別呢?

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

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

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

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

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

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

          file_list=`ls`

          或者

          file_list=$(ls)

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

          4. 避免使用特殊名稱

          一些名稱在 Linux 中被預定義為環(huán)境變量,如 USER、HOME、PATH 等。我們可以使用 printenv 命令列出它們。

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

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

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

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


          瀏覽 46
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  轻轻操影院| 国内精品人妻无码久久久影院蜜桃 | www.91偷拍 | 久久久久黄色片 | 淫淫五月天婷婷 |