Was bedeutet "unary operator expected" [gelöst]

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
ding280
Beiträge: 324
Registriert: 15.04.2005 18:31:18

Was bedeutet "unary operator expected" [gelöst]

Beitrag von ding280 » 17.12.2005 15:55:12

Hallo,

ich habe ein Script geschrieben, aber wenn ich versuche es auszuführen kommt folgende Meldung

Code: Alles auswählen

root@Laptop:~/backup# ./start_backup.sh
./start_backup.sh: line 34: [: 12: unary operator expected
./start_backup.sh: line 45: [: 50: unary operator expected
./start_backup.sh: line 56: [: 17: unary operator expected
##############################
Es gibt nichts zu tun!
##############################
Beendet
In Zeile 34 steht:

Code: Alles auswählen

elif [ $currentMonth != $lastBackupMonth ]
Das komplette Script steht unter
http://nopaste.debianforum.de/1852


Was muss ich tun, damit das Script funktioniert?

Gruß Tom
Zuletzt geändert von ding280 am 17.12.2005 16:18:21, insgesamt 1-mal geändert.

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 17.12.2005 16:01:29

Code: Alles auswählen

elif [ "$currentMonth" != "$lastBackupMonth" ]
unary operator heißt es darf nur EIN Wert da sein.. das Problem:

Code: Alles auswählen

currentMonth="Februar xyz"
if [ $currentMonth != "Februar" ]
# das wird dann erweitert zu:
if [ Februar xyz != Februar ]
# und das geht nicht.. daher die Kommata aussen herum
if [ "Februar xyz" != "Februar" ]
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

ding280
Beiträge: 324
Registriert: 15.04.2005 18:31:18

Beitrag von ding280 » 17.12.2005 16:09:33

Hallo,

wunderbar, das funktioniert jetzt, vielen dank.

Gruß Tom

Antworten