Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
@heiliga horsd: Das funktioniert so nicht weil da keine Shell beteiligt ist, die das '>' als Umleitung interpretieren könnte. Du kannst doch aber angeben was mit `stdout` und `stderr` passieren soll. Also zum Beispiel mit den entsprechenden Konstanten aus `subprocess` Umleitungen angeben, oder offene Dateiobjekte in welche die Ausgaben dann geschrieben werden. Gibt's da keine Beispiele in der Dokumentation!?
Achso ich dachte das wird automatisch per Shell gemacht
Naja das Problem/Sinn der Sache ist, dass das Programm erst zur Laufzeit erfährt, was aufgerufen wird. Ich brauch halt öfters mal irgendwelche Befehle, und die dauernd in der Bash-History zu suchen nervt gewaltig! Daher dachte ich, schreib ich mir ein Programm, welches eine Textdatei ausließt (mit den Befehlen drin) und dann kann man per Tastendruck einen davon starten.... das mit dem shell=true werd ich sofort ausprobieren!
@heiliga horsd: Wenn Du das von einer Shell interpretieren lassen willst, dann übernimmt *die* ja das zerlegen der Argumente. Und die Zeichenkette ``'true'`` ist etwas anderes als der Wahrheitswert ``True``.
Du solltest dir echt die Dokumentation ansehen, schon allein dein 'true' lässt einen Python-Programmierer grausen. Und Blackjack hat ja schon die Lösung verraten, also 1) Beitrag nochmal lesen 2) Beitrag verstehen 3) Funktionierenden Code schreiben.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Nun noch eine Frage: Wenn ich etwas per root ausführen will - sprich mit su/sudo -, brauch ich da irgendeinen Kniff/Trick? Immerhin muss ich dann ja noch irgendwie das Passwort übergeben und weiß grad nicht so recht wie ich das machen soll....
@Leonidas: Joa das mit dem True war echt peinlich, bin heute ein wenig durcheinander.... schlecht geschlafen, schlechtes Wetter, bisschen daneben...
Das laesst den Admin in mir irgendwie grausen. Was genau hast du denn vor?
Anders gefragt, warum laesst sich das beispielsweise nicht mit (Bash-)Aliasen loesen, oder indem du den Interpreter mit Root-Rechten startest?
Über das Root-Problem hab ich mir bisher kaum Gedanken gemacht, manchmal hab ich halt bspw. Probleme mit den Rechten (Bug in Ubuntu?), bspw. kann ich dann nur als Root Geräte mounten oder muss per halt (braucht root-Rechte) den PC ausschalten, weil er sich sonst nur abmeldet etc.
Interpreter mit Root-Rechten starten wäre eine Idee, macht mir aber auch irgendwie ein mulmiges Bauchgefühl wenn man dran denkt, dass man da doch plötzlich recht viel kaputt machen kann.
Über das Root-Problem hab ich mir bisher kaum Gedanken gemacht, manchmal hab ich halt bspw. Probleme mit den Rechten (Bug in Ubuntu?), bspw. kann ich dann nur als Root Geräte mounten oder muss per halt (braucht root-Rechte) den PC ausschalten, weil er sich sonst nur abmeldet etc.
Nee, nee - das ist kein Bug, sondern gewollt. Führ' dir am besten nochmal des Rechte-System von Linux und die Besonderheiten von Ubuntu vor Augen (oder les' bei http://wiki.ubuntuusers.de nach ). Ggf. ist auch PolicyKit was für dich, je nach Problemstellung / "Welches-Recht-wird-gebraucht?". Wobei PolKit nicht wirklich trivial ist...
Über Policy-Kit hab ich mich informiert, ich könnte es durchaus mit pkexec machen! IMO ist das sicherlich ein Bug, wenn ich meinen PC heute normal ausschalten kann und morgen nur mit Root-Rechten, heute auf USB-Geräte zugreifen kann und morgen nicht etc. und sich das regelmäßig wiederholt kann das nicht gewollt sein.... zumindest kenne ich keinen, der sowas will....
ls -l war ja nur ein exemplarisches Beispiel, ich will halt nur den Prozess starten und eventuell anfallende Ausgaben irgendwie speichern können, Weiterverarbeitung im Programm ist nicht nötig, trotzdem danke für dein Beispiel!