Shell中value too great for base (error token is “09“)报错

for (( i = 1 ; i <= $TestItem_Max ; i++ )); do

报错语句如上

错误提示:((: i <= 10# 09: value too great for base (error token is "09")

可知 $TestItem_Max值为 09 (0开头默认为8进制)所以09超出了限制值

从网上搜索更改为下

for (( i = 1 ; i <= $((10#$TestItem_Max)) ; i++ )); do

依旧报错,如下:((: i <= 10# 09: value too great for base (error token is "09")

问题无法解决,更换解决思路

获取09中的9即可 ,代码更换为如下,问题解决

for (( i = 1 ; i <= ${TestItem_Max##*0} ; i++ )); do

关于字符断截取的具体用法可参考shell编程之字符串截取${str%%.*}、${str##*.}、${str%%.*}、${str#*.}的用法介绍_仄平平仄的博客-优快云博客_shell中的strShell编程中会经常遇到字符串处理(如截取)的表达式${str%%.*}、${str##*.}以及${str%%.*}、${str#*.},在这儿做个介绍:提示:varible表示shell中的目标变量,str代表要匹配的字符串。${varible##*str} 表示 从左向右 截取 最后一个等于str 后 的字符串${varible#*str} 表示 从左向右 截取 第一个 等于s...https://blog.youkuaiyun.com/Brouce__Lee/article/details/81512364

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值