Shell:value too great for base

原创 2015年07月08日 09:49:28

今天定时计划删除文件没执行成功,查看了下日志,发现报错为line 38 :08:value too great 

for base (error token is "08")。


查看了下代码:

其它的忽略不计,重点看下38行

.............

 if [ $[$(date +%d)-$keepTime] == 0 ]; then

..............


问题就出在这里,今天是7月8号,所以$(date +%d)变成了08,而0x对于shell来说,会解析成8进制,

08超过了8进制的表示范围,所以报错:shell value too great for base;


解决方案:

指定其为10进制即可,在结果前加上10#

..........

 if [ $[10#$(date +%d)-$keepTime] == 0 ]; then

...........

执行shell,顺利执行结果!



Linux Shell 进制错误 - value too great for base

Linux Shell 编程进行数学运算时,如果有字符 '0' 打头的数 Bash 会当做八进制解释,而这经常会引起问题。比如我们用"08"参加运算,本意是当做10进制的8,实际却会运行报错。 通常情...
  • Mrknowledge
  • Mrknowledge
  • 2013年11月28日 13:56
  • 1487

-bash: 08: value too great for base (error token is "08")

在使用shell的时候,获取的当前的小时或月份(08,09等)进行计算是,提示:hour=08 hour=$((hour)) -bash: 08: value too great for base ...
  • qq_31382921
  • qq_31382921
  • 2017年05月24日 14:24
  • 610

bash: 09: value too great for base (error token is 09)

shell脚本由于进制识别产生的一个诡异问题。
  • yuxin8000
  • yuxin8000
  • 2016年08月09日 16:03
  • 1616

Shell:value too great for base

今天定时计划删除文件没执行成功,查看了下日志,发现报错为line 38 :08:value too great  for base (error token is "08")。 查看了下代...
  • sunlei1980
  • sunlei1980
  • 2015年07月08日 09:49
  • 936

Linux学习6之shell筛选当前目录下文件并逐个对其进行操作

代码: hadoop@Master:~/cloud/adam/xubo/code$ cat a.sh #!/bin/bash #SRR003161h20t1 #samtools view -h -S...
  • bob601450868
  • bob601450868
  • 2016年03月15日 21:13
  • 1900

"08 :value too great for base" 的原因及解决办法

今天调试shell时候 突然出现一个问题,之前都没有发现过 08 :value too great for base if [ $(($(date "+%M")%5)) -eq $((0)) ...
  • auspi12341
  • auspi12341
  • 2016年08月23日 10:53
  • 205

SHELL脚本报错:value too great for base (error token is "00000001830")

SHELL脚本运行到bill_id2=`echo $(($2+2))`报错:value too great for base (error token is "00000001830"),此时$2的值...
  • neolulu1987
  • neolulu1987
  • 2017年08月22日 12:25
  • 150

Nothing great was ever achieved without enthusiasm.

Success in life is a matter not so much of talent and opportunity as of concentration and perseveran...
  • wishfly
  • wishfly
  • 2006年02月23日 23:43
  • 1720

时间与整型数据/时间戳转换

同样的时间,一个模块服务端传过来的是时间戳,另一个模块服务端又传的是代表时间的nsinteger格式,然后按照既定时间格式显示出来!真特么想不通服务端干嘛同一个东西,非要客户端用两种解析方式,新公司的...
  • Dennis_Zhang_941314
  • Dennis_Zhang_941314
  • 2016年04月22日 16:20
  • 1392

linux编程出错: Value too large for defined data type

linux编程出错: Value too large for defined data type
  • benkaoya
  • benkaoya
  • 2015年08月03日 19:22
  • 5084
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Shell:value too great for base
举报原因:
原因补充:

(最多只允许输入30个字)