如何让这个简单的Bash命令替换工作?

时间:2014-02-20 02:30:48

标签: string bash command output substitution

我正在尝试使用简单的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: GroupMembershipdscl或{{1}}命令的结果。

我确定我错过了一些明显的东西,但我似乎无法弄明白。对此的任何帮助将不胜感激。

非常感谢。

1 个答案:

答案 0 :(得分:1)

您需要将stderr重定向到stdout

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