拥有以下内容:
#!/usr/bin/env dash
seq -w 10 | while read -r num
do
echo $num: $((num + 1))
done
打印
01: 2
02: 3
03: 4
04: 5
05: 6
06: 7
07: 8
sd: 3: sd: Illegal number: 08
有人可以解释上面dash
artihmetic的问题是什么吗?
请注意,它是破折号(非bash)脚本。
也将其标记为bash
,以获得bash专家的更多关注。 :)
答案 0 :(得分:5)
问题导致0
输出seq
使其八进制数字,07
以上的任何数字都是无效的八进制数。
请注意,此脚本可以正常运行而不会出现错误:
seq 10 | while read -r num; do echo "$num: $((num + 1))"; done