为什么我不能通过>将awk输出传输到变量中?

时间:2017-04-11 21:06:50

标签: bash awk

我正在尝试将awk输出传递给这样的变量:

$ awk -F : '/frost/{print $3}' /etc/group > $mygid
$ echo $mygid
$ 

但是当我想看到mygid变量时,它就会挂起。我不得不这样做:

$ "$(awk -F : '/frost/{print $3}' /etc/group)" 

让它发挥作用。

我不明白为什么。

由于

1 个答案:

答案 0 :(得分:3)

>写入文件> $mygld尝试写入名为变量$mygid中当前任何内容的文件。

要在变量中输出命令,可以使用命令替换和赋值,或者处理替换和read

mygid=$(awk -F : '/frost/{print $3}' /etc/group)

read mygid < <(awk -F : '/frost/{print $3}' /etc/group)

我建议你阅读一些基本的shell编程教程,也许是http://mywiki.wooledge.org/BashGuide