SHELL Ausgabe in Variable umleiten/ Frage zu Pipes
Andreas
- php
Hallo!
ich überlege gerade, wie ich die Ausgabe eines SHELL Befehls, den ich mit system() einbinde in eine Variable(in PHP) umleiten kann. Soll ein String sein, nicht ein Array wie bei exec(). Wenn das nicht geht, wie mache ich am einfachsten aus einem einfachen array, den exec() erzeugt einen String? Was ist mit Zeilenumbrüchen - gehen die dabei verloren?
2. Frage ist zu Pipes(|), kann ich für jeden Teil der durch eine Pipe vom anderen getrennt ist kpl. alle seine Optionen verwenden, halt genau so wie alleine in der Shell, halt bis auf Eingabe und Ausgabe, die ja jeweils nur beim 1. und letzen Teil relevant sind, oder?
And dieser Stelle schonmal vielen Dank an Achim Schrepfer für seinen wirklich gelungenen Featured Artikel 'Linux für Webworker' http://aktuell.de.selfhtml.org/artikel/server/linux/index.htm
war sehr hilfreich!
Grüße
Andreas
Hoi,
ich überlege gerade, wie ich die Ausgabe eines SHELL Befehls, den
ich mit system() einbinde in eine Variable(in PHP) umleiten kann.
Bei 'system()' wohl gar nicht. Aber dafuer gibt es die Backticks:
$text = befehl
;
Mehr dazu unter
http://www.php.net/manual/en/language.operators.execution.php
- Frage ist zu Pipes(|), kann ich für jeden Teil der durch eine
Pipe vom anderen getrennt ist kpl. alle seine Optionen
verwenden,
Ja, natuerlich. Ich verwende z. B. oft sowas wie
ps ax|grep irgendwas|grep -v grep
Gruesse,
CK
Holladiri
Bei 'system()' wohl gar nicht.
Jep. system() ist ne Laber-Funktion und gibt grundsätzlich alles aus, selsbt wenn man versucht, sie mit einem vorangestellten "@" zum Schweigen zu bringen ...
Aber dafuer gibt es die Backticks:
$text =
befehl
;
Anstelle derer kann er natürlich auch shell_exec() verwenden.
http://www.php.net/manual/en/function.shell-exec.php
Die ist aber identisch zu den Backticks.
Ich mag sie nur lieber, weil das ganze irgendwie ... hm ... "geordneter" ausschaut.
Ciao,
Harry
Hallo!
Vielen Dank! Daran hatte ich gar nicht gedacht, aber das ist ja perfekt, obwohl ich im Augenblick lieber versuche, die kpl. Aktion
(mysqldump|gzip|gpg -e > output.gpg)
über die SHELL abzuwickeln. Mein Problem ist lediglich der letzte Schritt, und zwar bekomme ich die Datei nicht verschlüsselt
http://forum.de.selfhtml.org/?m=75285&t=13530
Vielleicht habt Ihr ja nen kleinen Tipp für mich, da ich da einfach nicht weiter komme :-(
Viele Grüße
Andreas