Qual é o sinalizador usual de uma única letra denotando um endereço IP em uma opção de linha de comando? [fechadas]

2

Eu notei que na maioria dos programas que eu uso essa leitura em endereços IP, eles não usam nenhum sinalizador de opção para indicar o endereço IP e é apenas parte da entrada padrão (como ssh, scp, ifconfig, etc ...) ou é como IPtables, onde é o IP de origem ou o IP de destino. Mas eu imagino que existem alguns programas em que o endereço IP é um parâmetro nomeado.

Eu só gostaria de saber o que esse nome normalmente (longo e curto, se existir) é para que eu possa usá-lo em meus scripts e não confundir as pessoas.

    
por Peter Turner 17.05.2017 / 22:48

1 resposta

3

Não há convenção, como você percebeu. Isso depende totalmente do que o aplicativo está fazendo e do papel do argumento do host na linha de comando, bem como de como os aplicativos relacionados ao seu script fazem isso. Portanto, a resposta para isso é mais provável que seja baseada em opinião.

Para "opções longas", --host=hostname pode ser uma boa escolha, mas essa é uma opinião pessoal e, da mesma forma, -h como uma opção curta. É assim que os clientes MySQL / MariaDB e PostgreSQL fazem isso.

Como a Derobert aponta nos comentários para sua pergunta, -h para um nome de host pode colidir com o uso de -h para obter ajuda, mas -? , --help ou executar o aplicativo com nenhum argumento , às vezes é usado para isso.

Também pode ser útil indicar para que serve o nome do host que acompanha uma opção específica, como --target=hostname e --jumphost=hostname etc. Se você deseja indicar que o host precisa ser um endereço IP (e não é um nome de host), é possível usar --addr=ipaddr ou algo semelhante. Algumas ferramentas usam -T e -U para especificar qual endereço de ligação deve ser usado com os soquetes TCP e UDP, respectivamente (especificamente syslogd no OpenBSD). Mais uma vez, isso se resume ao que seu script está realmente fazendo.

Se seu script de shell usar várias opções para modificar seu comportamento enquanto sempre operando em um nome de host, não use uma opção para especificar o nome do host, como ssh .

No final, veja como os utilitários semelhantes estão gerenciando seus sinalizadores de linha de comando e combinando com algo consistente. Isso é especialmente importante se você estiver criando um conjunto de vários scripts para executar tarefas relacionadas. Ou seja, não use --host=hostname em um enquanto você tem -i addr em outro.

    
por 17.05.2017 / 23:18