unix – shell脚本“for”循环语法

我已经得到以下工作:
for i in {2..10}
do
    echo "output: $i"
done

它产生一串输出:2,输出:3,等等。

但是,尝试运行以下操作:

max=10
for i in {2..$max}
do
    echo "$i"
done

产生以下:

output: {2..10}

我如何让编译器实现它应该将$ max作为数组的另一端,而不是字符串的一部分?

括号扩展,{x..y}在其他扩展之前执行,因此您不能将其用于可变长度序列。

相反,使用seq 2 $ max方法作为mobrule声明。

所以,对于你的例子,它将是:

max=10
for i in `seq 2 $max`
do
    echo "$i"
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补全...