在 POSIX shell 脚本中,我想在字符串操作和使用 $(( ... ))< 的简单计算中使用由
。这是因为带有前导零的数字被解释为八进制数。我想出了这样的方法来实际获取十进制数......seq -w
生成的十进制数字
for n in $(seq -w 0 300); do
str="xxx $n"
dec=$(echo $n | sed -e 's,00*\(..*\)$,\1,')
...
done
...但我想知道是否有更简单/更明显的方法来做到这一点。
最佳答案
使用 expr 代替。例如代替
for n in $(seq -w 0 10); do echo $n $((n + 4)); done
使用这个:
for n in $(seq -w 0 10); do echo $n $(expr $n + 4); done
关于shell - 有没有一种简单的方法可以让 POSIX shell 将带有前导零的数字解释为十进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21912089/