abw1oim
Aktives Mitglied
- Mitglied seit
- 26 Mrz 2007
- Beiträge
- 959
- Punkte für Reaktionen
- 4
- Punkte
- 18
Ich hasse verschiedene bash-Implemetierungen
Du kannst an der Stelle folgendes tun (Achtung, da kommen gleich zwei Teile nacheinander, Änderungen sind fett
Danach probiers noch mal. Das Problem mit Deiner bash-Version dürfte sein, dass sie entweder
- regex nicht beherrscht
- oder eine andere Syntax erwartet
Die Änderung sollte helfen.
@kasper-ls: Falls Du den Thread noch verfolgst: Ich schlage vor, dass Du mal die Umsetzung von regex auf sed in eine neue Version packst, da es hier offenbar einige mit den inkompatiblen bash-Versionen gibt.
Du kannst an der Stelle folgendes tun (Achtung, da kommen gleich zwei Teile nacheinander, Änderungen sind fett
Code:
## Pruefen, ob eine Ermittlungsroutine fuer die Rufnummer vorhanden ist (mit Daten aus Skript)
function check_land {
index=0
COUNTRY=""
while [ "$index" -lt "$CLAND" ]; do
TEST=`echo $NUMMER | sed -e "s/^\+${CC[$index]}//"`
if [ "$TEST" != "$NUMMER" ]; then
#if [[ "$NUMMER" =~ ^\+${CC[$index]}.* ]]; then
if [ "${NPA[$index]}" != "0" ]; then
if [ "${NPA[$index]}" == "NPA_US" ]; then
for i in "${NPA_US[@]}"; do
[B]TEST2=`echo $NUMMER | sed -e "s/^\+${CC[$index]}$i//"`
if [ "$TEST2" != "$NUMMER" ]; then
#if [[ "$NUMMER" =~ ^\+${CC[$index]}$i.* ]]; then[/B]
COUNTRY=${LAND[$index]}
CINDEX=$index
break
fi
done
else
for i in "${NPA_CA[@]}"; do
[B] TEST2=`echo $NUMMER | sed -e "s/^\+${CC[$index]}$i//"`
if [ "$TEST2" != "$NUMMER" ]; then
#if [[ "$NUMMER" =~ ^\+${CC[$index]}$i.* ]]; then[/B]
COUNTRY=${LAND[$index]}
CINDEX=$index
break
fi
done
fi
else
COUNTRY=${LAND[$index]}
CINDEX=$index
fi
fi
if [ "$CINDEX" -ne "-1" ]; then
break
fi
let "index = $index + 1"
done
if [ $CINDEX -ne -1 ]; then
echo "Ländererkennung" >> $LOGFILE
echo "Erkanntes Land: " $COUNTRY >> $LOGFILE
else
echo "keine Reverssuche für Land des Anrufers" >> $LOGFILE
fi
}
Danach probiers noch mal. Das Problem mit Deiner bash-Version dürfte sein, dass sie entweder
- regex nicht beherrscht
- oder eine andere Syntax erwartet
Die Änderung sollte helfen.
@kasper-ls: Falls Du den Thread noch verfolgst: Ich schlage vor, dass Du mal die Umsetzung von regex auf sed in eine neue Version packst, da es hier offenbar einige mit den inkompatiblen bash-Versionen gibt.