Starten eines PHP-Skripts über die Befehlszeile – Terminalfenster nach der Ausführung geöffnet lassen

Starten eines PHP-Skripts über die Befehlszeile – Terminalfenster nach der Ausführung geöffnet lassen

Oh, meiner Freundin gefällt es wirklich, wenn ich PHP-Skripte starte! Sie haben etwas Besonderes, sagt sie ...

Daher habe ich dieses Skript so codiert, dass es über die CLI (Command Line Interface) ausgeführt wird. Es wird also lokal ausgeführt und nicht auf einem Webserver.

Es lässt sich problemlos durch Rechtsklick > Öffnen > Im Terminal ausführen starten, schließt sich aber direkt nach der Ausführung.**Gibt es eine Möglichkeit, das Terminalfenster geöffnet zu halten?

Natürlich kann ich es über ein Terminalfenster starten – das geöffnet bleiben würde – aber ich suche nach einer Aktion mit einem Klick. Mit Bash-Skripten, die ich verwende, $SHELLaber das hat nicht funktioniert (siehe Code unten).

Bisher ist mir nur Folgendes eingefallen, sleep(10);das meinem Mädchen 10 Sekunden Zeit gibt, die Ausgabe zu überprüfen. Ich würde das Terminalfenster jedoch lieber manuell schließen.

#!/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) (erstellt: 11. März 2013 14:57:54) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies)

Antwort1

AlsSalemsagte indieser Kommentar,Sie mischen Bash- und PHP-CodeSie könnenshell_execPHP-Funktion, um dies zu verhindern:

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

    echo "Hello World \n";

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

?>

Schnurshell_exec(Zeichenfolge$cmd)— Befehl über die Shell ausführen und die vollständige Ausgabe als Zeichenfolge zurückgeben.

shell_exec

verwandte Informationen