我已经得到以下工作:
for i in {2..10} do echo "output: $i" done
但是,尝试运行以下操作:
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
原文地址:https://www.jb51.cc/bash/392925.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。