我在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")

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

先谢谢了。

最佳答案

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

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

这会起作用。

关于linux - 如何在Bash中将字符串转换为整数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19107390/

10-09 10:18