PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : BASH: IF-Abfrage Fehler! Komm nicht dahinter!



linosch
08-04-2003, 10:35
Hallo zusammen,

ich muß zugeben, dass ich eigentlich nichts mit programming am Hut habe aber ich habe jetzt ein kleines Problem. Ich möchte mein DynDNS-Script ausführen wenn sich mein IP Adresse ändert. Da seit kurzem ein Router diesen Job übernimmt kann ich es leider nicht mehr über ip-up.local lösen. Ich will nun einen Cronjob minütlich aufrufen, welcher folgendes Script aufrufen soll.


#!/bin/sh

perl -e 'print join(".",unpack('C4',scalar(gethostbyname($ARGV[0]))))."\n"' host.dyndns.org > /tmp/aip

EXT=$(cat /tmp/aip)
OLD=$(cat /tmp/oip)

if [$EXT == $OLD]; then
echo "Kein Update!"
exit
elfi
echo $EXT > /tmp/oip
dyndns -ip $EXT -h host.dyndns.org -u user -p password
fi

---------------------------------------------

Leider kommt immer die Fehlermeldung: ./checkip.sh: line 8: [80.132.152.22: command not found

Ich konnte leider nach ner Stunde googlen nicht dahinter kommen. Könnt Ihr mir evtl. einen Tip geben, wo's hier hackt?


Thanx

Dirk

micha
08-04-2003, 11:45
Hi,

zwischen die eckigen Klammern und der Bedingung müssen Leerzeichen:



if [ $EXT == $OLD ]; then


Gruß micha

linosch
08-04-2003, 12:09
1000 Dank - ärgerlich, dass die Fehlermeldung dafür nicht so aussagekäftig ist!

Jetzt funktioniert es auf jedenfall.

Danke nochmals.

Gruss

Dirk