subprocess call verhält sich anders als aufruf in der shell
Verfasst: Dienstag 22. Januar 2013, 11:56
Hi,
ich habe ein bashscript über das ich mails mit anhang sende und welches ich mit ein paar Parametern aufrufen muss.
Setze ich den Befehl direkt in der Shell ab, funktioniert alles ohne probleme, rufe ich es aus einem Python-Script per subprocess.call auf, kommt der Anhang nicht mit, und ich bekomme eine komische fehlermeldung, eine mail wird aber gesendet.
Kann mir vielleicht jemand auf die Sprünge helfen?
ich habe ein bashscript über das ich mails mit anhang sende und welches ich mit ein paar Parametern aufrufen muss.
Setze ich den Befehl direkt in der Shell ab, funktioniert alles ohne probleme, rufe ich es aus einem Python-Script per subprocess.call auf, kommt der Anhang nicht mit, und ich bekomme eine komische fehlermeldung, eine mail wird aber gesendet.
Kann mir vielleicht jemand auf die Sprünge helfen?
Code: Alles auswählen
#! /usr/local/bin/python
import subprocess
mlsnd = ' '.join([
'/home/***/bin/mail2.sh',
'***@***.de',
'***@***.de',
'"Betreff"',
'"see attachment for details"',
'"***.csv"'
])
mlsnd = ' '.join(mlsnd)
print mlsnd
subprocess.call(mlsnd, shell=True)
Code: Alles auswählen
[***@*** ~/***]$ python mailtest.py
/home/***/bin/mail2.sh ***@***.de ***@***.de "Betreff" "see attachment for details" "***.csv"
[[: not found
[***@*** ~/***]$ /home/***/bin/mail2.sh ***@***.de ***@***.de "Betreff" "see attachment for details" "***.csv"
[***@*** ~/***]$