Я пытаюсь написать сценарий мониторинга. Он должен подключиться к некоторому порту на моем сервере, прочитать выход, а если выход - ожидаемое значение, напечатайте 1 в противном случае 0.Как я могу сопоставить шаблон с TCP?
Я работаю над решением с cat < /dev/tcp/hostname/port
, но решение ускользает от меня. Может быть, что-то подразумевающее? Я бы предпочел решение bash-скрипта. Помогите оценить!
'grep -c' для проверки соответствия является противотанковым. Просто 'grep -q' скажет вам, есть ли совпадение. См. Также [бесполезное использование wc] (http://partmaps.org/era/unix/award.html#wc). – tripleee
tripleee, вы, конечно, правы. Я написал из памяти и не запоминаю все флаги для всех команд (если я могу решить это с помощью трубы и другой команды, обычно это нормально).Также обратите внимание, что полученный код очень похож на мою первую итерацию. –
У вас все еще есть бесполезное использование 'test $?' - элегантное и идиоматическое выражение будет 'if netcat '$ SERVER" "$ PORT" | grep -F -q "$ ОЖИДАЕТСЯ"; затем '... – tripleee