Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: bash-Parameter {${VAR}} ?

5 views
Skip to first unread message

Hauke Laging

unread,
Apr 6, 2012, 1:28:58 PM4/6/12
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
0 new messages