linux-l: python

Peter J. Weyers weyers at ifh.de
Mo Apr 20 09:12:36 CEST 1998


On Mon, 20 Apr 1998, Michael Dietrich wrote:

> ich habe ein kleines problem mit python. ich setze ueber system()
> einen befehl ab, den mir python jedoch irgendwie vor der ausfuehrung
> veraendert. das modul laeuft unter dem webserver boa. gibt man die
> befehlsfolge direkt in den interpreter ein, laeuft alles:
> 	>>> a = "echo écho \"hallo mdt\" | mail -s \"hi\" mdt' | at 1:25"

Willst Du damit
 >>> a = "echo 'echo \"hallo mdt\" | mail -s \"hi\" mdt' | at 1:25"

sagen? Interessant, wass Mutt daraus macht ;-).

Meinst Du mit "Im Programm" als normales User Skript oder im Webserver?
Vielleicht hat das Skript, wenn es vom Webserver aufgerufen wird, keine
Rechte, 'at' abzusetzen?

Weiterer Tip waere, die ausseren " durch ` zu ersetzen (ist IMHO legitime
Quotes in Python) und die \" durch ".

> merkwuerdig ist, das backslashe vor dem pipezeichen das verhalten
> veraendern. damit kommt es zu rueckgabewerten von 0, jedoch bekommt
> at garkeinen befehl.

Und was wird ausgegeben? Ich wuerde vermuten, dass dann eben die ganze
Zeile inklusive | als Argumente von "echo" interpretiert wird - waere doch
logisch, oder?

Was gibt denn "print a" aus?

> jemand eine idee?

Mehrere wie Du siehst. Fragt sich, ob gute ;-)

Gruss,

Peter

P.S.: Mein Python Manual empfielt statt "posix" "os" zu verwenden.






Mehr Informationen über die Mailingliste linux-l