2016-12-30 2 views
1

Я использую команду arping, чтобы найти дублирующие IP-адреса в сети, прежде чем назначать ее на свое устройство. Я использую эту командуarping не работает при вызове из сценария

arping -D -I ${NET_DEVICE} -c 10 ${IPADDR}

После этого я проверяю с $? для ответа и решает, если он дублируется или нет.

Проблема заключается в том, что эта команда возвращает not duplicated, когда я называю это из моего сценария network_reset. Когда я называю это индивидуально снаружи, он работает отлично.

Любые предложения приветствуются.

+0

Какая арпировка это? Там по крайней мере два. – Thomas

+0

@Thomas> извините. Я начинающий. Я не знаю больше, чем один. Я следил за этой следующей справочной страницей https://linux.die.net/man/8/arping –

ответ

1

У меня были подобные проблемы с программами, которые работают в обработчиках сигналов. Я получил другое поведение в командной строке по сравнению с тем, что выполняется внутри скрипта.

Я вижу, что iputils-arping, которое вы, вероятно, используете, похоже, нарушает POSIX так же, как я видел. См. signal(7) для списка разрешенных функций. iputils-arping использует еще много.

Это может быть причиной того, что вы видите.

Вы можете попробовать portable arping.

Смежные вопросы