使用另一个变量定义环境变量

时间:2014-07-01 15:05:18

标签: bash

由于长期和无聊的原因,我需要根据另一个环境变量的值检索一个环境变量。 e.g。

export LOG_PROCESSOR=LOGCOURIER
export LOGCOURIER=/usr/bin/blah
echo  ${$LOG_PROCESSOR}
-bash: ${$LOG_PROCESSOR}: bad substitution

如何在Bash中获得值/usr/bin/blah回显?

3 个答案:

答案 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

在此声明之后,对一个变量的更改会导致另一个变量的更改。