2016-03-03 47 views
-2

我想爲10臺服務器執行rsh,我已將登錄名和服務器名保存在一個文件中,並嘗試使用下面的代碼運行該文件。但它顯示的第一行的輸出不適用於其他行。Linux中的遠程Shell

while read line 
do 
    rsh -l $line 'hostname;id' 
done <TestFIle 

回答

0

rsh連續讀取其標準輸入,並將其發送到遠程, 所以rsh第一次調用將通過你的文件的最後一行讀取第二,並將它們發送到第一臺服務器。 (即使服務器上的命令沒有真正讀取它們的標準輸入,它也會這樣做。)沒有剩下可讀的內容,read循環將結束。

試試這個。 選項rsh告訴它不要從標準輸入讀取。

while read line 
do 
    rsh -n -l $line 'hostname;id' 
done <TestFIle 
+0

謝謝這是工作:) – Nitin