【发布时间】:2011-04-23 13:54:53
【问题描述】:
我想回显文本并远程 ping 计算机并将输出发送到日志文件。我还需要并行执行此操作,但我在如何将输出发送到日志文件时遇到了一些问题。
我希望输出看起来像: 主持人 |主机到 | ping 命令的结果
但由于我将此作为后台进程运行,因此它正在输出: 主机主机到主机主机到 rtt rtt rtt 等等……
有没有办法让它成为一个后台进程,但让它成为该进程的一部分,所以日志文件不会乱序?
这是我的脚本,提前致谢!
for host in `cat data/ips.txt`; do
echo -n "$host ";
for hostTo in `cat data/ips.txt`; do
{
echo -n "$host $hostTo " >> logs/$host.log;
(ssh -n -o StrictHostKeyChecking=no -o ConnectTimeout=1 -T username@$host ping -c 10 $hostTo | tail -1 >> logs/$host.log) &
};
done;
done
【问题讨论】:
-
假设 ips.txt 每行包含一个 IP 地址,您可以避免使用
while read -r host ; do ... ; done < data/ips.txt的 UUOC -
谢谢,我会试试的,皮奥拉德先生。