variablen mit bash einlesen

benkokakao

Neuer User
Mitglied seit
20 Mrz 2006
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
hoffe ich mach mich nicht unbeliebt wenn ich gleich zwei threads eroeffne, aber hier geht es um bash, insofern ists ein anderes thema.

ich moechte, alternativ zum perlskript im anderen thread, ein deadagi auf bash-basis zum ausfuehren und nachherigen bearbeiten der calls verwenden. ich kann zwar problemlos dialkommandos absetzen, ich tu mich nur schwer beim einlesen des dialstatus, auch weil hier die doku/beispiele fehlt/fehlen.
Code:
#!/bin/bash

echo "EXEC DIAL `echo $1$2$3|sed s#~#\\\\\\\\\|#g`"
echo "GET VARIABLE DIALSTATUS"

Code:
AGI Rx << EXEC DIAL Zap/G1/089324324\|120\|A\(\)
    -- AGI Script Executing Application: (DIAL) Options: (Zap/G1/089324324|120|A())
    -- Requested transfer capability: 0x00 - SPEECH
    -- Called G1/089324324
    -- Zap/121-1 is proceeding passing it to SIP/siptest1.domain.com-08396f90
    -- Zap/121-1 is ringing
    -- Zap/121-1 answered SIP/siptest1.domain.com-08396f90
    -- Hungup 'Zap/121-1'
AGI Tx >> 200 result=-1
AGI Rx << GET VARIABLE DIALSTATUS
AGI Tx >> 200 result=1 (ANSWER)

so far, so good - nur wie kann ich den dialstatus jetzt in eine bash-variable einlesen? ich habs mit $result probiert, mit <STDIN> und mit allen varianten eine variable als resultat des echo-kommandos zu benutzen, mit null erfolg :(
wie geht das bloss?

p.s.:falls sich jemand ueber das ausufernde sed-kommando wundert, das ist noetig um die ~ in die pipe(|), die bei asterisk benoetigt wird umzuwandeln und wieder an asterisk zurueckzugeben.
 
habs nun selbst rausgefunden(das funktioniert immer wenn ich meine probleme poste):
Code:
echo "GET VARIABLE DIALSTATUS"
read line
status=${line:14:20}

;-)
 
ah super, dankeschoen - du hast mir arbeit abgenommen, hab grad an der verschoenerung der variable gebastelt ;-)
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.