如何解决BASH,用于循环减去一个数字
在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的解决方案。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。