Pha*_*tHV 2 linux oracle bash shell
我在StackOverflow上找到了很多关于此的答案,但我不能将它们应用到我的代码中.
我用这个命令来获取当月的最后一天:
LASTDAY=`cal $(date +"%m %Y") | grep . | fmt -1 | tail -1`
Run Code Online (Sandbox Code Playgroud)
然后我用这个代码:
for i in {1..${LASTDAY}}
do
# code for processing here!
done
Run Code Online (Sandbox Code Playgroud)
但总是得到这个警告: 第12行:[:{1..31}:预期的整数表达式
和我是{1..31},但我预期我是在范围内的数[1,31]
我试过这个:
LASTDAY=$((LASTDAY+0))
LASTDAY=$( echo "$LASTDAY - 0" | bc )
LASTDAY=$(printf "%d" "$LASTDAY")
Run Code Online (Sandbox Code Playgroud)
但它无法解决这个问题.我的代码有什么问题?以及如何解决它?
提前致谢.
使用以下代替 for i in {1..$Lastday}
for i in $(seq 1 ${LASTDAY}) ; do echo $i done
Run Code Online (Sandbox Code Playgroud)
这会奏效.