Answers:
您的超时标记可以解决所有问题:
sudo timeout 60 dhclient $wifi || otherFunction
一个例子:
sudo timeout 3 sleep 5 || echo finished early
它使用Linux上GNU coreutils软件包提供的超时实用程序。
timeout
对于MacOS:stackoverflow.com/a/21118126/451480
timeout
杀死命令(而不是由于其他原因导致命令失败),请检查退出状态
使用timeout
。
timeout 2 sleep 1
echo $?
0
timeout 1 sleep 2
echo $?
124
使用timeout
打包gtimeout
的coreutils
端口brew
:
brew install coreutils
gtimeout --help
这将与/usr/local/bin
您一起使用PATH
。如果要使用timeout
原始名称,请添加/usr/local/opt/coreutils/libexec/gnubin
到中PATH
。