Почему мой Bash скрипт с grep не работает? - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь понять, почему этот очень простой скрипт не работает:

echo "SomeText" > test
if [[ "grep 'FindMe' ./test" ]] ; then
  echo Why is this line written to screen?
fi

Я пробовал с:

"grep 'FindMe' ./test"

$(grep 'FindMe' ./test)

`grep 'FindMe' ./test`

также с большим количеством опций grep.

Я пробовал с [] и [[]] и {} и любой комбинацией.

1 Ответ

0 голосов
/ 24 марта 2020

На самом деле, чтобы проверить состояние выхода, не используйте скобки и кавычки:

if grep 'FindMe' ./test ; then

Использование grep -q часто встречается в таких ситуациях, так как мы не хотим, чтобы вывод скрипта был забит случайными совпадениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...