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, $SHELL
aber 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.