gpt4 book ai didi

linux - Bash - 获取命令的输出

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:52:10 26 4
gpt4 key购买 nike

无论我做什么,似乎都无法将命令的输出分配给 bash 中的变量。虽然我的脚本运行 find 没有任何错误,但我没有得到我想要的结果:

# Prompt if the user needs Qt
echo ""
echo "Checking for qt5-default."
echo ""

OUTPUT="$(sudo dpkg -s qt5-default)"

echo "OUTPUT:"
echo $OUTPUT

...

OUTPUT 永远不会回应任何东西。但是,如果我这样做:

OUTPUT="$(ls -la)"

然后就可以了。我想知道为什么。


我的意思是:

Failure

如您所见,“OUTPUT:”字符串出现在命令输出之后,这意味着输出没有存储在变量中,而是在主 shell 中运行,这让我感到困惑。

这是 OUTPUT="$(ls -la)" 时发生的情况:

Success

在这种情况下,“OUTPUT:”出现在前面,表明 echo 命令正常工作。

有什么想法吗?

最佳答案

OUTPUT=$( dpkg -s qt5-default 2>&1 )

应该做你想做的事。正如 Etan 指出的那样,dpkg 的输出转到 stderr,而不是 stdout。

关于linux - Bash - 获取命令的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28422206/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com