2017-03-17 128 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