是否可以将变量传递给``里面的命令

时间:2013-10-18 12:59:27

标签: bash shell variables

我希望有人可以提出建议......

我想知道是否可以将变量传递给后面的滴答内的命令,如下面显示的lufslist命令:

#!/bin/bash

    while active_now
        do
              if [ $active_now == no ]
              then
                 while read zonename
                 do
                       ...

                 done < <(`lufslist $be_name`)
              fi
        done < <(lustatus | sed '1,3d' | awk '{print $3}')

我认为/希望我与上述尝试相当接近,也许我只是缺少引号或某种括号?

提前致谢

1 个答案:

答案 0 :(得分:3)

是的!您可以使用:

while read zonename
do
...
done < <(lufslist "$be_name")

注意你的差异

done < <(`lufslist $be_name`)

done < <(lufslist "$be_name")

()使命令在子shell中执行,因此您不必使用`字符来调用它。

此外,最好用双引号括起您的变量:lufslist "$be_name"

实施例

$ info="1 month ago"
$ while read a; do echo $a; done < <(date -d"$info")
Wed Sep 18 15:00:59 CEST 2013