Configurando o zsh no OSX para iniciar automaticamente os processos

1

Eu recentemente converti para usar zsh em vez de bash no OSX e queria saber se é possível fazer o seguinte:

Quando eu lanço meu terminal, eu gostaria de iniciar várias abas e fazer com que cada aba execute um processo diferente, por exemplo, seguindo logs, executando scripts ruby, etc.

Atualmente eu preciso de cmd + n várias guias e, em seguida, inicio manualmente cada processo. Embora isso não demore muito, eu gostaria de poder iniciar o meu terminal e ter essas várias abas iniciando e executando esses comandos automaticamente.

Isso é possível?

    
por calumbrodie 11.12.2012 / 04:39

1 resposta

2

Eu tive uma pergunta semelhante há algum tempo. Até onde eu sei, a única maneira de programar as ações do Terminal é usando o applescript (afinal, o Terminal.app é um aplicativo da GUI e o AppleScript é a maneira pretendida pela Apple de executar scripts de ações da GUI).

Escreva um script como o seguinte:

tell application "Terminal"
    activate
    do script "cd /path_to/target_dir" in front window
    do script "some_command" in front window
end tell

tell application "System Events" to tell process "Terminal" to keystroke "t" using command down

tell application "Terminal"
    activate
    do script "cd /path_to/next_target_dir" in front window
    do script "some_other_command" in front window
end tell

...etc

Repita quantas vezes forem necessárias para o número necessário de comandos. Observe que isso é feito para as guias, que você solicitou especificamente, embora o pressionamento de tecla "cmd-N" mencionado abra novas janelas, não guias. Mude "t" para "n" na linha "Eventos" do sistema "tell application" "..." se você quiser fazer isso com o windows.

    
por 28.12.2012 / 12:40