Ой, моей девушке очень нравится, когда я запускаю 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)— Выполнить команду через оболочку и вернуть полный вывод в виде строки.