有时候有些命令只有当某些事件触发后才能成功执行,我们可以重复执行命令直到成功。
repeat(){ while true; do $@ && return; done }
以上函数含义为只有当传入的命令参数$@执行成功时才return。
更快的一种方式:
repeat(){ while :; do $@ && return; done }
因为true是在/bin中一个二进制文件实现的,每执行一次就要生成一个进程,因此可以使用 “:”命令,它总是返回退出码0。
可以增加sleep语句使其每隔多少秒运行一次。