2

我在 StackOverflow 上找到了很多关于此的答案,但我无法将它们应用到我的代码中。

我使用此命令获取当月的最后一天:

LASTDAY=`cal $(date +"%m %Y") | grep . | fmt -1 | tail -1`

然后我使用这段代码:

for i in {1..${LASTDAY}}
do
    # code for processing here!
done

但总是收到此警告: 第 12 行:[:{1..31}:预期整数表达式

i{1..31}但我希望i是 [1,31] 范围内的数字

我试过这个:

LASTDAY=$((LASTDAY+0))

LASTDAY=$( echo "$LASTDAY - 0" | bc )

LASTDAY=$(printf "%d" "$LASTDAY")

但它不能解决这个问题。我的代码有什么问题?以及如何解决?

提前致谢。

4

1 回答 1

9

使用以下内容代替for i in {1..$Lastday}

for i in $(seq 1 ${LASTDAY}) ; do  echo $i done

这将起作用。

于 2013-10-01T03:25:23.873 回答