Re: [問題] 如何讓Shell Script裡的函數return 字串?

看板LinuxDev作者 (N=NP)時間16年前 (2009/01/17 23:14), 編輯推噓4(405)
留言9則, 4人參與, 最新討論串4/4 (看更多)
在此非常謝謝 dozer 與 phterry 在這過程中,原來我有弄錯了一些地方,導致當初誤以為$() + echo 的作法不行。 原來,$() 與 echo的搭配就能夠達到字串回傳的效果。 若不是您們的幫忙,我想會一直耗在錯誤的點上思考,非常感謝^_^。 關於 Shell Script 與函數的使用, 在此小弟用個簡單的遞迴的fibonacci函數作個總結… 我寫了小例子,希望能藉此幫助 C/C++ programming 背景的人員, 能夠快速上手 Bash 的模組化。 程式碼開始 === #!/bin/sh function fibonacci() #func(uint n=0) { local n=${1:-0} if [ $n -eq 0 -o $n -eq 1 ]; then echo 1 else echo $(( $(fibonacci $(($n-1)) ) + $(fibonacci $(($n-2)) ) )) fi return 0 } #fibonacci() function main() #func(void) { local val=0 local val_max=5 while [ $val -lt $val_max ] do echo "fibonacci($val)=$(fibonacci $val)" let val=$val+1 done } #main() main 程式碼結束 === -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.8.120 ※ 編輯: milochen 來自: 61.230.8.120 (01/17 23:15) ※ 編輯: milochen 來自: 61.230.8.120 (01/17 23:15)

01/18 11:32, , 1F
讚耶!另外不知道你有沒有看過這個
01/18 11:32, 1F

01/18 11:33, , 2F

01/18 11:33, , 3F
如果非要認真的寫bash script 這些tips還蠻有用的
01/18 11:33, 3F

01/18 12:53, , 4F
(拍手)
01/18 12:53, 4F

01/19 21:54, , 5F
其實我是自修蔣大偉編譯的那本 Bash Shell 入門。
01/19 21:54, 5F

01/19 21:55, , 6F
另一本當作是字典用 :)
01/19 21:55, 6F

01/20 01:00, , 7F
這裡有個變形,也是 shell + 遞迴
01/20 01:00, 7F

01/20 09:12, , 9F
So Cool! ^__^
01/20 09:12, 9F
文章代碼(AID): #19SVN1PV (LinuxDev)
文章代碼(AID): #19SVN1PV (LinuxDev)