2

Как часть plist, который я пишу для OS X, мне нужно выполнить команду "say", если беспроводная сеть успешно удалена, используя:

networksetup -removepreferredwirelessnetwork

Если сеть не удалена, она выдает:

Network (network name) was not found in the preferred networks list

В настоящее время у меня есть:

networksetup -removepreferredwirelessnetwork en1  &&  say "Network deleted"

(где en1 - имя сетевого интерфейса), но в нем по-прежнему указано "Сеть удалена", даже если сеть не удалена.

Мысли?

1 ответ1

1

Это означает, что networksetup ведет себя не очень хорошо и возвращает 0 независимо от сообщения об ошибке. Этот код напечатает код возврата 0 в обоих случаях:

networksetup -removepreferredwirelessnetwork en1 ; echo $?

Решение состоит в том, чтобы проанализировать вывод:

networksetup -removepreferredwirelessnetwork en1 2>&1 | grep -q "was not found in the preferred networks list" && say "Network deleted"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .