Tôi muốn viết một tập lệnh, sẽ tiếp tục kiểm tra xem có bất kỳ thiết bị nào trong mạng, có thể trực tuyến cả ngày, thực sự trực tuyến hay không. Tôi đã cố gắng sử dụng ping, nhưngKiểm tra tính khả dụng của máy chủ bằng cách sử dụng ping trong các tập lệnh bash
if [ "`ping -c 1 some_ip_here`" ]
then
echo 1
else
echo 0
fi
cho biết 1
bất kể tôi nhập địa chỉ ip hợp lệ hay không hợp lệ. Làm thế nào tôi có thể kiểm tra xem một địa chỉ cụ thể (hoặc tốt hơn bất kỳ thiết bị nào từ danh sách địa chỉ IP) đã ngoại tuyến chưa?
Bạn nên cân nhắc sử dụng 'nmap', nó cho phép bạn chỉ định dãy địa chỉ IP. – devnull
FWIW, đoạn mã của bạn hoạt động tốt cho tôi. –
Không phải là câu trả lời cho câu hỏi, nhưng bạn nên sử dụng "$ (ping -c 1 some_ip_here)" thay vì "' ping -c 1 some_ip_here' ". [tham khảo liên kết này để biết thêm thông tin] (http://stackoverflow.com/a/9449788/1547699) – Anubis