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