線上書籍

Home

網管技術

https://www.ptt.cc/bbs/LinuxDev/M.1232172161.A.106.html

在 Bash 裡面傳出 string 並不是不可能的, 只是不能用 return 的方式.
您會使用 function 的參數傳入, 相同的, 在 function 裡, 也可以把傳入的參數當做變數傳值到外面去,
舉例來說, 以下的函式 func 會用 date 產生的日期字串傳出來.
function func { STR="`date`" expr "$1=\"$STR\"" }
然而, 用(呼叫)的時候, 像以下這樣,
func var1 echo $var1
需要注意的是,
expr "$1=\"$STR\""
如果寫成 expr "$1=$STR"  也不是不行,
只是如果 $STR 裡有空白字元的話,
空白後面的部份會被解析成命令而發生錯誤.