Linux运行命令直到其成功

有时候有些命令只有当某些事件触发后才能成功执行,我们可以重复执行命令直到成功。

repeat(){ while true; do $@ && return; done }

以上函数含义为只有当传入的命令参数$@执行成功时才return。
更快的一种方式:

repeat(){ while :; do $@ && return; done }

因为true是在/bin中一个二进制文件实现的,每执行一次就要生成一个进程,因此可以使用 “:”命令,它总是返回退出码0。
可以增加sleep语句使其每隔多少秒运行一次。

posted @ 2019-01-22 21:09  epiphanyy  阅读(27)  评论(0)    收藏  举报  来源