Запуск PHP-скрипта через командную строку — сохранение окна терминала открытым после выполнения

Запуск PHP-скрипта через командную строку — сохранение окна терминала открытым после выполнения

Ой, моей девушке очень нравится, когда я запускаю php-скрипты! В них есть что-то особенное, говорит она...

Поэтому я закодировал этот скрипт для запуска через CLI (интерфейс командной строки), то есть он работает локально, а не на веб-сервере.

Он прекрасно запускается через правую кнопку мыши > Открыть > Запустить в терминале, но закрывается сразу после выполнения.**Есть ли способ оставить окно терминала открытым?

Конечно, я могу запустить его через окно терминала - которое останется открытым - но я ищу действие в один клик. С помощью скриптов 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) (создано: 11 марта 2013 г. 14:57:54) Авторские права (c) 1997-2012 PHP Group Zend Engine v2.4.0, Авторские права (c) 1998-2012 Zend Technologies )

решение1

КакСалемсказал вэтот комментарий,вы смешиваете bash и php код. Вы можете использоватьshell_execФункция php для предотвращения этого:

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

    echo "Hello World \n";

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

?>

нитьshell_exec( нить$cmd)— Выполнить команду через оболочку и вернуть полный вывод в виде строки.

shell_exec

Связанный контент