Appleコマンドファイルが早期に終了する


2

私が書いた.command、私はそれを起動すると、それだけで終了していることのスクリプトを、私は何が起こっているのか見ることが迅速にです。どうすれば開いたままにできますか?

回答:


8

あなたは、ダブルクリックすると.command、Finderで、ターミナルがオープンし、実行します最後には、シェルを終了し、あなたはターミナルの環境設定は、この問題が発生したときに、ウィンドウを閉じるように設定されています。/path/to/your.command ; exit;exit

  • [ターミナル]-> [設定]-> [設定]-> [デフォルトとしてマークされているテーマ]-> [シェル]-> [シェルが終了したとき]に移動し、[ウィンドウを閉じない]を選択します。

あるいは、ターミナルの設定を変更したくない場合:

  • コマンドが終了した後に読み取るコマンドをSTDOUTに出力する場合は、コマンドの出力をパイプ処理することがlessできますq|lessスクリプトのコマンドの最後に追加するだけです。

編集:

  • より柔軟なオプションが見つかりました。less何らかの理由で何かをパイプ処理することが実用的でない場合、またはスクリプトが複雑すぎる場合は、完了する前にユーザーからの入力を待つ最後のコマンドを追加できます。使った
$ read -n 1 -p「完了。任意のキーを押して終了します。」

(プロンプトを表示している間、1文字の入力を待ちます。)


ありがとう!コマンドをパイピングすることを考えましたが、問題は、コマンドラインからコマンドを実行した場合にコマンドが正常に機能することですが、何らかの理由でファインダーを介してコマンドを開くと機能しません。
キットサンデ

1
実際に尋ねた質問ではなく、Finderから開いたときにコマンドが機能しない理由を尋ねるべきでした:)。また、ソースコードの貼り付けも非常に役立ちます。
ジェイソンサラズ

@JasonSalazいいえ、その質問はstackoverflowに行きました。ウィンドウを開いたままにしておくことは別の問題です。
キットサンデ

.commandはApplescriptではなくシェルスクリプトであるという事実を思い出しました。つまり、Ask Differentでトピックから外れていることを意味します。だから、あなたは正確に正しいことをしました。ありがとうございました。
ジェイソンサラズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.