Bash
設置無限參數的整數個數
我不太確定我在這裡做什麼,但我需要能夠獲得無限數量的整數作為參數提供
到目前為止我有
for sum in $@; do sum=$(($1 + $2 + $3)) done echo $sum
輸出是
5
我的理解是它在這裡採用了位置參數,但是我怎樣才能讓它做盡可能多的事情呢?
但是當我嘗試添加更多數字時
1 2 3 4
什麼也沒發生,它只是說
5
我需要能夠允許它遍歷無限數量的整數
當您執行此操作時,將依次
for sum in $@
將變數$sum
設置為每個值。你可以通過一個簡單的測試看到這一點
for lp in $@ do echo $lp done
如果您使用“10 20 30 40”作為參數執行它,那麼您會看到它依次輸出每個值。
所以你需要的是一個帶有臨時變數和值總和的循環
sum=0 for lp in $@ do sum=$(( sum + lp )) done echo $sum