Trabalhando com subcomandos de ajuda de ferramentas recentes do CLI

1

Eu não tenho certeza se isso se tornou mais um problema geral ou se é apenas eu trabalhando muito com o OpenStack, ultimamente. De qualquer forma, notei que alguns comandos, por exemplo, todo o conjunto de comandos do OpenStack e git , oferecem informações sobre seus submódulos usando o subcomando help , por exemplo,

  • neutron help security-group-rule-create
  • git help clone

Isso não é muito bom de se trabalhar, porque toda vez que eu me sinto inseguro sobre alguma coisa ou até encontro erros, preciso

  1. desloque-se para a esquerda,
  2. adicione "ajuda",
  3. pressione enter,
  4. leia a ajuda,
  5. pressione a seta para cima,
  6. percorra todo o caminho para a esquerda,
  7. excluir "ajuda",
  8. pressione Enter

Eu sei que para o git existem man pages disponíveis, eu só queria adicionar outro exemplo do que os comandos do OpenStack.

Eu preferiria ter alguma combinação de teclas ou mesmo um comando curto que modifica o último comando (aquele que eu consigo lembrar pressionando a tecla de seta para cima) e insere "ajuda" como segunda palavra ou remove o comando segunda palavra, se for "ajuda".

Estou usando o Bash, então estava pensando em usar fc e aliases, mas não consigo fazer isso funcionar. Eu acho que os padrões de fc são restritos a meras substituições de strings e não conseguem lidar com coisas complexas como "a segunda palavra".

A solução mais incrível seria um modificador para "enter", então eu posso procurar por comandos, usando a tecla de seta para cima, ou ctrl + r e quando eu encontrei o comando desejado eu pressionei ctrl + enter para executar mas antes da execução, a "ajuda" é inserida automaticamente como a segunda palavra do comando. Como alternativa, quando pressiono alt + enter para executar o comando desejado, "help" é removido como a segunda palavra do comando antes da execução. No entanto, não tenho ideia de fazer isso.

    
por Bananguin 05.09.2016 / 15:39

1 resposta

1

Podemos trapacear e criar um comando simples chamado h e colocá-lo em seu caminho:

por exemplo

#!/bin/sh

cmd="$1"
shift

echo Running $cmd help "$@"
$cmd help "$@"

Agora você pode simplesmente fazer h !! para inserir a mensagem help eg

$ git foo bar baz
....
$ h !!
h git foo bar baz
Running git help foo bar baz
...

Seu h comamnd pode ser tão complexo quanto você quiser; por exemplo, análise especial para qualquer comando que possa exigir mais do que apenas colocar help na frente.

Depois de ler a ajuda, basta pressionar seta para cima duas vezes para recuperar o comando real.

    
por 05.09.2016 / 17:46

Tags