Удаленная оболочка в 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