Return 结果 Ubuntu 变量更新
Return results for Ubuntu Updates in a Variable
我试图从 Ubuntu 16 服务器上的 /usr/lib/update-notifier/apt-check 获取结果到数组中,以便为监视工具做出 XML 响应,但不知何故这个值apt-check 只是拒绝进入我的变量。为了简单,我省略了XML创建部分。
#!/bin/bash
APTCHECK="/usr/lib/update-notifier/apt-check"
APTResult="$(${APTCHECK})"
echo "Result is $APTResult"
exit 0
如果您现在 运行 使用 bash -x 这段代码,您将看到结果返回到终端,但没有分配给变量。如果我将 "command" 替换为像 "ls -lah" 这样简单的东西,一切正常。
我只是不知道为什么这不起作用?有人吗?
apt-check
打印到标准错误,因此您需要使用 aptresult=$(/usr/lib/update-notifier/apt-check 2>&1)
.
来捕获它
另一个选项是 --human-readable
开关,它将打印到标准输出。唯一的问题是你必须解析文本输出(除非文本输出是你真正想要的)。
我试图从 Ubuntu 16 服务器上的 /usr/lib/update-notifier/apt-check 获取结果到数组中,以便为监视工具做出 XML 响应,但不知何故这个值apt-check 只是拒绝进入我的变量。为了简单,我省略了XML创建部分。
#!/bin/bash
APTCHECK="/usr/lib/update-notifier/apt-check"
APTResult="$(${APTCHECK})"
echo "Result is $APTResult"
exit 0
如果您现在 运行 使用 bash -x 这段代码,您将看到结果返回到终端,但没有分配给变量。如果我将 "command" 替换为像 "ls -lah" 这样简单的东西,一切正常。
我只是不知道为什么这不起作用?有人吗?
apt-check
打印到标准错误,因此您需要使用 aptresult=$(/usr/lib/update-notifier/apt-check 2>&1)
.
另一个选项是 --human-readable
开关,它将打印到标准输出。唯一的问题是你必须解析文本输出(除非文本输出是你真正想要的)。