1

我想在 bash 中设置一个名为 test_var 的变量 基本上,我希望 echo test_var 输出:

%let output="file_20120601.csv";

其中 20120601 是一个变量。我试图通过使用来做到这一点:

test_var='%let output="file_$1.csv";'
echo test_var

这不起作用,因为 $1 没有被解释为变量,而是被解释为字面上的 $1

有谁知道我可以如何修改它以让它做我想做的事情?

4

2 回答 2

4

由于单引号,它不起作用。他们使一切都变得真实。

$ var='123'
$ foo="\"%hi there file_$var\""

$ echo $foo
"%hi there file_123"
于 2012-06-21T18:58:26.200 回答
0

这也有效

test_var='%let output="file_'"$1"'.csv";'

因为变量没有在单引号之间展开。我们可以在单引号和双引号之间连接字符串,只需在旁边写字符串。

于 2012-06-21T19:20:43.253 回答