コマンドラインから PHP スクリプトを起動する - 実行後もターミナル ウィンドウを開いたままにする

コマンドラインから PHP スクリプトを起動する - 実行後もターミナル ウィンドウを開いたままにする

ああ、彼女は私が PHP スクリプトを起動するのを本当に喜んでいます! 何か特別なものがあるのよ、と彼女は言っています...

したがって、このスクリプトは CLI (コマンド ライン インターフェイス) を介して実行されるようにコーディングしました。つまり、Web サーバー上ではなく、ローカルで実行されます。

右クリック > 開く > ターミナルで実行で正常に起動しますが、実行後すぐに閉じます。**ターミナルウィンドウを開いたままにする方法はありますか?

もちろん、ターミナル ウィンドウから起動することもできます (開いたままになります) が、ワンクリック アクションを探しています。bash スクリプトを使用しましたが、$SHELL機能しませんでした (以下のコードを参照)。

これまでのところ、私が思いついた唯一の方法は、sleep(10);私の娘が出力をチェックする時間を 10 秒与えることです。ただし、ターミナル ウィンドウは手動で閉じるほうがいいと思います。

#!/usr/bin/php -q
<?php

    echo "Hello World \n";

    # wait before closing terminal window
    sleep(10);

    # the following line doesn't work
    $SHELL;

?>

(PHP 5.4.6-1ubuntu1.2 (cli) (ビルド: 2013 年 3 月 11 日 14:57:54) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.4.0、Copyright (c) 1998-2012 Zend Technologies )

答え1

としてセーラム言ったこのコメントbashとphpのコードを混在させています. 使用することができますシェル実行これを防ぐための PHP 関数:

#!/usr/bin/php -q
<?php

    echo "Hello World \n";

    # prevent to close terminal using php
    shell_exec('$SHELL');

?>

シェル実行( 弦$コマンド— シェル経由でコマンドを実行し、完全な出力を文字列として返します。

シェル実行

関連情報