Alias-Befehl vom Terminal, der ein neues Terminal für einen bestimmten Ordner öffnet

Alias-Befehl vom Terminal, der ein neues Terminal für einen bestimmten Ordner öffnet

Dieser Befehl funktioniert bei mir bereits in meinem .bash_profile:

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

So dass es:

  • CDs in den Ordner
  • Beginnt mit handwerklichem Servieren
  • Öffnet ein neues Browserfenster unter dieser Adresse
  • Öffnet ein neues Finder-Fenster an derselben Stelle

Ich möchte, dass ein neuer Befehl hinzugefügt wird, der etwa Folgendes bewirkt:

open -a Terminal cd /Applications/sites/mysite

Es wird also ein neues Terminalfenster geöffnet und Sie wechseln in diesem neuen Terminalfenster mit CD in denselben Ordner.

Ist das möglich? Ich habe Folgendes versucht:

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'

Aber ich bekomme es nicht zum Laufen. Es macht alles wie im ersten Beispiel, aber es öffnet nie das neue Terminalfenster :(

Dank im Voraus!

Antwort1

Ich glaube nicht, dass der letzte Teil Ihres Befehls ( open -a Terminal cd /Applications/sites/mysite) funktioniert, da das Argument nicht zur Ausführung als Befehl übergeben wird, siehe eine ähnliche FrageHier.

Eine Problemumgehung besteht darin, für den letzten Teil AppleScript zu verwenden:

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

Um dies in Ihre Aliasdefinition aufzunehmen, achten Sie darauf, dass alle einfachen/doppelten Anführungszeichen übereinstimmen und maskieren Sie diese, wo nötig:

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

Funktioniert das für dich?

verwandte Informationen