2017-03-17 81 views
1

我有这样的问题;变量赋值未发生

[email protected]:~# str="$(consul-template --version)" 
    consul-template v0.18.1 (9c62737) 
    [email protected]:~# echo $str 

    [email protected]:~# consul-template --version | cut -d" " -f 2 
    consul-template v0.18.1 (9c62737) 

因此命令$consul-template --version的作品,但我不能把它分配给任何变量或它一些其他的命令。

如果它有帮助这台机器是一个LXC 2.9.3容器。 这是一个bash shell。 我不知道我在做什么错。

回答

1

你的命令写在stderr。您可以将stderr重定向到stdout,然后分配给一个变量:

str="$(consul-template --version 2>&1)" 
+2

哇。我觉得很愚蠢。谢谢。 – Nagri