特定のフォルダで新しいターミナルを開くターミナルからのエイリアスコマンド

特定のフォルダで新しいターミナルを開くターミナルからのエイリアスコマンド

このコマンドは既に .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\""'

それはあなたにとってうまくいきますか?

関連情報