Shellscript: anweisung

Hi,
ich habe ein (ksh) Shellscript was folgendes können soll:
Wird $VAR=1 ODER als Kommandozeilenparameter „-m“ angegeben soll was geschehen. Bis her hab ich:

#!/bin/ksh
VAR=01
if [$VAR = "01" -o $1 = "-m"]; then # [] steht für 
echo "1" 
else 
echo "x"
fi

leider führt das zu

./versuch[3]: test: argument expected

wenn kein Parameter übergeben wird. Wo ist der Fehler? I

Was ich versucht habe:
a)

if [-z $1]; then # wenn S1 leer ist 
 OPTION="-xyz"
 else echo ""
fi
VAR1=11
if [$VAR1 = "01" -o $OPTION = "m"]; then
...

=> (bei Parameter vorhanden)
./versuch[9]: test: argument expected

b)

if [$1 = "-m"]; then

=> (ohne irgendeinen Parameter)
./versuch[12]: test: argument expected

Dank und Grüße,
J~

Hi !

Hi,
ich habe ein (ksh) Shellscript was folgendes können soll:

Sieht bash ähnlich, ksh habe ich leider nicht, evtl. passt es trotzdem:

if [$VAR = „01“ -o $1 = „-m“]; then # [] steht für

if ["$VAR" = „01“ -o „$1“ = „-m“]; then

Alexander

Hi,

es waren tatsächlich die fehlenden Anführungsstriche! Ich habe es _eben grade_ selbst rausgefunden und wollte nur noch schnell das Script fertig machen bevor ich hier 'ne Lösung poste. Trotzdem vielen Dank :smile:

if ["$VAR" = „01“ -o „$1“ = „-m“]; then

dummerweise ging es bei $VAR „zufällig“ auch ohne was mich nicht auf die richtige Idee brachte.

Grüße,
J~