Comando de alias desde la terminal que abre una nueva terminal en una carpeta específica

Comando de alias desde la terminal que abre una nueva terminal en una carpeta específica

Ya tengo este comando funcionando en mi .bash_profile:

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

Por lo que:

  • CD en la carpeta
  • Inicia servicio artesanal
  • Abre una nueva ventana del navegador en esa dirección.
  • Abre una nueva ventana del Finder en esa misma ubicación

Lo que me gustaría que hiciera es agregar un nuevo comando para hacer algo como:

open -a Terminal cd /Applications/sites/mysite

Entonces abre una nueva ventana de Terminal y el CD ingresa esa nueva ventana de terminal en la misma carpeta.

¿Es posible? He probado esto:

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'

Pero no puedo hacerlo funcionar. Hace todo como en el primer ejemplo pero nunca abre la nueva ventana de terminal :(

¡Gracias de antemano!

Respuesta1

No creo que la última parte de su comando ( open -a Terminal cd /Applications/sites/mysite) funcione, ya que el argumento no se pasa para ejecutarse como un comando; vea una pregunta similaraquí.

Una solución es utilizar AppleScript para la última parte:

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

Para incluir esto en su definición de alias, asegúrese de que todas las comillas simples/dobles coincidan y escape cuando sea necesario:

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\""'

Eso funciona para ti?

información relacionada