コマンドラインからOSXのターミナルを閉じるにはどうすればよいですか?


回答:


87

Terminal.appによって表示されるウィンドウは、その内部で実行することを選択したプロセスのフロントエンドにすぎません-あなたの場合、Unixシェルです。シェルを終了すると、Terminal.appはデフォルトでウィンドウを閉じないため、終了後に実行したコマンドの出力を検査することができます。

ここで設定を変更できます

ターミナル設定->設定->シェル:

どちらかに

  1. シェルの終了ステータスが何であれ、常にウィンドウを閉じます
  2. シェルがきれいに終了した場合、ウィンドウを閉じます
  3. ウィンドウを開いたままにします(デフォルト)

それに加えて、Cmd-WでOSXのウィンドウを(ほぼ)いつでも閉じることができるため、自動的に閉じなくてもマウスは必要ありません。

もう1つのヒント:exitと入力する代わりにCtrl-Dを押すのが好きです。2つのキーと5つのキー。


11
ヨセミテではあります:環境設定- >プロファイル- >シェル- >「いつシェルが終了」...シェルは、あなたが一般-で選択した方のシェルです>起動時オープンで...
cloudsurfin

シェルが終了したら、同じウィンドウで新しいシェルを開始できますか?もしそうなら、どのように?
Sodved

@Sodved:私はそうは思いませんが、間違っている可能性があります。
アマダン

これは、コマンドライン操作を提案しないため、尋ねられた質問には答えません。
クリスストラットン

あなたはそれが直接尋ねた質問に答えていないが、それは正しいことをしている@ChrisStratton ないの使用促進exitOPは元々使用していたコマンドを。
jdersen


10

はいあります。たとえば、AppleScriptを使用してそれを実現できます。

osascript -e 'tell application "Terminal" to close first window'

最初のウィンドウは常に現在アクティブなウィンドウです。それはあなたが閉じたいものです。

ウィンドウを閉じる前に、ターミナルは本当にウィンドウを閉じたいかどうか尋ねる場合があります。これは設定によって異なります。「シェルが正常に終了した場合、または他のプロセスが実行されていない場合にのみウィンドウを閉じる」を選択した可能性があります。(これがデフォルト設定である可能性があります。)その場合& exit、コマンドに追加すると、ウィンドウはすぐに、尋ねることなく閉じます。

osascript -e 'tell application "Terminal" to close first window' & exit

これはほとんど正しいですが、実際には、「最初のウィンドウ」は常にコマンドを実行しているウィンドウではありません
クリスストラットン

この手法openは、新しいターミナルプロファイルを追加するために呼び出された後、うまく機能します。
ジョシュハブダス

2

実際、この要件のために、ターミナルにいくつかの設定を設定する必要があります。以下の手順に従ってくださいexit。コマンドでターミナルを閉じます。

ターミナルが起動したら、+ ,を押してプリフレンスウィンドウを開きます。以下の画面が表示されます:

ここに画像の説明を入力してください

次に、シェルタブを押すと、以下の画面が表示されます。

ここに画像の説明を入力してください

シェルの終了時を選択Close if the shell exited cleanlyます

ターミナルは、exitコマンドを実行するだけで終了する準備ができています。


1

killallの提案に反対することもお勧めします。提案されているように、シェルの終了が成功した場合、設定を変更してウィンドウを閉じます。本当に怠け者の場合(私のように)、bashプロファイルを開き、エイリアスを追加します。私は私のセットを持っているので、私がしなければならないのは「q」と入力するだけです。


killall答えのだまし。
ジョシュハブダス

-1

コマンドラインからアプリケーション自体を終了する場合:

killall Terminal

4
それは有害と見なされます。killallがUnixバージョンごとに異なることを行うという事実とは別に、アプリケーションを終了するように求めるのではなく、アプリケーションを強制終了するのは良くありません。
フロレンツクレー

非常に良い解決策。ターミナルを終了するだけなので、質問はありません!! ベストアンサー。
メディコ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.