LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 961|回复: 5

while 循环疑问

[复制链接]
发表于 2008-5-21 21:40:12 | 显示全部楼层 |阅读模式
cat file
hostname1
hostname2

i=0
while read line
do
ssh $line uptime
i=$(expr $i + 1)
done<file

执行结果只显示hostname1 的uptime信息。

请问如何显示文件中所有hostname的相关信息。
比如下面这段语句,就可以显示文件中的所有hostname.

while read line
do
echo $line
done<file

谢谢!
发表于 2008-5-21 23:14:53 | 显示全部楼层
能把所有的$line打印出来吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-21 23:59:17 | 显示全部楼层
可以打印把文件里的所有行都打印出来。echo $line
但是如果执行 ssh $line uptime 就只显示第一个hostname.

如果用for就完全没有问题。

谢谢
回复 支持 反对

使用道具 举报

发表于 2008-5-22 10:10:48 | 显示全部楼层
重定向ssh $line uptime这行
改成
ssh $line uptime </dev/null
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-23 16:20:21 | 显示全部楼层
Post by ocean390;1853206
重定向ssh $line uptime这行
改成
ssh $line uptime </dev/null


可以的。

顺便问一下,为什么重定向就可以了?

谢谢
回复 支持 反对

使用道具 举报

发表于 2008-5-23 17:38:40 | 显示全部楼层
这个我也不太清楚,本来我也想弄清楚,可是浏览了ssh的源代码也没找打答案
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表