Сценарий оболочки для поиска шаблона в файле, используя if else - PullRequest
0 голосов
/ 28 августа 2018

Это мой скрипт, я хочу найти шаблон в файле. Я знаю, что состояние выхода grep -q '<Pattern>' '<file>' && echo $? равно 0, если шаблон найден. Но я получаю if: Синтаксис выражения error.

 if ( (grep -q '<Pattern>' '<file>' && echo $?)==0  ) then
 echo "Pattern found"
 else
 echo "Pattern not found"
 endif

1 Ответ

0 голосов
/ 28 августа 2018

Я думаю, вы хотите это:

if ( { grep -q '<Pattern>' '<file>' } ) then
 echo "Pattern found"
else
 echo "Pattern not found"
endif

Обратите внимание на фигурные скобки вокруг команды и пробелы между фигурными скобками и командой.

См. man tcsh , Выражения :

Статус выхода команды

Команды могут выполняться в выражениях и возвращаться их статус выхода заключив их в фигурные скобки ('{}'). Помните, что скобки должны быть отделяется от слов команды пробелами.

...