所以,我正在尝试计算12-08(not 12-8) 并得到以下错误:
let: 08: value too great for base (error token is "08")
Run Code Online (Sandbox Code Playgroud)
这是示例代码:
first=12
second=08
if [[ ($first > $second) ]]; then
let fin=first-second
else
let fin=second-first
fi
Run Code Online (Sandbox Code Playgroud)
PS对不起间距
hee*_*ayl 14
如果在数字前面加上0,则bash将该数字视为八进制。由于八进制是基数为 8 的数字范围从 0 到 7,08因此超出了八进制的范围。
现在您有两个选项可以进行十进制计算:
省略前面的 0:
$ echo $(( 12 - 8 ))
4
Run Code Online (Sandbox Code Playgroud)通过以下方式明确提及基数为十进制10#:
$ echo $(( 12 - 10#08 ))
4
Run Code Online (Sandbox Code Playgroud)