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?