Iniciando script php através da linha de comando - mantendo a janela do terminal aberta após a execução

Iniciando script php através da linha de comando - mantendo a janela do terminal aberta após a execução

Ah, minha namorada gosta muito quando eu lanço scripts php! Há algo especial neles, ela diz...

Assim, codifiquei este script para ser executado através da CLI (Command Line Interface) - para que ele seja executado localmente, não em um servidor web.

Ele inicia perfeitamente clicando com o botão direito> abrir> executar no terminal, mas fecha logo após a execução.**Existe uma maneira de manter a janela do terminal aberta?

É claro que posso iniciá-lo através de uma janela de terminal - que permaneceria aberta - mas estou procurando uma ação de um clique. Com scripts bash que eu uso, $SHELLmas não funcionou (veja o código abaixo).

Até agora, a única coisa que descobri foi sleep(10);que me dá 10 segundos para minha garota verificar o resultado. Prefiro fechar a janela do terminal manualmente.

#!/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) (construído: 11 de março de 2013 14:57:54) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies )

Responder1

ComoSalémdisse emeste comentário,você está misturando código bash e php. Você pode usarshell_execfunção php para evitar isso:

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

    echo "Hello World \n";

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

?>

cordashell_exec( corda$ cmd)— Execute o comando via shell e retorne a saída completa como uma string.

shell_exec

informação relacionada