我正在尝试让一个简单的 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
总是显示为空。我期望$checkString
是No such key: GroupMembership
或任何dscl
命令的结果。
我确定我错过了一些明显的东西,但我似乎无法弄清楚。任何这方面的帮助将不胜感激。
非常感谢。
您需要将stderr重定向到stdout
checkString="$(/usr/bin/dscl . -read /Groups/_lpoperator GroupMembership 2>&1)"
echo "$checkString"