<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## while循環陷阱 ### 案例1 在寫while循環的時候,發現了一個問題,在while循環內部對變量賦值、定義變量、數組定義等等在循環外面會失效,失效案例如下。 ``` #!/bin/bash echo "abc xyz" | while read line do new_var=$line done echo new_var is null: $new_var? ``` 原因,這使得while語句在子Shell中執行,意味著while語句內部設置的變量、數組、函數等在循環外部都不再生效。以下為解決方案。 ``` #!/bin/bash while read line do new_var=$line done <<< "abc xyz" echo new_var is null: $new_var? ``` "&lt;&lt;&lt;" 以這種方式直接在命令之前分配的變量僅對命令進程生效。 案例來源:[https://www.cnblogs.com/f-ck-need-u/p/7431578.html](https://www.cnblogs.com/f-ck-need-u/p/7431578.html) ### 案例2 今天在一些機器上批量執行命令,將10多個IP追加到指定文件中(ip)通過以下Shell方式來批量執行。 ``` #!/bin/bash while read line do ssh $line "command" done < ip ``` 奇怪的是每次執行1行就退出。 網上google以下原因,while read 會從標準輸入讀取1行數據賦值給line變量,在while中循環嵌套ssh,ssh命令就會截取所有標準輸入的數據這就導致read再次讀數據時數據已經被ssh讀取,line變量獲取為空值最終導致循環結束。 解決方式: * 方案1:ssh -n ,其中-n參數含義如下: -n 把 stdin 重定向到 /dev/null \(實際上防止從 stdin 讀取數據\). 在后臺運行時一定會用到這個選項. 它的常用技巧是遠程運行 X11 程序. 例如, ssh -n shadows.cs.hut.fi emacs 將會在 shadows.cs.hut.fi 上啟動 emacs, 同時自動在加密通道中轉發 X11 連接. 在后臺運行. \(但是如果 要求口令或密語, 這種方式就無法工作; 參見 -f 選項.\) * 方案2:ssh "command" &lt; /dev/null * 方案3:或者循環時使用for 案例來源:[http://blog.puppeter.com/read.php?65](http://blog.puppeter.com/read.php?65)
                  <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>

                              哎呀哎呀视频在线观看