我正在尝试使用简单的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
或{{1}}命令的结果。
我确定我错过了一些明显的东西,但我似乎无法弄明白。对此的任何帮助将不胜感激。
非常感谢。
答案 0 :(得分:1)
您需要将stderr重定向到stdout
checkString="$(/usr/bin/dscl . -read /Groups/_lpoperator GroupMembership 2>&1)"
echo "$checkString"