このコマンドは既に .bash_profile で動作しています:
alias mysite='cd /Applications/sites/mysite;pwd; php artisan serve --port=9000 | open http://localhost:9000 | open -a Finder ./'
それはそう:
- CDをフォルダに入れる
- 職人のサーブを始める
- そのアドレスで新しいブラウザウィンドウを開きます
- 同じ場所に新しいFinderウィンドウを開きます
私がやりたいのは、次のようなことを実行する新しいコマンドを追加することです:
open -a Terminal cd /Applications/sites/mysite
すると、新しいターミナル ウィンドウが開き、その新しいターミナル ウィンドウが同じフォルダーに移動します。
それは可能ですか?私はこれを試しました:
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'
しかし、うまく動作しません。最初の例と同じようにすべて実行されますが、新しいターミナル ウィンドウが開きません :(
前もって感謝します!
答え1
open -a Terminal cd /Applications/sites/mysite
コマンドの最後の部分( )は、引数がコマンドとして実行するために渡されないため、機能しないと思います。同様の質問を参照してください。ここ。
回避策の 1 つは、最後の部分に AppleScript を使用することです。
osascript -e 'tell application "Terminal" to do script "cd /Applications/sites/mysite"'
これをエイリアス定義に含めるには、すべての一重引用符と二重引用符が一致し、必要に応じてエスケープされていることを確認してください。
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\""'
それはあなたにとってうまくいきますか?