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ê?