1. 程式人生 > >關於shell 中return用法解釋(轉)

關於shell 中return用法解釋(轉)

1、return命令會使得一個函式返回.return命令會返回一個單一的數字引數, 而這個數字引數在呼叫這個函式的指令碼中是可見的.如果沒有指定返回引數,return在預設情況下會返回上一次命令的返回程式碼。
2、瞭解一個概念:return value ﹗
我們在 shell 下跑的每一個 command 或 function ,在結束的時候都會傳回父行程一個值,稱為 return value 。
在 shell command line 中可用 $? 這個變數得到最"新"的一個 return value ,也就是剛結束的那個行程傳回的值。
Return Value(RV) 的取值為 0-255 之間,由程式(或 script)的作者自行定義:
* 若在 script 裡,用 exit RV 來指定其值,若沒指定,在結束時以最後一道命令之 RV 為值。
* 若在 function 裡,則用 return RV 來代替 exit RV 即可。

Return Value 的作用,是用來判斷行程的退出狀態(exit status),只有兩種:
* 0 的話為"真"( true )
* 非 0 的話為"假"( false )

舉個例子來說明好了:
假設當前目錄內有一份 my.file 的檔案,而 no.file 是不存在的:
程式碼:

上例的第一個 echo 是關於 ls my.file 的 RV ,可得到 0 的值,因此為 true ﹔
第二個 echo 是關於 ls no.file 的 RV ,則得到非 0 的值,因此為 false ﹔
第三個 echo 是關於第二個 echo $? 的 RV ,為 0 的值,因此也為 true 。
請記住:每一個 command 在結束時都會送回 return value 的﹗不管你跑什麼樣的命令...