Каков обычный однобуквенный флаг, обозначающий IP-адрес в опции командной строки?

Я заметил, что в большинстве программ, которые я использую для чтения в IP-адресах, они либо не используют флаг опции для обозначения IP-адреса, а просто являются частью ввода по умолчанию (например, ssh, scp, ifconfig и т. Д.), Или это похоже на IPtables, где это IP-адрес источника или IP-адреса назначения. Но я бы предположил, что есть некоторые программы, где IP-адрес является именованным параметром.

Я просто хотел бы знать, что это имя обычно (длинное и короткое, если оно существует), поэтому я могу использовать его в своих сценариях и не путать людей.

One Solution collect form web for “Каков обычный однобуквенный флаг, обозначающий IP-адрес в опции командной строки?”

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

Для «длинных вариантов», --host=hostname может быть хорошим выбором, но это личное мнение, а также – как короткий вариант. Так поступают MySQL / MariaDB и клиенты командной строки PostgreSQL.

Как указывает Derobert в комментариях к вашему вопросу, -h для имени хоста может столкнуться с использованием -h для получения справки, но … -? , --help или запуск приложения без аргументов, иногда используется для этого.

Также может быть полезно указать, для чего используется имя хоста, которое используется с определенной опцией, например, --target=hostname и --jumphost=hostname и т. Д. Если вы хотите указать, что хост должен быть IP-адресом ( а не имя хоста), можно было бы использовать --addr=ipaddr или что-то подобное. Некоторые инструменты используют -T и -U для указания того, какой адрес привязки использовать для сокетов TCP и UDP соответственно (в частности, syslogd на OpenBSD). Опять же, это сводится к тому, что делает ваш сценарий.

Если ваш сценарий оболочки использует несколько параметров для изменения своего поведения, всегда работая с именем хоста, не используйте параметр для указания имени хоста, например, ssh .

В конце, посмотрите, как аналогичные утилиты управляют своими флагами командной строки и идут с чем-то, что является последовательным. Это особенно важно, если вы создаете набор из нескольких сценариев для выполнения связанных задач. Т.е., не используйте --host=hostname в одном, пока у вас есть -i addr в другом.

Linux и Unix - лучшая ОС в мире.