小编Fra*_*yce的帖子

Bash 执行字符串的可变扩展

我试图有两层间接,但如果我是XY 问题的受害者,请告诉我

对我想要实现的目标的简要说明

> test1=\$test2
> test2="string to print"
> echo $test2
string to print
> echo $test1
$test2
Run Code Online (Sandbox Code Playgroud)

这一切都说得通,但我想要的是使用$test1并打印出执行命令string to print。我的直觉反应是这应该有效

> echo $(echo $test1)
$test2
Run Code Online (Sandbox Code Playgroud)

胡说。有谁知道这是否可能?

更详细的解释我为什么要完成这个

我想创建一个包含$variables可重复用于生成许多文本文件的文本文件模板。我的想法是:设置环境变量,处理模板文件,输出到另一个文件。

例子:

> #set vars
> cat template.txt | magic_var_expansion_cmd > out1.txt
> #set vars
> cat template.txt | magic_var_expansion_cmd > out2.txt
> #set vars
> cat template.txt | magic_var_expansion_cmd > out3.txt
Run Code Online (Sandbox Code Playgroud)

这显然可以用在脚本中,并以更复杂的方式使用,但这是我心目中的MVP

bash

9
推荐指数
2
解决办法
2万
查看次数

标签 统计

bash ×1