Bash,将命令输出分配给变量

时间:2019-07-15 12:24:37

标签: bash shell

我正在尝试自动在多个服务器上安装Nginx,并且我有一个Shell脚本。它运行版本检查是否已安装nginx及其版本。

尝试分配TMP=$(nginx -v),而不是将其存储在变量中,而是将结果打印到控制台。 printf "$TMP"打印一个空字符串

1 个答案:

答案 0 :(得分:2)

问题是您的命令不会打印到STDOUT,而是打印到STDERR。

使用:

TMP=$(nginx -v 2>&1)

将解决您的问题,有关更多详细信息,请参见here