Alias ​​z terminala, który otwiera nowy terminal w określonym folderze

0

Mam już tę komendę w moim pliku .bash_profile:

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

Więc to:

  • Płyty CD do folderu
  • Zaczyna służyć rzemieślnikowi
  • Otwiera nowe okno przeglądarki pod tym adresem
  • Otwiera nowe okno Findera w tej samej lokalizacji

Chciałbym to zrobić, dodać nowe polecenie, aby zrobić coś takiego:

open -a Terminal cd /Applications/sites/mysite

Otwiera więc nowe okno terminala i cd nowego okna terminala w tym samym folderze.

Czy to możliwe? Próbowałem tego:

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'

Ale nie mogę sprawić, żeby działało. Robi wszystko jak w pierwszym przykładzie, ale nigdy nie otwiera nowego okna terminala :(

Z góry dziękuję!

Francisco Caviano
źródło

Odpowiedzi:

0

Nie sądzę, aby ostatnia część polecenia ( open -a Terminal cd /Applications/sites/mysite) działała, ponieważ argument nie jest przekazywany do wykonania jako polecenie, zobacz podobne pytanie tutaj .

Jednym obejściem jest użycie AppleScript do ostatniej części:

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

Aby uwzględnić to w definicji aliasu, upewnij się, że wszystkie pojedyncze / podwójne cudzysłowy pasują do siebie i, jeśli to konieczne,:

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

Czy to Ci pasuje?

pederpansen
źródło