我的脚本/make_shift_ln__dummy.sh:
for i in `seq -w 0 272`
do
y=0
x=1
echo $i
y=$(($i +$x))
echo $y
done
我的输出有错误消息:
算术表达式:应为EOF:“008+1”
000
1
001
2
002
3
003
4
004
5
005
6
006
7
007
8
008
./make_shift_ln_o_dummy.sh: 25: arithmetic expression: expecting EOF: "008 +1"
为什么会这样?我做错什么了?我该如何将其更改为272的输出?
最佳答案
008是一个八进制数。可以指定要在算术表达式中使用基数10:
y=$((10#$i +$x))
http://www.gnu.org/software/bash/manual/bashref.html#Shell-Arithmetic