Existem boas ferramentas para lembrar os comandos CLI usados com frequência? [fechadas]

-1

Eu tenho muitos comandos que eu executo com frequência:

sometool --environment=dev command=fetch foo/bar/baz/configfile

sometool --environment=dev command=update foo/bar/baz/configfile

sometool --environment=dev command=status

Existe alguma ferramenta que eu possa configurar com uma lista de comandos comuns, bem como ter algumas opções para editá-los de forma inteligente (como se eu quisesse usar um valor diferente para --environment lá).

Melhor ainda seria se pudesse ser sensível ao caminho para que eu pudesse ter diferentes conjuntos de comandos, dependendo de onde eu estivesse.

    
por Murph 20.05.2014 / 18:58

3 respostas

4

Você não menciona o seu shell - isso é realmente dependente do shell.

Na maioria dos shells, você pode fazer aliases e funções. Isso pode reduzir muito a sua digitação para comandos repetidos ou subconjuntos repetidos de comandos.

aliases são melhores para comandos repetidos. funções podem receber argumentos, então são mais poderosas para quando você tem cópias semelhantes, mas não exatas de comandos.

Pessoalmente, eu também configuro bash-completions para coisas como esta. Por exemplo, eu tenho um subdiretório que possui diretórios de todos os meus projetos de trabalho. Eu tenho conclusões para várias ações nos projetos (verifique se os arquivos estão com check-out para o projeto, crie um pacote de instalação, etc.)

Para conclusão do bash. Você escreve uma função que pode examinar o argumento atual, o argumento anterior e a linha de comando e descobrir o que faz sentido no contexto atual. Em seguida, você anexa essa função ao comando desejado com o complete bash embutido.

'O que faz sentido no contexto atual' pode ser qualquer coisa - pode ser diretórios, arquivos, outros argumentos. nada mesmo. Verifique os exemplos no pacote bash-completions para ver alguns exemplos.

O código de conclusão do bash foi emprestado do zsh, então se você tiver zsh, poderá usá-lo também. Na verdade, o código de conclusão do bash foi emprestado cedo do zsh, e o zsh expandiu depois disso, então a conclusão do zsh é possivelmente mais poderosa.

    
por 20.05.2014 / 19:11
1

ncurses vem à mente, é preciso algum esforço para aprendê-lo, mas então você tem um sistema de menu exatamente para esse fim.

Edit: ncurses permite navegação baseada em menus, aceita entrada do usuário, foi criada para o CLI e é capaz de armazenar comandos base, permitir a expansão do regexp. Muitas distro Linux usam a biblioteca curses com opções de seleção baseadas em sequência durante a instalação, e executam outros comandos em resposta - o que e quando podem ser monitorados no próximo console de usuário único usando a função Alt, como Alt-F2. talvez monitorado e o script depure.

Eu o usei quando estava aprendendo a programar o Visual Basic para DOS e, quando comecei a aprender Linux, construí alguns tentando imitar os menus de texto e as funções do VB DOS.

    
por 20.05.2014 / 19:04
0

Use um editor e coloque comandos úteis em um arquivo. Eu tenho um alias chamado 'b' que abre / edita o arquivo. Não há necessidade de overengineer este.

    
por 21.05.2014 / 15:04