<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                >[success] # shell -- 位置參數變量 | 位置參數變量 | 作用 | | --- | --- | | $n | n為數字,$0代表命令本身,$1-$9代表第1到第9個參數,10以上的參數需要用大括號包含,如${10} | | $\* | 這個變量代表命令中所有的參數,$\*把所有的變看數看成一個整體 | | $@ | 這個變量也代表命令行中所有的參數,不過$@把每個參數進行區分 | | $# | 這個變量代表命令行中所有參數的個數 | | $? | 最后一次執行的命令的返回狀態。0表示正確執行,非0表示不正確執行 | | $$ | 當前進程的進程號(PID) | >[danger] ##### 案例 編寫下面的代碼,并保存為 test.sh: ~~~ #!/bin/bash echo "Process ID: $$" echo "File Name: $0" echo "First Parameter : $1" echo "Second Parameter : $2" echo "All parameters 1: $@" echo "All parameters 2: $*" echo "Total: $#" ~~~ 運行 test.sh,并附帶參數: ~~~ [mozhiyan@localhost demo]$ . ./test.sh Shell linux Process ID: 5943 File Name: bash First Parameter : Shell Second Parameter : Linux All parameters 1: Shell Linux All parameters 2: Shell Linux Total: 2 ~~~ >[danger] ##### Shell $\*和$@之間的區別 [案例來自文章 Shell $\*和$@之間的區別 ](http://www.beylze.cn/shell/707.html) ~~~ $\* 和 $@ 都表示傳遞給函數或腳本的所有參數,我們已在《[shell](http://www.beylze.cn/shell/)特殊變量》一節中進行了演示,本節重點說一下它們之間的區別。 當 $\* 和 $@?不被雙引號`" "`包圍時,它們之間沒有任何區別,都是將接收到的每個參數看做一份數據,彼此之間以空格來分隔。 但是當它們被雙引號`" "`包含時,就會有區別了: * `"$*"`會將所有的參數從整體上看做一份數據,而不是把每個參數都看做一份數據。 * `"$@"`仍然將每個參數都看作一份數據,彼此之間是獨立的。 比如傳遞了 5 個參數,那么對于`"$*"`來說,這 5 個參數會合并到一起形成一份數據,它們之間是無法分割的;而對于`"$@"`來說,這 5 個參數是相互獨立的,它們是 5 份數據。 如果使用 echo 直接輸出`"$*"`和`"$@"`做對比,是看不出區別的;但如果使用 for 循環來逐個輸出數據,立即就能看出區別來。 ~~~ * 關于 for 循環的用法請猛擊:Shell for循環和for int循環詳解 編寫下面的代碼,并保存為 test.sh: ~~~ #!/bin/bash echo?"print?each?param?from?\"\$*\"" for?var?in?"$*" do ????echo?"$var" done echo?"print?each?param?from?\"\$@\"" for?var?in?"$@" do ????echo?"$var" done ~~~ 運行 test.sh,并附帶參數: ~~~ \[mozhiyan@localhost demo\]$ . ./test.sh a b c d print each param from "$\*" a b c d print each param from "$@" a b c d ~~~ 從運行結果可以發現,對于`"$*"`,只循環了 1 次,因為它只有 1 分數據;對于`"$@"`,循環了 5 次,因為它有 5 份數據。
                  <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>

                              哎呀哎呀视频在线观看