错误描述:((: 08: value too great for base (error token is “08”)
编写脚本创建给定前缀的31个目录。程序的目的是创建31个目录,但是创建到第8个时出现了错误,错误描述如上。推测提示的含义是:系统将08看做八进制数据了,08对于八进制数据来说又是不存在的(有待证实)。
dirname="201612"
for((i=1;i<=31;i++))
do
if [ $i -lt 10 ]
then
i=0$i
fi
dirname=${dirname}${i}
mkdir $dirname
dirname="201612"
done
将上述程序改为以下程序则能正常运行。
dirname="201612"
for i in {1..31}
do
if [ $i -lt 10 ]
then
i=0$i
fi
dirname=${dirname}${i}
mkdir $dirname
dirname="201612"
done
本文介绍了一种解决shell脚本中因变量处理不当导致创建目录失败的问题。通过修改脚本逻辑,避免了将带有前导零的数字视为八进制数而引发的错误。
3853

被折叠的 条评论
为什么被折叠?



