awk输出到导出变量

时间:2014-11-15 20:03:33

标签: bash awk env

我有这个命令正确构建要导出的变量:

 dbus-daemon --session --fork --print-address | awk -F"dbus-" '{ print $2 }' | awk -F",guid=" '{print ("export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-" $1 ",guid=" $2)}'

输出是(正确):

export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-YaRPQ2SYD3,guid=fa6a614c14fa3a891db3ebca5467b08f

但我无法将结果导出到env。

我该怎么做? 顺便说一句,我认为有一个更有效的awk命令来做到这一点。

2 个答案:

答案 0 :(得分:0)

尝试这样做:

var$(dbus-daemon --session --fork --print-address | awk -F"dbus-" '{ print $2 }' | awk -F",guid=" '{print ("export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-" $1 ",guid=" $2)}')
echo "$var"

答案 1 :(得分:0)

解决。

export DBUS_SESSION_BUS_ADDRESS=$(dbus-daemon --session --fork --print-address | awk -F"dbus-" '{ print $2 }' | awk -F",guid=" '{print ("unix:abstract=/tmp/dbus-" $1 ",guid=" $2)}')

供将来参考