Comando alias do terminal que abre um novo terminal em uma pasta específica

0

Eu tenho este comando já trabalhando no meu .bash_profile:

alias mysite='cd /Applications/sites/mysite;pwd; php artisan serve --port=9000 | open http://localhost:9000 | open -a Finder ./'

Então isso:

  • CDs na pasta
  • Inicia o serviço artesanal
  • Abre uma nova janela do navegador nesse endereço
  • Abre uma nova janela do Finder no mesmo local

O que eu gostaria de fazer é adicionar um novo comando para fazer algo como:

open -a Terminal cd /Applications/sites/mysite

Por isso, abre uma nova janela do Terminal, e os CD's int nessa nova janela do terminal para a mesma pasta.

É possível? Eu tentei isso:

alias mysite='cd /Applications/sites/mysite;pwd; php artisan serve --port=9000 | open http://localhost:9000 | open -a Finder ./ | open -a Terminal cd /Applications/sites/mysite'

Mas eu não posso fazer isso funcionar. Ele faz tudo como no primeiro exemplo, mas nunca abre a nova janela do terminal :(

Desde já, obrigado!

Francisco Caviano
fonte

Respostas:

0

Eu não acho que a última parte do seu comando ( open -a Terminal cd /Applications/sites/mysite) funcione, como o argumento não é passado para ser executado como um comando, veja uma pergunta semelhante aqui .

Uma solução alternativa é usar AppleScript para a última parte:

osascript -e 'tell application "Terminal" to do script "cd /Applications/sites/mysite"'

Para incluir isso em sua definição de alias, verifique se todas as aspas simples / duplas correspondem e escapam quando necessário:

alias mysite='cd /Applications/sites/mysite; pwd; php artisan serve --port=9000 | open http://localhost:9000 | open -a Finder ./ | osascript -e "tell application \"Terminal\" to do script \"cd /Applications/sites/mysite\""'

Isso funciona para você?

pederpansen
fonte