linux while中使用read的问题
发布网友
发布时间:2022-04-23 18:18
我来回答
共1个回答
热心网友
时间:2023-01-22 12:23
1、while使用重定向机制,ip.txt文件中的信息都已经读入并重定向给了整个while语句。所以当我们在while循环中再一次调用read语句,就会读取到下一条记录。问题就出在这里,ssh语句正好回读取输入中的所有东西。为了禁止ssh读所有东西增加一个<
/dev/null,将ssh
的输入重定向输入
while
read
ips;
do
echo
$ips;
upt=`ssh
root@${ip1}
uptime
<
/dev/null;`;
echo
$upt;
done
<
ip.txt;
2、用for
for
ips
in
`cat
ip.txt`;
do
echo
${ips};
upt=`ssh
root@${ips}
uptime`;
echo
$upt;
done