Sh- Scripting: Inkrementieren

GWFgamer

Ensign
Registriert
Juli 2006
Beiträge
167
Hallo liebe Community,

ich schreibe gerade ein Sh- Script (unter Solaris) und komme leider alleine nicht weiter, daher bitte ich um Hilfe :)

Ich habe folgenden Code Schnipsel, der, wenn man in die Konsole eingibt, prima funktioniert:

Code:
AB=`cat DATEI.TXT`
AB=$((AB + 1))
sed 'd' DATEI.TXT > DATEI.TXT
echo $AB> DATEI.TXT

Der Inhalt der DATEI.TXT ist ausschliesslich eine Zahl, z.B. die 10. Diese soll in der Variable AB gespeichert und um 1 nach oben gezählt werden. Anschliessend wird die Zahl aus der Datei gelöscht und der Inhalt der Variable in die Datei geschrieben.

Funktioniert soweit auch sehr gut. Wenn ich dies allerdings in ein bestehendes Script einfuege (in dem es die AB Variable natuerlich noch nicht anderweitig gibt), dann funktioniert das Inkrementieren leider nicht.

Fehlermeldung:
Code:
./IN_SCRIPT.sh: syntax error at line 101: `AB=$' unexpected

Habt ihr ne Idee woran das liegen koennte? Vielen Dank!
Ergänzung ()

Das ist natuerlich typisch, den ganzen Vormittag gesucht und dann 20 Minuten nach dem Post die Lösung finden ^^

Ich habe einfach

Code:
2.AB=$((AB + 1))

durch

Code:
AB=`expr $AB + 1`

ersetzt. Nur falls mal jemand das selbe Problem haben sollte ^^

Warum die erste Version im Script nicht funktioniert, keine Ahnung ;)
 
Zuletzt bearbeitet:
Normalerweise sollte ein Shellscript unter UNIX immer mit folgender Zeile beginnen:
Code:
#!/bin/sh
oder
Code:
#!/bin/ksh
oder ... je nach gewählter Shell.

Wie beginnt dein IN_SCRIPT.sh ? Wird da vielleicht eine andere Shell ausgewählt (ksh, bash, csh, ...)? Das würde den Fehler erklären...
 
Zuletzt bearbeitet:
Zurück
Oben