Portál AbcLinuxu, 6. května 2025 00:24
#!/bin/bash funtion foo () { local BAR_$1=$2 # nefunguje, mela by vzniknout promenna echo "$BAR_$1" # BAR_"obsah $1"=$2 } foo Ahoj svete # melo by vypsat "svete" # uvnitr funkce by mela vzniknout promenna # BAR_Ahoj="svete" exit 0Jak na to? Děkuji.
eval BAR_$1=$2 ref=BAR_$1 echo ${!ref}Pokud to skutečně potřebuješ a nejde to rozumně napsat bez toho, tak si ovšem myslím, že sis pro implementaci vybral nevhodný jazyk.
Pokud to skutečně potřebuješ a nejde to rozumně napsat bez toho, tak si ovšem myslím, že sis pro implementaci vybral nevhodný jazyk.Bohužel, musí to být v BASHi. I s tím to snad bude vcelku rozumné, alespoň doufám. Není to nic extra velikého, jen jedna fukce, která má být jádrem pro rozsáhlejší script...
#!/bin/bash foo () { local var=BAR_$1 eval $var=$2 echo ${!var} } foo Ahoj svete # melo by vypsat "svete" # uvnitr funkce by mela vzniknout promenna # BAR_Ahoj="svete" echo $BAR_Ahoj exit 0
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.