基础值太大(错误标记为“08”)bash
Posted
技术标签:
【中文标题】基础值太大(错误标记为“08”)bash【英文标题】:Value too great for base (error token is "08") bash 【发布时间】:2014-03-12 20:59:58 【问题描述】:我在论坛上看到问题是我创建了八进制而不是十进制,但是我找不到在哪里更改我的代码来解决这个问题。
This is part of my code:
dd=1234567890aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ
ddate=$(exiv2 "$i"|grep timestamp)
SPEC=$ddate
read X X YEAR MONTH DAY HOUR MINUTE SECOND <<<$SPEC//:/
d1=$YEAR:2
d2=$dd:(MONTH-1):1
d3=$dd:(DAY-1):1
d4=$dd:(HOUR-1):1
d5=$dd:(MINUTE-1):1
d6=$dd:(SECOND-1):1
d7=0
感谢您的帮助!
【问题讨论】:
你能不能 echoecho "$SPEC" | cat -vte
在这里显示它的内容。
bash: value too great for base (error token is "0925")的可能重复
【参考方案1】:
告诉 bash 你的变量是十进制的,而不是八进制的
d2=$dd:(10#$MONTH-1):1
d3=$dd:(10#$DAY-1):1
d4=$dd:(10#$HOUR-1):1
d5=$dd:(10#$MINUTE-1):1
d6=$dd:(10#$SECOND-1):1
【讨论】:
这确实是我一直在寻找的技巧。我有点困惑把 10# 放在哪里。非常感谢!以上是关于基础值太大(错误标记为“08”)bash的主要内容,如果未能解决你的问题,请参考以下文章