我想回顯文本並遠程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