repeat()函数


1.定义repeat函数:

repeat()

  {

   while true

   do 

     $@ && return

   done

}

while循环以函数参数形式(通过$@访问)传入命令;执行成功则返回,否则退出。

2.另一种更快捷的方式,把true替换为冒号:

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

在大多数系统中,true是作为/bin中的一个二进制文件来实现的,这就意味着每执行一次while循环,shell就不得不生成一个进程。

为了避免这种情况,可以使用shell内置的命令冒号:,该命令的退出状态总是为0。尽管可读性不高,但是肯定执行速度快得多。

3.加入延时

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

每30秒才执行一次。

结束。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM