macOS shell command to create new Terminal Window
もちろん、「Shell」メニューやキーボードショートカット ⌘N (or ⌘T) で簡単に新しいターミナルウィンドウを作成することが可能です。 しかし、場合によっては、シェル コマンドを使用する方が便利なことがあります。
キーボード ショートカットまたはメニューから作成した新しいウィンドウは、常にホーム ディレクトリ ~
を現在の作業ディレクトリとして使用します。
> new # opens a new terminal window at the current working directory> new ~/Desktop # opens a new terminal window at ~/Desktop
AppleScript でうまくいかない
AppleScript を使用して最後に成功した後、これが再び最善の解決策になると思いました。 残念ながら、AppleScript の辞書のこの特定の部分は壊れています。 make new window
または make new tab
コマンドはエラーで失敗し、いくつかの組み合わせを試しました。
Web で検索した結果、これは長い間壊れていたようです。 フィードバック アシスタントに問題を提出しました。
AppleScript で新しいターミナル ウィンドウを作成するには、ターミナル辞書の do script
コマンドを使用します。 (do shell script
と混同しないでください。) この AppleScript は、私が望むことを一応やってくれますが、面倒に思えます。
tell application "Terminal" do script "cd ~/Desktop"end tell
AppleScript で新しいターミナル ウィンドウまたはターミナル タブを作成する良い方法をご存知でしたら、ぜひ教えてください。 (UI スクリプトのソリューションはありません – それ自体に問題があります。) これが役に立つかもしれない他のアイデアがいくつかあります。
Enter the open command
これらの Web 検索中に、代わりに open
コマンドを使用する提案も見つけました。
シェル設定ファイル (bash, zsh) にこの関数を作成しました:
# creates a new terminal windowfunction new() { if ]; then open -a "Terminal" "$PWD" else open -a "Terminal" "$@" fi}
これで、
> new Projects/desktoppr
と入力して新しいターミナル ウィンドウを取得できます。 これは、履歴置換変数 !$
(前のコマンドの最後の引数) と組み合わせると非常に便利です:
> mkdir Projects/great_new_tool> new !$
また、予想外の、しかし便利な副作用として、new
関数は新しいウィンドウで ssh セッションを開くことができます:
> new ssh://[email protected]
あなたもこれが役に立つと思います!
ありがとうございました。