【发布时间】:2016-03-03 23:02:02
【问题描述】:
我想为 10 台服务器执行 rsh,我已将登录名和服务器名称保存在一个文件中,并尝试使用以下代码运行该文件。但它显示第一行的输出而不是其他行的输出。
while read line
do
rsh -l $line 'hostname;id'
done <TestFIle
【问题讨论】:
我想为 10 台服务器执行 rsh,我已将登录名和服务器名称保存在一个文件中,并尝试使用以下代码运行该文件。但它显示第一行的输出而不是其他行的输出。
while read line
do
rsh -l $line 'hostname;id'
done <TestFIle
【问题讨论】:
rsh 不断读取其标准输入并将其发送到远程,
所以rsh 的第一次调用将读取文件的第二行到最后一行并将它们发送到第一台服务器。 (即使服务器上的命令实际上并没有读取它们的标准输入,它也会这样做。)没有什么要读取的,read 循环将结束。
试试这个。 rsh 的 -n 选项告诉它不要从标准输入读取。
while read line
do
rsh -n -l $line 'hostname;id'
done <TestFIle
【讨论】: