Aplicativos Advanced Terminal / Console para Mac OS X?

1

Eu uso muitos programas de linha de comando, muitas vezes com argumentos semelhantes. Alguém pode recomendar um aplicativo ou um fluxo de trabalho que me permite armazenar comandos shell usados com frequência e pesquisar por meio de meus comandos recentes, usando uma GUI?

Eu tenho comandos que uso com muita frequência (por exemplo, rsync em um diretório específico para um servidor) e outros comandos que uso com menos frequência. Criar scripts shell para cada snippet de código que eu possa reutilizar parece um pouco estranho.

Especialmente para programas que eu uso raramente, acabo lendo os documentos várias vezes, porque eu esqueci de escrever o comando shell exato. Idealmente, eu gostaria de um aplicativo que é como o Terminal.app, mas fornece algum tipo de histórico e gerenciamento de snippets.

O que você usa para acompanhar os comandos do shell?

    
por Jakob Egger 03.01.2011 / 22:32

2 respostas

5

Respondendo ao melhor de meu conhecimento. Eu não tenho certeza do que você acha que está faltando, então eu posso ser waaaay lá fora. Nesse caso, apenas me diga.

O terminal (mais especificamente, bash ) tem histórico. pressione Up-Arrow ou (depois) Down-Arrow ou insira history . É armazenado em ~/.bash_history , que pode ser lido por qualquer editor de texto. A edição de comandos é mais fácil se você souber as combinações de teclas para navegar .

A pesquisa do histórico também pode ajudar você encontra conjuntos de parâmetros específicos para uma única chamada. Por exemplo, insira hdiutil e use-os para localizar todas as invocações recentes desse comando e percorrê-las.

Estes ( 1 , 2 ) também podem ajudá-lo a aprender mais sobre o seu shell. Eu comprei e gosto deles, mas há toneladas lá fora, explicando quase qualquer aspecto do Terminal ou bash de uso.

Ferramentas como AppleScript ( tell application "Terminal" to do script "..." ) e Automator (ação Executar Script Shell ) também podem ajudá-lo a automatizar tarefas repetidas ou criar "macros".

No caso de programas executados com frequência, criar um script de shell pequeno não seria uma má ideia. É essencialmente um two-liner, e usar um editor como o TextMate, com comandos relacionados ao que você quer realizar (por exemplo, "tornar executável", para que você não tenha que digitar chmod line) torna isso ainda mais fácil.

O Mac OS X usa as extensões de arquivo .tool e .command para que os scripts sejam executados usando o Terminal. Você precisa torná-los executáveis, infelizmente.

    
por 03.01.2011 / 22:52
1

Além das dicas que Daniel lhe deu, aqui estão mais algumas:

  • Você pode definir HISTSIZE e HISTFILESIZE acima de seus valores padrão de 500 entradas. Isso permitirá que você mantenha mais histórico.
  • Crie aliases e pequenas funções quando não fizer sentido criar um script. Eles podem ser armazenados em seu arquivo ~/.bashrc e estarão sempre disponíveis, ou você pode colocá-los em um arquivo separado e gerá-los de dentro de ~/.bashrc ou até mesmo da linha de comando se nem sempre precisar deles imediatamente.
  • Use algum tipo de registro. Minhas funções de registro de histórico mantêm não apenas os comandos e argumentos, mas a data e a hora (que o histórico Bash pode fazer também) e pode manter o diretório atual quando o comando foi emitido, bem como o terminal ou endereço IP e outras informações escolhidas (por exemplo, já que eu uso mais de um versão do Bash, eu tenho o meu log da versão Bash).
  • Você pode vincular macros de teclado a teclas de função ou outras combinações de teclas que permitem reduzir a digitação repetitiva.
  • Você pode definir variáveis para fazer a mesma coisa.
por 04.01.2011 / 03:14