bash quoting, word splitting oder was auch immer

Frank Loeffler knarf.loeffler at freenet.de
Don Aug 28 21:07:42 CEST 2003


Hi,

Matthias Czapla wrote:
> EXCL="--exclude='bla/*' --exclude='suelz'"

Lass die ' weg:

EXCL="--exclude=bla/* --exclude=suelz"

Dann sollte das klappen. Eine genaue Erklaerung kann ich aber nicht 
liefern, vielleicht kann das ja jemand anders. :-)

Ich denke, dass es wohl etwas damit zu tun haben koennte, dass evl. erst 
" und ' behandelt werden und danach Sachen wie $ und *.

Es gibt da den kleinen Unterschied:

$ export EXCL="--exclude='bla/*' --exclude='suelz'"
$ echo $EXCL
--exclude='bla/*' --exclude='suelz'
$ echo --exclude='bla/*' --exclude='suelz'
--exclude=bla/* --exclude=suelz

Allerdings ueberlege ich mir gerade, dass die ' ja durchaus einen Sinn 
haben (Man stelle sich Namen mit Freizeichen drin vor). Ein Verzeichnis 
'bla/a b' verhindert trotz Weglassen der ' aber nicht das Einpacken von 
'b'. Das verstehe ich jetzt nicht. Vielleicht ist es schon zu spaet. :-)

Frank