参见英文答案 > Variables in bash seq replacement ({1..10}) 7个
我在这里有这个代码,它应该这样做:
用户输入最大数量.并根据输入的数字,我想显示所有偶数,直到该数字.
#! /bin/bash
echo "What is your max number:"
read counter
for number in {0.."$counter"}
if [ (($number % 2 == 0)) ]
then
echo "$number"
fi
[root@sunshine Desktop]# bash Tester
What is your max number:
9
Tester: line 9: Syntax error near unexpected token `if'
Tester: line 9: `if [ (($number % 2 == 0)) ]'
解决方法:
你忘记了for循环的do和done部分.
无论如何,你不能使用{a..b}语法的变量,
不幸.
你需要编写一个计数循环.
然后你可以增加2,
这消除了对偶数的检查:
for ((number = 0; number < counter; number += 2)); do
echo "$number"
done
最后,我建议将变量重命名为:
> counter – >最大
>数字 – >计数器
把它们放在一起:
#!/bin/bash
echo "What is your max number:"
read max
for ((counter = 0; counter < max; counter += 2)); do
echo "$counter"
done
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。