Вы можете использовать grep -w
для указания границы слова:
$ grep -qw '8000' res.txt && echo 'hello world'
hello world
Параметр -q
просто запрещает grep
печатать результаты, поэтому вы можете просто действовать по коду выхода. Без опции -w
вы получите успешный результат от 80
, так как он содержится в 800
и 8000
:
$ grep -q '80' res.txt && echo 'hello world'; echo $?
hello world
0
$ grep -qw '80' res.txt && echo 'hello world'; echo $?
1
Чтобы проверить наличие нескольких портов, вы можете сделать следующее:
if grep -qw -e '8000' -e '80' res.txt; then
do something
fi