имя службы разрешения bash - PullRequest
       8

имя службы разрешения bash

2 голосов
/ 14 декабря 2011

Как часть стартового скрипта, мне нужно проверить, работает ли конкретная служба TCP. Читая конфигурационный файл, я знаю, каков целевой хост и имя сервиса. Я намеревался использовать nc для отправки примера запроса в эту службу, потому что я знаю, как его использовать, и он хорошо выполняет сценарии, проблема в том, что nc не может разрешить имя службы в моем конфиг на номер порта ...

Что подводит меня к моему (из двух частей) вопросу: Существует ли встроенная или обычно распространяемая утилита bash (будет частью или дистрибутивом RHEL 5), которая может преобразовать имя службы в номер порта? Есть ли простая утилита, кроме netcat, которую я мог бы использовать вместо этого в моем скрипте?

Ответы [ 2 ]

7 голосов
/ 14 декабря 2011

getent - это то, что вы хотите.

Например: getent services ftp

Вам все равно нужно будет проанализировать вывод, но у вас есть порт.

1 голос
/ 14 декабря 2011

Есть ли в вашей системе файл / etc / services ? Вероятно, каждая переносимая программа (включая nc, getent и многие другие) использует getservbyname(3) для разрешения номера порта для данного имени службы. В свою очередь эта функция считывает данные из файла /etc/services.

...