2

具有以下内容:

#!/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

谁能解释上述dashartihmetic有什么问题?

请注意,它是一个破折号(不是 bash)脚本。

也标记它bash,以获得更多 bash 专家的关注。:)

4

1 回答 1

5

问题是0您的seq输出导致它成为八进制数,而上述任何内容07都是无效的八进制数。

请注意,此脚本可以正常工作而不会出错:

seq 10 | while read -r num; do echo "$num: $((num + 1))"; done
于 2014-10-13T15:30:08.937 回答