基础值太大(错误标记为“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

感谢您的帮助!

【问题讨论】:

你能不能 echo echo "$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的主要内容,如果未能解决你的问题,请参考以下文章

对于未存储的字段,值太大

PL/SQL 过程 - 值太多

稳定的 Softmax 函数返回错误的输出

错误日记

double的值太大的时候

查看 getHeight() 和 getWidth() 返回值太大