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:
ZitatAlles anzeigen
Traceback (most recent call last):
File "shell_script.py", line 41, in <module>
subprocess.call(["./hundert.sh", "" + mail + ""])
File "/usr/lib/python3.2/subprocess.py", line 471, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python3.2/subprocess.py", line 745, in __init__
restore_signals, start_new_session)
File "/usr/lib/python3.2/subprocess.py", line 1371, in _execute_child
raise child_exception_type(errno_num, err_msg)
OSError: [Errno 8] Exec format error
Bei dem Script, welches nicht splittet machter auch keine Anstalten(Speech2text.sh):
#!/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):
INPUT=$*
STRINGNUM=0
ary=($INPUT)
for key in "${!ary[@]}"
do
SHORTTMP[$STRINGNUM]="${SHORTTMP[$STRINGNUM]} ${ary[$key]}"
LENGTH=$(echo ${#SHORTTMP[$STRINGNUM]})
if [[ "$LENGTH" -lt "100" ]]; then
SHORT[$STRINGNUM]=${SHORTTMP[$STRINGNUM]}
else
STRINGNUM=$(($STRINGNUM+1))
SHORTTMP[$STRINGNUM]="${ary[$key]}"
SHORT[$STRINGNUM]="${ary[$key]}"
fi
done
for key in "${!SHORT[@]}"
do
say() { local IFS=+;/usr/bin/mplayer -ao alsa -really-quiet -noconsolecontrols "http://translate.google.com/translate_tts?tl=de&q=${SHORT[$key]}"; }
say $*
done
Alles anzeigen
Der Aufruf: