Ich versuche so etwas wie:
sudo dhclient $wifi || otherFunction
Das Problem ist, wenn es dhclient
fehlschlägt, hängt es nur, anstatt einen Fehler zu werfen.
Wie kann ich das oben Gesagte umschreiben, damit dhclient
es getötet und otherFunction
aufgerufen wird, wenn dhclient
es nicht in 60 Sekunden fertig ist?
timeout
für MacOS: stackoverflow.com/a/21118126/451480timeout
der Befehl beendet wurde (im Gegensatz dazu, dass der Befehl aus anderen Gründen fehlschlägt), prüfen Sie, ob der Exit-Status 124Verwenden Sie
timeout
.quelle
Verwenden Sie die
timeout
verpackte wiegtimeout
mit demcoreutils
Port inbrew
:Das klappt mit
/usr/local/bin
dirPATH
. Wenn Sietimeout
wie ursprünglich benannt verwenden möchten , fügen Sie/usr/local/opt/coreutils/libexec/gnubin
Ihrer hinzuPATH
.quelle