我写了一个bash函数来导出一个环境变量。第一个函数参数是变量名,第二个是变量值。我希望echo
显示导出的值:
#!/bin/bash
env_var_export()
{
export $1=$2
echo ""
echo " export $1=$$1"
echo ""
}
env_var_export var defaultVal456
我的意思是,echo应打印:export var=defaultVal456
。有帮助吗?我知道我可以这样做:
echo ""
echo " export $1=$2"
echo ""
但它不能解决我的问题。
答案 0 :(得分:3)
$$
是一个特殊的变量,可以扩展到shell的pid,这就是你echo
中要评估的内容。您应该使用这样的间接引用:
echo ""
echo " export $1=${!1}"
echo ""
此语法将采用$1
中命名的变量,然后根据该名称(即间接)查找值。