变量赋值没有发生

时间:2017-03-17 11:04:03

标签: bash ubuntu

我遇到这样的问题;

  root@B056HAP2865372:~# str="$(consul-template --version)"
  consul-template v0.18.1 (9c62737)
  root@B056HAP2865372:~# echo $str

  root@B056HAP2865372:~# consul-template --version | cut -d" " -f 2
  consul-template v0.18.1 (9c62737)

所以命令$consul-template --version有效,但是我无法将其分配给任何变量,或者管道将其分配给其他命令。

如果它有助于此机器是LXC 2.9.3容器。 它是一个bash shell。 我不知道我做错了什么。

1 个答案:

答案 0 :(得分:1)

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

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