由于长期和无聊的原因,我需要根据另一个环境变量的值检索一个环境变量。 e.g。
export LOG_PROCESSOR=LOGCOURIER
export LOGCOURIER=/usr/bin/blah
echo ${$LOG_PROCESSOR}
-bash: ${$LOG_PROCESSOR}: bad substitution
如何在Bash中获得值/usr/bin/blah
回显?
答案 0 :(得分:2)
当然在谷歌上找不到任何年龄的东西后,我在发布问题后3秒找到答案。你这样做:
> echo ${!LOG_PROCESSOR}
> /usr/bin/logcourier
答案 1 :(得分:0)
export LOGCOURIER=/usr/bin/blah
export LOG_PROCESSOR=$LOGCOURIER
echo ${LOG_PROCESSOR}
答案 2 :(得分:0)
除了间接参数扩展,bash
4.3将具有命名引用。
declare -n LOG_PROCESSOR=LOGCOURIER
在此声明之后,对一个变量的更改会导致另一个变量的更改。