我怎样才能让这个简单的 Bash 命令替换工作



我正在尝试让一个简单的 Bash 命令替换工作,但遇到了麻烦。我对 Bash 脚本相当陌生。我已经阅读了许多示例和 Bash 手册的相关部分,但仍然无法让以下代码正常工作。

到目前为止,我所拥有的;

#!/bin/sh
checkString="$(/usr/bin/dscl . -read /Groups/_lpoperator GroupMembership)"
echo "$checkString"

这是结果;

localuser@tsu1:~/Desktop$ sh installcheck.sh 
No such key: GroupMembership
localuser@tsu1:~/Desktop

其中No such key: GroupMembership之后的空行是"$checkString"的回声。无论我如何格式化它,$checkString总是显示为空。我期望$checkStringNo such key: GroupMembership或任何dscl命令的结果。

我确定我错过了一些明显的东西,但我似乎无法弄清楚。任何这方面的帮助将不胜感激。

非常感谢。

您需要将stderr重定向到stdout

checkString="$(/usr/bin/dscl . -read /Groups/_lpoperator GroupMembership 2>&1)"
echo "$checkString"

相关内容

  • 没有找到相关文章

最新更新