问题出在数字 08 和 09 上。我在 Google 上搜索过,发现 08 和 09 有问题的原因,但没有解决方案。
这是一个荒谬的例子,用于简要描述我的问题,而不涉及细节。
cursorDay=2;
let cursorDay=$cursorDay+1;
case "$cursorDay" in
1) cursorDay=01;;
2) cursorDay=02;;
3) cursorDay=03;;
4) cursorDay=04;;
5) cursorDay=05;;
6) cursorDay=06;;
7) cursorDay=07;;
8) cursorDay=08;;
9) cursorDay=09;
esac
echo "$cursorDay";
我期望的输出是“03”,确实我得到了那个输出。但是如果我做同样的事情来尝试得到 08 或 09,我会出现这个错误:
line 100: let: cursorDay=08: value too great for base (error token is "08")
问题是,有没有办法“强迫”它把 08 和 09 当作普通数字对待?我找到了几篇详细说明如何消除零的帖子,但我想要一个零。