我想在bash中设置一个名为test_var的变量 基本上,我想要echo test_var输出:
%let output="file_20120601.csv";
其中20120601是变量。我试图通过使用:
来做到这一点test_var='%let output="file_$1.csv";'
echo test_var
这不起作用,因为$ 1不被解释为变量,而是被解释为字面上的$ 1
有人知道如何修改它以使其按照我的意愿去做吗?
答案 0 :(得分:4)
由于单引号,它无法正常工作。他们把一切都写成了文字。
$ var='123'
$ foo="\"%hi there file_$var\""
$ echo $foo
"%hi there file_123"
答案 1 :(得分:0)
这也有效
test_var='%let output="file_'"$1"'.csv";'
因为变量不会在单引号之间展开。 我们可以在单引号和双引号之间连接字符串,只需在旁边写字符串。