Удаленная оболочка в Linux

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

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

1 ответ

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

Попробуйте это вместо этого. -n возможность rsh говорит не читать со стандартного ввода.

while read line
do
    rsh -n -l $line 'hostname;id'
done <TestFIle
Другие вопросы по тегам