<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                總第2篇 ## 基本概念 ### 命名 注意以下規則: - 只能包含字母、數字和下劃線,并且不能以數字開頭 - 大小寫敏感 - 不能和系統變量重名 除此以外,如果要導出為全局變量,名稱最好要全部大寫。這只是一種習慣的約定,并非嚴格的約束。 ### 類型 幾乎所有的編程語言都有變量的概念,Bash當然也不例外。說道變量就少不了說一說類型。但與其他語言不同的是Bash屬于無類型語言,如果強要說一種類型,可以認為都是字符串。說到這里,你可能會說,Bash里面也有整數類型吧,好像有整數的運算。但其是通過一些運算符,表達式或者命令將字符串視作整數處理的,其本質還是字符串。 ### 新建變量 Bash中的變量和其他腳本語言一樣,都是無需聲明,**直接拿來用**的。所以變量的第一次出現都是伴隨著初始化的。關于***初始化***本文第二部分有詳細介紹。 ### 取用變量 變量前加一個 ***$***符號。稱作dollar符,就是美元符號。這是最基本的一種取用方式,其他的方式以后再表。 ~~~ a="hello world" echo $a ~~~ 終端會打印出 hello world。當然你可以把變量和常量字符串放到一起來打印,比如 ~~~ boy=Jelly echo "$boy:hello world!" ~~~ 結果為Jelly:hello world! ## 初始化/賦值 Bash中的變量由于無需聲明,所以第一次出現都會伴隨初始化。Bash中的變初始化(或賦值)方式共有三種:直接賦值、讀取輸入和命令替換。 ### 直接賦值 直接賦值就是使用一個等于號了,這在其他編程語言里也很常見,比如: ~~~ a=123 b=abc c=‘123’ d=“hello world” ~~~ 注意空格 需要注意的是**等號左右不能有空格**!!!有其他語言編程經驗的程序員,可能經常通過增加空格來使代碼變得美觀。然而這在Bash中是不允許的。 存在的即是合理的,這樣限制的道理是,如果你寫作 a = 123。那么系統會將視作你在執行一個命令a 而= 和123都是這個命令的參數。能夠直接在腳本內部調用各種系統命令是Bash的與眾不同之處,并且沒有硬性的規定說過等于號=不能作為命令的參數。 關于引號 其次要理解的是,由于剛才說過的所有變量都可視作字符串,所以其實a=123和a=“123”沒什么不同。不過如果你的變量**包含空格**就一定需要用引號來包裹了。 關于單引號和雙引號一般情況下作用相同,除了某些特殊情況: ~~~ a="I'm Jelly" b='Jelly:"Hi"' echo $a echo $b ~~~ 當字符串中含有單引號那么外面要用雙引號,反之亦然。 ### 讀取輸入 讀取終端的輸入給變量賦值,就是使用read命令。read和echo一樣都是內嵌命令。直接看代碼: ~~~ echo -n "Please Input your name:" read name echo "Hi,$name,welcome to uncle Jelly's cabin!" ~~~ ![](https://box.kancloud.cn/2016-02-19_56c6cdb2117eb.jpg) 或者可以使用read命令的 -p 選項來簡化上述代碼: ~~~ read -p "Please Input your name:" name echo "$name,welcome to uncle jelly's cabin!" ~~~ 直接結果與前面的代碼相同。關于read命令的更多用法,請自行 man read![偷笑](https://box.kancloud.cn/2016-01-18_569ca4488de4a.gif) 。 ### 命令替換 這是非常實用的一種初始化或賦值的方式。利用其他命令的輸出來給一個變量賦值。這需要用到反引用符號**` `這是數字鍵1左邊的符號,可不是單引號。** ~~~ dir=`pwd` tim=`date` echo "我在$dir目錄下" echo "現在時間是$time" ~~~ 這里調用了pwd和date兩個命令。你可以直接在終端鍵入這兩個命令試試,看看打印結果。反引號就是把這個結果給賦值了。 注意 有的命令的打印結果是一行一行的,但是使用反引號賦值的時候,變量是不會保存\n符的,會以空格來替換掉這些換行符,這樣再echo的時候會發現原先的每一行都打印到了一行。懶得貼代碼了,大家直接看這個過程的截圖吧: ![](https://box.kancloud.cn/2016-02-19_56c6cdb227f28.jpg) 除此之外,還有另外一種命令替換的格式——$( ) 比如上面的內容可寫作 ~~~ dir=$(dir) tim=$(date) ~~~ **兩種替換方式的區別在于: 內部需要進行轉義才能嵌套使用命令替換如a=`cmd1 `cmd2``,是錯誤的,需要**a=`cmd1 \`cmd2\``。而$()可以直接a=$(cmd1 $(cmd2))。 此外一些其他特殊字符,在` `內部也需要轉義。** ### 其他 其他初始化的方式,比如用一些特殊的變量。舉一例RANDOM,這是一個特殊的變量,你每一次 echo $RANDOM。打印的結構都不一樣。當然你可以用它來實現給變量賦隨機值。 ~~~ a=$RANDOM b=$RANDOM c=$RANDOM ~~~ 自己打印一下這三個變量的值吧。 看懂了嗎?本期教程結束,下次再見![再見](https://box.kancloud.cn/2016-01-25_56a5a366e5bcb.gif) 。 本系列(玩轉Bash腳本)更多文章,請訪問:[http://blog.csdn.net/column/details/wanbash.html](http://blog.csdn.net/column/details/wanbash.html)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看