今天同步文件的時候發現了這個問題:
原因是:
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