如何在bash的for循环中使用命令的输出?

时间:2015-11-14 21:38:32

标签: linux bash ubuntu

我试图在for循环中使用它的输出:

$wc -l example.mgn | awk '{print $1}'
12

但是,我明白了:

for i in {1..`wc -l example.mgn | awk '{print $1}'`}; do echo $i; done
{1..12}

1 个答案:

答案 0 :(得分:0)

支撑扩展发生在任何其他类型的扩展之前,您只能在大括号中包含文字值。例如,{1..12}有效,但您不能用产生数字的命令替换1或12。

相反,请使用

for ((i=1; i<= $(wc -l < example.mgn); i++)); do
    echo "$i"
done