1.15运行命令直至执行成功

网友投稿 598 2022-09-26

1.15运行命令直至执行成功

1.15运行命令直至执行成功

在日常工作中使用shell时,有时候命令只有满足某些条件或是某种外部事件,操作才能够成功执行,这种情况下,你可能系统重复执行命令,直至成功为止。

1、按照以下方式定义函数:

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

或者把它放入shell的rc文件,更便于使用:

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

2、工作原理

创建了一个函数repeat,它包含了一个无限while循环,该循环执行以参数形式(通过$@访问)传入函数的命令。如果命令执行成功,则返回,进而退出循环。

3、补充内容

a、一种更快的做法

大多数现代系统中,true是作为/bin中的一个二进制文件来是实现的,这就意味着每执行一次while循环,shell就不得不生成一个进程。如果不想这样,可以使用shell内建的“:”命令,它总是会返回为0的退出码:

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

b、增加延时

假设要用repeat()从internet上-一个暂时不可用的文件,不过这个文件只需要等一会儿就能-,方法如下

repeat wget c :;do $@ && return;sleep 30;done}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring中@RequestParam使用及遇到的一些坑
下一篇:小试牛刀-1.9获取终端信息1.10获取、设置日期和延时
相关文章

 发表评论

暂时没有评论,来抢沙发吧~