Bash: эхо показывает пустое значение - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть две переменные следующим образом

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

1 Ответ

0 голосов
/ 25 сентября 2018

При использовании grep -q вы не получите никакого вывода от grep.Доступен только статус возврата, который вы можете получить, используя:

grep -qs "Enable" <<< "$SampleOutput"
Status=$?

Согласно man grep:

-q, --quiet, --silent Тихий режим: подавление нормального выхода,grep будет искать файл только до тех пор, пока не будет найдено совпадение, что делает поиск потенциально менее затратным.

Обратите внимание, что если вы не используете SampleOutput где-либо еще, вы можете напрямую использовать:

some command | grep -qs "Enable"
Status=$?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...