If - Bedingung - komische Fehlermeldung

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
wodim
Beiträge: 83
Registriert: 08.07.2009 21:51:56
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Gilching
Kontaktdaten:

If - Bedingung - komische Fehlermeldung

Beitrag von wodim » 13.01.2011 17:47:04

Hallo,

ein ganz komischer Fehler:

Code: Alles auswählen

67 echo "Anzeigen (j) / Weiter (beliebige Taste / Enter)?"; read rc
68 if  [ $rc = "j" ]; then

... mache irgendwas

75 fi

Das funktioniert, der Code innerhalb von if - fi wird nur abgearbeitet, wenn ein kleines j eingetippt wurde, sonst übersprungen. Aber dann kommt eine Meldung, die ich mir nicht erklären kann:

Code: Alles auswählen

Zeile 68: [: =: Einstelliger (unärer) Operator erwartet.
:? :? :? :?
Es sind die Zwänge, die unser Leben beherrschen.
Nein, der Schlüssel zur Freiheit ist der Mut zur Wahrheit.

Aliquando
Beiträge: 285
Registriert: 15.01.2008 13:57:41

Re: If - Bedingung - komische Fehlermeldung

Beitrag von Aliquando » 13.01.2011 18:34:17

Hallo,

ich bin kein Experte für Shell Scripte, aber hast du schon mal das $rc in "" gepackt (da du ja Zeichenketten miteinander vergleichen möchtest)?
Also so:

Code: Alles auswählen

if  [ "$rc" = "j" ]; then
Schau dir mal das Beispiel dort >> http://www.chemie.fu-berlin.de/chemnet/ ... sh.html#if an

wodim
Beiträge: 83
Registriert: 08.07.2009 21:51:56
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Gilching
Kontaktdaten:

Re: If - Bedingung - komische Fehlermeldung

Beitrag von wodim » 13.01.2011 19:24:51

Aliquando hat geschrieben:Hallo,

ich bin kein Experte für Shell Scripte, aber hast du schon mal das $rc in "" gepackt (da du ja Zeichenketten miteinander vergleichen möchtest)?
Also so:

Code: Alles auswählen

if  [ "$rc" = "j" ]; then
Das war's, danke! :THX: *** an die Stirne klatsch ***
Es sind die Zwänge, die unser Leben beherrschen.
Nein, der Schlüssel zur Freiheit ist der Mut zur Wahrheit.

Antworten