Portál AbcLinuxu, 10. prosince 2025 08:53
#!/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 0
Jak 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.