加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 16:57:56 所属栏目:安全 来源:网络整理
导读:我已经得到以下工作: for i in {2..10}do echo "output: $i"done 它产生一串输出:2,输出:3,等等。 但是,尝试运行以下操作: max=10for i in {2..$max}do echo "$i"done 产生以下: output: {2..10} 我如何让编译器实现它应该将$ max作为数组的另一端,
我已经得到以下工作:
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读