Cố gắng tích hợp một lớp lót Perl sau vào một kịch bản lệnh shell. Mã này hoạt động trong một kịch bản Perl nhưng không phải là một lớp lót được thực thi từ một kịch bản lệnh shell.Làm thế nào tôi có thể ping một máy chủ với một Perl một lớp lót với Net :: Ping?
Tôi đã thử thay thế $host
bằng tên máy chủ thực không có may mắn.
#!/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
Tại sao bạn đang sử dụng perl thay vì chỉ 'ping'? –
Tôi tích hợp điều này vào một kịch bản shell đã viết mà tôi không quan tâm đến cổng. Điều này phục vụ như một thuận tiện, liên tục nhanh chóng (có nghĩa là, nó không treo) một lớp lót hoạt động trên nền tảng. –