在终端“echo”中,如何使Brace表达式匹配?

时间:2015-06-06 07:39:41

标签: linux terminal echo

在Ubuntu中使用echo(我相当熟悉Linux或Unix之类的新东西)。 这就是我想得到的回声
输出 class=1,id=1 class=2,id=2 and so on till... class=100,id=100
所以我做了:echo class={1..100},id={1..100} 我知道我必须使用{1..100},但麻烦的是我得class=1,id=1(没关系)然后class=1,id=2(我明白为什么会发生这种情况,但我希望这个等级等于ID) 所以有人可以说如何获得输出? (见第3至6行)

3 个答案:

答案 0 :(得分:0)

尝试使用:

for i in `seq 1 100`; do
    echo "class=$i, id=$i";
done

这将循环显示从1到100的每个数字并相应地打印。

答案 1 :(得分:0)

之所以发生这种情况,是因为两个括号分别展开了。

仅限回音。您应该使用变量赋值:

for i in {1..100} ; do echo class=$i,id=$i ; done

在Ubuntu 14.04 LTS下使用Dash。

答案 2 :(得分:0)

这个脚本可能会为你做到这一点,

#!/bin/bash
for i in {1..100}
do
 echo class=$i,id=$i
done