schellskript: variablen mit leerzeichen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
eC
Beiträge: 354
Registriert: 24.07.2002 13:34:13
Wohnort: karlsruhe

schellskript: variablen mit leerzeichen

Beitrag von eC » 28.11.2002 15:41:39

Hi ich blicke folgendes Problem nicht:
Einfaches Skript:

Code: Alles auswählen

test1="TEST1"
test2="TEST2"

if [ $test1 = "TEST1" ] && [ $test2 = "TEST2" ] ; then
echo $test1;
else
echo $test2;
fi
Funktioniert einwandfrei.
Wenn ich jetzt aber

Code: Alles auswählen

test1="TEST1"
durch

Code: Alles auswählen

test1="T E S T1"
ersetze bekomme ich beim Ausführen

Code: Alles auswählen

./test.sh: [: too many arguments
Was ja eigentlich klar ist, wegen den Leerzeichen.
Nur mein reales Skript bekommt den Inhalt der Variablen halt aus dem
Programmfluß und da sind dann oft Leerzeichen drin.
Wie bekomme ich das hin?

Für Hilfe wäre ich sehr dankbar.

gruss

eC

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 28.11.2002 15:54:25

Code: Alles auswählen

if [ "$TEST" = "test" ] ; then ....
Evtl. kannst Du auch nopch härter quoten ( '$TEST' ) ich weiss aber nicht, ob dann die Variable noch expandiert wird...

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
eC
Beiträge: 354
Registriert: 24.07.2002 13:34:13
Wohnort: karlsruhe

Beitrag von eC » 28.11.2002 16:12:30

pdreker hat geschrieben:

Code: Alles auswählen

if [ "$TEST" = "test" ] ; then ....
Cool,
mit den doppelten Anführungszeichen geht es,
nur steigt mein Skript jetzt an anderer Stelle aus :x

mal schauen was da ist.

Vielen Dank für die schnelle Antwort

gruss

eC

Antworten