Comando Alias ​​dal terminale che apre un nuovo terminale su una cartella specifica


0

Ho questo comando già funzionante nel mio .bash_profile:

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

Quindi:

  • CD nella cartella
  • Inizia il servizio artigianale
  • Apre una nuova finestra del browser a quell'indirizzo
  • Apre una nuova finestra del Finder nella stessa posizione

Quello che vorrei che facesse, è aggiungere un nuovo comando per fare qualcosa del tipo:

open -a Terminal cd /Applications/sites/mysite

Quindi apre una nuova finestra di Terminale e cd int quella nuova finestra di terminale nella stessa cartella.

È possibile? Ho provato questo:

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'

Ma non posso farlo funzionare. Fa tutto come nel primo esempio ma non apre mai la nuova finestra di terminale :(

Grazie in anticipo!

Risposte:


0

Non penso che l'ultima parte del tuo comando ( open -a Terminal cd /Applications/sites/mysite ) funziona, poiché l'argomento non viene passato per essere eseguito come comando, vedere una domanda simile Qui .

Una soluzione alternativa consiste nell'utilizzare AppleScript per l'ultima parte:

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

Per includerlo nella definizione dell'alias, assicurati che tutte le virgolette singole / doppie corrispondano e scappano dove necessario:

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

Funziona per te?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.