Bash函数,导出函数参数作为环境变量

时间:2013-04-05 14:13:45

标签: bash export environment-variables

我写了一个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 ""

但它不能解决我的问题。

1 个答案:

答案 0 :(得分:3)

$$是一个特殊的变量,可以扩展到shell的pid,这就是你echo中要评估的内容。您应该使用这样的间接引用:

echo ""
echo "  export $1=${!1}"
echo ""

此语法将采用$1中命名的变量,然后根据该名称(即间接)查找值。