【问题标题】:Variable assignment not happening变量赋值没有发生
【发布时间】:2017-03-17 11:04:02
【问题描述】:

我遇到了这样的问题;

  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 外壳。 我不知道我做错了什么。

【问题讨论】:

    标签: bash ubuntu


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-07-23
      • 2016-11-16
      • 2012-02-04
      • 2017-02-27
      • 2017-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-22
      相关资源
      最近更新 更多