我如何在bash中解决这个问题
我有一个名为`
的变量DEV_IP=192.168.0.1
我有另一个名为
的变量ENV_NAME=DEV
我如何致电ENV_NAME
获取IP Addess?
喜欢:
echo ${ENV_NAME}_IP
这是我跑步时得到的
echo ${"$ENV"_IP}
-bash: ${"$ENV"_IP}: bad substitution
答案 0 :(得分:1)
如果添加一个步骤,您可以使用Bash的元变量语法(间接扩展):
KEY="${ENV_NAME}_IP"
echo ${!KEY}
使用变量,输出:
192.168.0.1
来自TLDP entry on Shell paramter and variable expansion:
如果" PARAMETER"的第一个字符是一个惊叹号,巴什 使用由" PARAMETER"的其余部分形成的变量的值。如 变量的名称;然后扩展这个变量 value用于替换的其余部分,而不是值 " PARAMETER"本身。这被称为间接扩张。