linux – 如何从用户提供的输入中打印偶数

参见英文答案 > 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

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...