LINUX.ORG.RU
ФорумAdmin

Подскажите как сделать в зависимости от результата выполнения программы выполнялись те или иные действия


0

0

Подскажите как сделать в зависимости от результата выполнения программы ping выполнялись те или иные действия. Если все нормально - одно действие, а если нет - другое. Сразу пришедшие на ум && и || не совсем подходят так как ping при неудачном раскладе ждет ctrl+C для завершения.


>ping при неудачном раскладе ждет ctrl+C для завершения.
ping -c count ?

anonymous
()

ping -c 1 127.0.0.1 && echo ok || echo fail

ananas ★★★★★
()

ping -c 1 127.0.0.1 && echo ok || echo fail - Это конечно клево, но работает только для localhost :) подставляешь реальный IP из сетки , если нормально - ок, а если нет то до fail очередь не доходит :(. Какие будут еще мысли?

vs
() автор топика

и почему же это не доходит-то ? очень даже и доходит.
sasha@as255:~$ ping -c 1 127.0.0.1 > /dev/null && echo ok || echo fail
ok
sasha@as255:~$ ping -c 1 192.168.2.101 > /dev/null && echo ok || echo fail
ok
sasha@as255:~$ ping -c 1 192.168.2.102 > /dev/null && echo ok || echo fail
fail
sasha@as255:~$
 

sasha999 ★★★★
()

Блин, а у меня не работает! В чем может быть дело? RH 7.3

vs
() автор топика

sasha@as255:~$ echo $SHELL
/bin/bash2
sasha@as255:~$
а у тебя что ? больше что-то навскидку на ум ничего не приходит.
да, и в чем проявляется-то что "не доходит" ?

sasha999 ★★★★
()

Проверять $? после завершения программы. Если программа требует клавиатурного ввода и echo не помогает (как в echo 2+3 | bc) то использовать expect

anonymous
()
Ответ на: комментарий от anonymous

в /proc/sys/net/ipv4/icmp_echo_ignore_all - 0 Только это на входящий пинг!

vs
() автор топика

Как это "на входящий?
all - все
т.е. Игнорировать ВСЕ icmp пинг запросы (это если там будет 1), а если 0, то можно :)

anonymous
()

Разрулилось все просто ping -c1 -w1 :) Все равно спасибо всем!

vs
() автор топика

Честно говоря, не знаю про RH7.3, а в ASP7.2 есть такой глюк с пингом, когда задаешь ping -c 100 address , и если несколько пингов потерялись, то ping повисает, сам не выходит и ждет Ctrl+C.

ansky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.