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

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

Já tenho este comando funcionando 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:

  • CDs na pasta
  • Começa 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 que fizesse é adicionar um novo comando para fazer algo como:

open -a Terminal cd /Applications/sites/mysite

Portanto, ele abre uma nova janela do Terminal e faz o cd dessa nova janela do terminal na 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 não consigo fazer funcionar. Faz tudo como no primeiro exemplo, mas nunca abre a nova janela do terminal :(

Desde já, obrigado!

Responder1

Não creio que a última parte do seu comando ( open -a Terminal cd /Applications/sites/mysite) funcione, pois o argumento não é passado para ser executado como comando, veja uma pergunta semelhanteaqui.

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 na definição do seu alias, certifique-se de que todas as aspas simples/duplas correspondam e escapem 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ê?

informação relacionada