如何扩展包含以下内容的字符串中的变量

如何扩展包含以下内容的字符串中的变量

我有一个 bash 函数,我检索其主体并扩展其中的变量。

这是我的 bash 脚本中的代码:

my_var=my_value
my_fn() {
    echo $myvar
}

什么typeset -f my_fn给了我:

my_fn() {
    echo $myvar
}

我需要的 :

my_fn() {
    echo my_value
}

如何扩展 my_fn 中出现的变量?如果需要,我可以将结果存储在字符串或函数中。

我无法手动扩展所有变量,因为函数可能使用很多变量。我也无法使用,envsubst因为变量未导出。

解决我的问题的方法是在函数定义时扩展变量,而不是在执行期间扩展变量。

相关内容