Каков обычный однобуквенный флаг, обозначающий 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
в другом.