Bash函數,不同於其他編程語言的函數,它更像一個子程序,即其返回值,只能是一個數字,以0表示成功,非0表示失敗。如果,您在bash函數中想返回除了數字之外的值,就需要自己設計一定的技巧了。今天看到了一篇文章,簡單介紹了三種技巧,筆者翻譯下來,與大家分享。
假設我們想返回一個字符串,最簡單的方法是:
通過一個全局變量myresult,來保存返回值。使用全局變量,其缺點也是不言而喻的。
第二種方法:
將一個shell函數作爲一個子程序調用,將返回值寫到子程序的標準輸出,來達到返回任意字符串的目的。
第三種方法:
這種方法,類似於C++中的通過引用返回函數值的做法。
當然,您還可以結合後兩種方法:
這樣,獲得了最大的靈活。
原文地址:http://www.linuxjournal.com/content/return-values-bash-functions