shell value too great for base


今天同步文件的时候发现了这个问题:

原因是:

tar_file_month=`date +%m`
rsync -auzq --exclude="2012_0[1-9]" --exclude="2012_1[0-2]" --exclude="2013_0[1-"$(($tar_file_month-1))"]" 
    

当月是8月,tar_file_month变成了08,下面执行  $(($tar_file_month-1))的时候,变成了08-1,而0x对于shell来说,会解析成8进制,08超过了8进制的表示范围,所以报错:shell value too great for base;

解决方法:告诉shell使用10进制,加个10#

10#$tar_file_month-1


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM