Jörg Wunsch schrieb:
>> Hier ist ein echtes Real-World-Beispiel
>
> Naja, ein reichlich unportables. Posix, ähem, SUSPv2 meint dazu:
>
> "Applications must select macro names from the set of characters
> consisting solely of periods, underscores, digits and alphabetics from
> the portable character set ..."
Och, das ist aber schade. Dann sind also ausdrucksstarke Variablennamen
verboten? Solche technich völlig unbegründeten Einschränkungen erinnern
mich irgendwie an Windows & Co.
GNU-Make gefällt mir da viel besser:
"A variable name may be any sequence of characters not containing ‘:’,
‘#’, ‘=’, or leading or trailing whitespace."
Das folgende, aus drei Zeichen bestehende und nicht einmal in GNU-Make
als Variablenname zulässige Symbol bezieht sich auf meinen Beitrag bis
hierher: ;-)
Hier ist noch ein (wenn auch etwas an den Haaren herbeigezogenes)
Beispiel, wo auch in einem SUSv2-konformen Makefile die geschweiften
Klammern benötigt werden:
1 | a = f(x)
|
2 | b = ${a:x)=y)} # liefert f(y)
|
3 |
|
4 | all:
|
5 | @echo "$(b)"
|