我想回显文本并远程ping计算机,并将输出发送到日志文件。我还需要并行执行此操作,但我在输出如何发送到日志文件时遇到了一些问题。如何回显文本并将命令输出并行发送到文件
我想输出看起来像: 主机| hostTo | ping命令的结果
但因为我有这个运行作为后台进程是输出: 主机hostTo主机hostTo 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 [email protected]$host ping -c 10 $hostTo | tail -1 >> logs/$host.log) &
};
done;
done
[写入stdout和文件](http://stackoverflow.com/questions/3661070/writing-to-both-stdout-a-file)和[复制标准输出到文件而不停止显示屏幕](http://stackoverflow.com/questions/1356706/copy-stdout-to-file-without-stopping-it-showing-onscreen) – Ether 2010-10-10 23:13:27
假设ips.txt包含每行一个IP地址,您可以避免UUOC用'while read -r host';做...;完成 Benoit 2010-10-11 08:24:13
谢谢,我尝试了Pioulard先生。 – Isawpalmetto 2010-10-11 12:26:39