echo „ATD%NR;“ > /dev/ttySL0 ; sleep 15s ; echo „ATH0“
> /dev/ttySL0 funktioniert!!!
Na Gott sei Dank. Davon hab ich naemlich gar keine Ahnung. Aber hiervon:
Nächstes Problem wäre das Internationale Vorwahlzeichen ‚+‘
Da die Kontakte zum Großteil im internationlen Format
gespeichert sind bräuchte ich noch ein Shellscript, das ‚+‘
mit ‚00‘ ersetzt.
NR=`echo $NR |sed 's/+/00/'`
Und wenn man ehe ein script schreibt, kann man auch gleich die
Stringlänge auslesen und die sleep 15s an die länge der Telnr
anpassen.
LENNR=`echo $NR |wc -c`
Genaugenommen wird dabei der Zeilenvorschub, den das echo mit ausgibt, mitgezaehlt. Dein tatsaechlicher String ist ein Zeichen kuerzer. Messfehler, kann man auch rausrechnen. Siehe unten.
(Das Modem wählt 7 Ziffern in 10 sek)
Ganz schoen lahm, oder?
echo „ATD$nr;“ > /dev/$dev ; sleep $str_lenght*7/10s ;
echo „ATH0“ > /dev/$dev
echo "ATD`echo $NR |sed 's/+/00/'` \>/dev/$dev &&
sleep `expr \( \`echo 123456789 |wc -c\` - 1 \) * 7 / 10` &&
echo "ATD0" \>/dev/$dev
(Das - 1 wuerde ich noch weglassen, da sowohl expr als auch sleep nur mit Ganzzahlen umgehen koennen, die es durch Abschneiden der Kommastellen erhalten. Sie runden also immer nach unten und koennten so zu schnell sein.)
Also der Auftuf sollte etwa so erfolgen:
/pfad/zu/meinem/script/telescribt.sh %N ttySL0
Das kriegst Du selber hin. Falls nicht, fragen.
Gruss vom Frank.