Bash Script über Python ausführen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Guten Tag
    Ich habe folgendes Problem: Habe mir ein Bash Script geschrieben welches einen String an Google Übersetzer schickt und eine Mp3 zurückbekommt welche den String gesprochen enthält. Um das 100 Zeichen Limit zu umgehen bin ich weitergegangen und splitte das ganze. Aber bei dem Script gibt Python mir folgende Fehlermeldung zurück:

    Bei dem Script, welches nicht splittet machter auch keine Anstalten(Speech2text.sh):

    Bash
    #!/bin/bash
    say() { local IFS=+;/usr/bin/mplayer -ao alsa -really-quiet -noconsolecontrols "http://translate.google.com/translate_tts?tl=de&q=$*"; }
    say $*


    Bei diesem hier schon (hundert.sh):

    Der Aufruf:

    Code
    subprocess.call(["./hundert.sh", mail]) #funktioniert nicht
    subprocess.call(["./text2speech.sh", mail]) #funktioniert nur wenn mail >= 100 Zeichen hat aber es funktioniert
    • Offizieller Beitrag

    Hi, ich geh davon aus, das hundert.sh in wirklichkeit ne gültige shebang hat und du sie nur vergessen hast mitzukopieren. Im Moment sieht es so aus als wenn er es deswegen nicht ausführen kann weil er den interpreter nicht kennt.

    Ausführbar ist die Datei? Desweiteren haben relative Pfade in Scripten nichts zu suchen. ;)

    Es wäre sehr hilfreich wenn du dein komplettes python script mal hochladen kannst. das ""+mail+"" in deinem subprocess aufruf sieht sehr komisch aus.

  • Irgendwie kommt mir das bekannt vor - sowas ähnliches hast du doch erst vor kurzem schon mal gefragt oder nicht?

    https://www.forum-raspberrypi.de/Thread-sprache-zu-text

    Hat das nicht funktioniert?

    Und wieso benutzt du ein weiteres python script um ein bash script auszuführen? und wozu subprocess.call anstatt os.system ?

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!