Shell函數返回值,常用的兩種方式:return,echo
1) return 語句
shell函數的返回值,可以和其他語言的返回值一樣,通過return語句返回。
Shell 函數返回值只能是整形數值,一般是用來表示函數執行成功與否的,0表示成功,其他值表示失敗。因而用函數返回值來返回函數執行結果是不合適的。如果要硬生生地return某個計算結果,比如一個字符串,往往會得到錯誤提示:“numeric
argument required”。
如果一定要讓函數返回一個或多個值,可以定義全局變量,函數將計算結果賦給全局變量,然后腳本中其他地方通過訪問全局變量,就可以獲得那個函數“返回”的一個或多個執行結果了。
A、如何調用shell函數(執行函數):函數名 參數
B、獲取shell函數結果:$?
C、另外,可以直接用函數的返回值用作if的判斷。(示例3)
注意:return只能用來返回整數值,且和c的區別是返回“0”為正確,其他的值為錯誤。
2) echo 返回值
其實在shell中,函數的返回值有一個非常安全的返回方式,即通過輸出到標准輸出返回。因為子進程會繼承父進程的標准輸出,因此,子進程的輸出也就直接反應到父進程。
總結:所以,可以總結一下函數返回值獲取的方法:
1)用變量接收函數返回值,函數用echo等標准輸出將要返回的東西打印出來。
2)用$?來接收函數的執行狀態,但是$?要緊跟在函數調用處的后面。