# bmuSetIndirectVar()
# TO DOUBLE CHECK THIS COMMENT AND DEMO
# This function is an helper to read indirect variables.
# i.e. get the content of a variable whose name is saved
# within an other variable. Like:
# MYDIR="/tmp"
# WHICHDIR="MYDIR"
# bmuSetIndirectVar "WHICHDIR" "$MYDIR"
#
bmuSetIndirectVar(){
tmpVarName=$1
locVarName=$1
extVarName=$2
#echo "debug Ind Input >$1< >$2
eval tmpVarName=\$$extVarName
#echo "debug Ind Output >$tmpVarName< >$extVarName
export $locVarName="${tmpVarName}"
}
我目前正在使用此小功能。我对此并不完全满意,而且我在网络上看到了不同的解决方案(如果我还记得的话,我会在这里写它们),但是它似乎有效。在这几行中,已经有一些冗余和额外的数据,但是对调试很有帮助。
如果要在适当的位置(即我在哪里使用)查看它,请检查:https : //github.com/mariotti/bmu/blob/master/bin/backmeup.shellfunctions.sh
当然,这不是最好的解决方案,但是让我着手进行这项工作,希望不久以后可以用更通用的方式代替它。