我有以下两个变量
SampleOutput=`some command giving output`
Status=`echo "$SampleOutput" | grep -qs "Active"`
echo $SampleOutput
echo $Status
此处$SampleOutput
的值为AgentEnable=Active bla bla bla
但是,$Status
会以blank
的形式出现,我不确定为什么$Status
应该以空白值AgentEnable=Active
来成为空白的情况
答案 0 :(得分:3)
在使用grep -q
时,您不会从grep
获得任何输出。您只能使用以下返回状态:
grep -qs "Enable" <<< "$SampleOutput"
Status=$?
根据man grep
:
-q, --quiet, --silent
安静模式:禁止正常输出。 grep只会搜索文件,直到找到匹配项为止,从而使搜索的成本可能降低。
请注意,如果您不在其他任何地方使用SampleOutput
,则可以直接使用:
some command | grep -qs "Enable"
Status=$?