#! /bin/bash
sum=0
for number in $*
do
x=$((sum + number))
echo $x
done
我只是試圖創建一個名爲「add」的腳本,它將在執行時添加位置參數。它不是添加數字,而是簡單地將它們顯示爲循環。例如。無法弄清楚如何在bash循環中執行算術(for)
$ add 1 2 3 4 5 6
1
2
3
4
5
6
我在做什麼錯了?
#! /bin/bash
sum=0
for number in $*
do
x=$((sum + number))
echo $x
done
我只是試圖創建一個名爲「add」的腳本,它將在執行時添加位置參數。它不是添加數字,而是簡單地將它們顯示爲循環。例如。無法弄清楚如何在bash循環中執行算術(for)
$ add 1 2 3 4 5 6
1
2
3
4
5
6
我在做什麼錯了?
您從不更新sum
。你的意思是?
sum=0
for number in "[email protected]"; do
sum=$((sum + number))
echo "$sum"
done
(該echo $sum
進入外循環,如果你只想要一個最後的總和,而不是運行總計,寫到標準輸出。)
順便說一句,'爲$ *號'通常是一個代碼嗅覺 - 它會讓你陷入帶有空白的條目的麻煩,條目可以被解釋爲球體,在其他情況下。除非你有一個很好的理由否則,使用'數字;在「$ @」中輸入「或」號碼; (這兩者完全相同)。另請參閱http://shellcheck.net/,它會自動爲您檢測。 –