Bash X時間内にコマンドが完了しない場合はどうなりますか?

Bash X時間内にコマンドが完了しない場合はどうなりますか?

私は次のようなものを実行しようとしています:

sudo dhclient $wifi || otherFunction

問題は、dhclient失敗するとエラーが発生するのではなく中断されることです。

60秒以内に完了しない場合は、終了して呼び出すためにdhclient上記のコードをどのように書き換えることができますか?otherFunctiondhclient

ベストアンサー1

あなたのラベルはすべてを提供します。

sudo timeout 60 dhclient $wifi || otherFunction

一例:

sudo timeout 3 sleep 5 || echo finished early

これは以下を使用します。タイムアウトユーティリティLinuxのGNU coreutilsパッケージで提供されています。

おすすめ記事