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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章