嘗試將以下Perl單線程整合到shell腳本中。此代碼在Perl腳本中工作,但不能作爲從shell腳本執行的單行程序。如何使用Perl :: Net :: Ping單線程來ping主機?
我試着用真正的主機名替換$host
,但沒有運氣。
#!/bin/ksh
hosts="host1 host2 host3"
PERL=/usr/bin/perl
# Check to see if hosts are accessible.
for host in $hosts
do
#echo $host
$PERL -e 'use Net::Ping; $timeout=5; $p=Net::Ping->new("icmp", $timeout) or die bye ; print "$host is alive \n" if $p->ping($host); $p->close;'
done
? – 2010-10-18 15:24:46
我將它集成到一個已經寫好的shell腳本中,我並不關心它的移植。這可以作爲一種方便,持續快速(即不掛起)跨平臺工作的單線程。 – 2010-10-18 16:00:28