【问题标题】:Bash function, export function argument as environment variableBash 函数,将函数参数导出为环境变量
【发布时间】:2013-03-28 00:02:16
【问题描述】:

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

但这不是我的问题的解决方案。

【问题讨论】:

    标签: bash export environment-variables


    【解决方案1】:

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

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

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

    【讨论】:

    • 我花了很长时间才找到这个回复!感谢您在 3 年前做出这个回答。
    • 很高兴它有帮助! :)
    猜你喜欢
    • 1970-01-01
    • 2019-11-30
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 2022-01-17
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多