Shell指令碼中 for迴圈中的乙個小問題

2021-09-13 13:17:06 字數 684 閱讀 7340

起初是想編寫乙個shell指令碼,在主節點master上執行,效果是ssh到各從節點,然後關閉,

結果後面發現,我將shutdown命令換行再寫之後就出現了問題,它ssh到從節點之後,又會返回主節點,

這時候才執行第二行命令。就很納悶,期間它ssh到節點1之後,我還要給他手動exit,然後主節點就shutdown了。

為此,我重新編寫了個指令碼,迴圈裡面,第二行去echo 一些資訊,如下:

這個時候,就發現程式是先ssh到節點上,然後卡住,你幫他主動退出之後才會接著執行第二行,而且就算有什麼輸出資訊也會輸出到編寫指令碼的機器上。

原因是:

命令的執行是從上而下、從左而右的分析與執行;

如果想要兩行緊接著執行, 就加乙個字元 「\」在第一行的末尾,第二行接著寫命令。

這樣就好了。

tips:在編寫指令碼的時候, 縮排最好不要用tab,而是用四個空格。  

Shell指令碼中的迴圈語句

這裡包括for while until迴圈,以及變數自增的語法例項。一 for迴圈語句 例項1.1 最基本的for迴圈 傳統的形式,for var in 1 bin bash 2for x in one two three four3do 4echo number x 5 done 執行結果 1 r...

shell指令碼 for迴圈

迴圈語句 while對於要求控制迴圈次數 操作物件按數字順序編號,按特定條件執行重複操作。重複測試某個條件時,只要條件成立就會反覆執行 無限 除非強制終止,或者exit語句退出指令碼 for迴圈語句 需要指定乙個變數以及可以取值的取值列表,針對每乙個不同的取值執行相同的命令序列,直到變數值用盡,退出...

shell指令碼 迴圈

迴圈有三種for,while,until,前兩種多種語言都有,大同小異,最後那種用的少,咱們就不說了 老規矩,上來先看 塊 root localhost scripts bash ceshi.sh 12 3456 78910 root localhost scripts cat ceshi.sh b...