![如何扩展包含以下内容的字符串中的变量](https://linux22.com/image/180107/%E5%A6%82%E4%BD%95%E6%89%A9%E5%B1%95%E5%8C%85%E5%90%AB%E4%BB%A5%E4%B8%8B%E5%86%85%E5%AE%B9%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E7%9A%84%E5%8F%98%E9%87%8F.png)
我有一个 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
因为变量未导出。
解决我的问题的方法是在函数定义时扩展变量,而不是在执行期间扩展变量。