Iniciar script php a través de la línea de comando: mantener abierta la ventana del terminal después de la ejecución

Iniciar script php a través de la línea de comando: mantener abierta la ventana del terminal después de la ejecución

¡Oh, a mi novia realmente le gusta cuando lanzo scripts php! Hay algo especial en ellos, dice...

Por lo tanto, codifiqué este script para que se ejecute a través de la CLI (Interfaz de línea de comando), de modo que se ejecute localmente, no en un servidor web.

Se inicia bien haciendo clic derecho > abrir > ejecutar en la terminal pero se cierra inmediatamente después de la ejecución.**¿Hay alguna manera de mantener abierta la ventana de la terminal?

Por supuesto, puedo iniciarlo a través de una ventana de terminal, que permanecería abierta, pero estoy buscando una acción con un solo clic. Con los scripts bash que uso $SHELLpero no funcionó (ver el código a continuación).

Hasta ahora, lo único que se me ocurrió es sleep(10);darme 10 segundos para que mi chica verifique el resultado. Sin embargo, prefiero cerrar la ventana de la 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) (compilado: 11 de marzo de 2013 14:57:54) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies)

Respuesta1

ComoSalemdijo eneste comentario,estás mezclando código bash y php. Puedes usarshell_execFunción php para evitar esto:

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

    echo "Hello World \n";

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

?>

cadenashell_exec( cadena$cmd)— Ejecute el comando a través del shell y devuelva el resultado completo como una cadena.

shell_exec

información relacionada