我在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/