问题描述
在BASH中,
(免得说number = 8,所以我想打印6,,4,2)
此语法有什么问题?
bot.createContext('CONTEXT_NAME_GOES_HERE','{ParaMETER: VALUE}',sessionPath,session_id,lifespan = 1);
`
谢谢
解决方法
我建议:
#!/bin/bash
number=8
dec=2
for ((i=$number-$dec; i>0; i=$i-$dec)); do
echo "$i"
done
输出:
6 4 2,
正确的语法为:
for (( number=8; number>= 0; number=number-2))
do
echo "$number"
done
输出:
8
6
4
2
0
但是如果您只想要6、4、2,则需要更改范围:
# here v v and here
for (( number=6; number>=2; number=number-2))
...
另一种语法是:
$ for number in {6..2..2}
do
echo "$number"
done
,
当您想保存写((number=number-2))
的字符时,可以这样做
for (( number=8; number>0; number-=2)); do
echo "$number"
done
请注意上下文,它可能会出错:
number=8
while (( number-=2 && number>0 )); do # Example of Wrong use
echo "$number"
done
对于此解决方案,您需要其他括号
number=8
while (( ((number-=2)) && number>0 )); do
echo "$number"
done
这些括号使它很容易出错,因此请不要使用它。我赞成@Cyrus的解决方案。