Est-il possible, ou existe-t-il un hack élégant pour faire une expansion de variable indirecte dans POSIX comme cela peut être fait dans Bash?
Pour le contexte, j'essaie de faire ce qui suit:
for key in ${!map_*}
do
# do something
done
EDIT: Pour clarifier, je voudrais accéder aux variables shell qui commencent par map_
.
shell
shell-script
posix
Dashed
la source
la source
map_*
).sh
VSbash
- voir stackoverflow.com/a/5725402/1172302 .Réponses:
Le hack consiste à utiliser
eval
:la source
set
était ce que je cherchais.QUERYSTRING=$'\nmap_$(reboot)=x'
). Sachez également que lebash
shell inclut la liste des fonctions dans la sortie deset
(lorsqu'il ne s'exécute pas en tant quesh
).