Executando verificação de segurança...
1

Ah, então mesmo tendo nascido como convenção, hoje o bash já entende que comandos com -- devem ser lidos de forma completa e única, o que permite a diferença entre -all e --all ou de comandos que incluam o - no nome, como o --save-dev do npm, além de evitar erros como, por exemplo, ao passar um -name do docker run, porque ele não reconhece -n, -m nem -e como flags? Se sim, então significa que o -it do docker na vdd pode ser passado como -i -t?

Carregando publicação patrocinada...
2

ao passar um -name do docker run, porque ele não reconhece -n, -m nem -e como flags?

Ele até reconhece -a, -m e -e, mas dá erro porque a opção -n não existe, veja na documentação.

então significa que o -it do docker na vdd pode ser passado como -i -t?

Sim.

2

hoje o bash já entende

Não é exatamente o Bash, cada comando lê as opções e as interpreta da forma que quiser. O que acontece é que muitos usam alguma biblioteca padrão (seja POSIX ou extensões da GNU, por exemplo), que possui funções prontas para interpretá-los da forma que expliquei. Se não me engano, são as extensões da GNU que adicionaram o suporte à forma longa.

Mas nada impede que eu faça um programa que aceita opções em um formato completamente diferente.

1

No caso de CLI feitas em python a biblioteca padrão da linguagem tem uma lib chamada argparse que consegue manipular os argumentos de forma "automatica" e também tem uma interface legal pra criar a documentação sem grandes esforços