Hauke Laging
unread,Apr 6, 2012, 1:28:58 PM4/6/12You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
Magnus Warker wrote:
In die falsche Gruppe... (F'up2 dcous)
> ich verwende eine Komma-separierte Liste, deren Einträge zu Optionen für
> einen rsync-Aufruf expandiert werden:
>
> liste=aaa,bbb,ccc
> optionen=`eval echo --exclude={${liste}}`
>
> Danach enthält $optionen folgendes:
> "--exclude=aaa --exclude=bbb --exclude=ccc"
>
> Soweit so gut. Ein Problem gibt es allerdings, wenn die Liste nur einen
> Eintrag enthält:
>
> liste=aaa
>
> Danach enthält $optionen folgendes:
> "--exclude={aaa}"
>
> D. h. die geschweiften Klammern sind unerwünscht.
>
> Warum ist das so und wie kann man das beheben?
Das nennt sich in der bash brace expansion. Offenbar funktioniert die nur,
wenn in {} ein Komma auftaucht; schade eigentlich.
Die einzige Möglichkeit, die ich sehe, ist: Prüfe vorher, ob es mehrere
Elemente sind. Nur dann die {} in die Variable einsetzen.
CU
Hauke