Snažím se vytvořit novou proměnnou pomocí hodnoty existující proměnné jako součásti názvu proměnné.
filemsg"$word1"=" "
Také jsem to zkusil
filemsg$word1=" "
filemsg${word1}=" "
při všech pokusech dostanu následující, když se tento řádek spustí,
cicserrors.sh[45]: filemsgCICS= : not found [No such file or directory]
Přijatá odpověď:
Použijte eval
:
filemsgCICS=foo
word1=CICS
eval "echo "$filemsg$word1"" # => foo
eval "filemsg$word1=bar"
echo "$filemsgCICS" # => bar
ale dobře si rozmyslete, jestli to opravdu potřebujete tímto způsobem.
Jiný způsob v ksh93
je použít namerefs:
word1=CICS
nameref v=filemsg$word1
v="xxx"
echo "$filemsgCICS" # => xxx
Pro ještě více ošklivých hacků, jako je tento, se podívejte sem.
Omezit přístup k FTP pouze na /var/www pomocí Vsftpd?
Jaký způsob, jak zabránit přidání příkazu do vaší historie?