2016-03-03 2 views
-2

Я хочу сделать rsh для 10 серверов, я сохранил имя входа и сервера в один файл и попытался запустить этот файл, используя код ниже. Но он показывает вывод первой строки не для других строк.Удаленная оболочка в Linux

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

ответ

0

rsh непрерывно читает стандартный ввод и отправляет его на удаленный, поэтому первый вызов rsh будет читать второй через последние строки файла и отправить их на первый сервер. (Это будет сделано, даже если команды на сервере фактически не читают их стандартный ввод.) Если ничего не осталось прочитать, цикл read затем закончится.

Попробуйте это вместо этого. Опция -n для rsh говорит, что она не читается со стандартного.

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

Спасибо, что это работает :) – Nitin

Смежные вопросы