shell函數function使用return和echo作用區別


Shell函數返回值,常用的兩種方式:returnecho

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)用$?來接收函數的執行狀態,但是$?要緊跟在函數調用處的后面。

 

參考文章:shell函數(調用、返回值,返回值獲取)


免責聲明!

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



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