Linux shell break、continue、exit、return的用法 及exit、return的區別


for ((i=1;i<5;i++ ))
do
  if [ $i -eq 3 ]
  then
  #  break
  #  continue
  #  exit
  fi
  echo $i
done
echo OK
輸出的結果
break的結果
1
2
OK
continue的結果
1
2
4
OK
exit的結果
1
2

上面的腳本可以看出:

break 表示跳出整個循環。

continue 表示跳出本次循環,繼續下一次循環。

exit 退出shell程序,並返回n值。

return 表示函數返回值 (注意return命令不能直接用在腳本的主程序里) 

#!/bin/bash
dir=/root/shell

grep -e '^ .*cp ' -e '^cp' $dir/*  >Cp_Check.txt

if [ ! -s Cp_Check.txt ]
  then
  return 0
  fi

 直接執行腳本是會報錯的

    return: can only`return' from a function or sourced script

   當前用source或.(點)執行。

return 與 exit的區別:

1、exit用於在程序運行的過程中隨時結束程序,exit的參數是返回給OS的。exit是結束一個進程,它將刪除進程使用的內存空間,同時把錯誤信息返回父進程。而return是返回函數值並退出函數

2、return是語言級別的,它表示了調用堆棧的返回;而exit是系統調用級別的,它表示了一個進程的結束。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM