Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想在 bash 中设置一个名为 test_var 的变量 基本上,我希望 echo test_var 输出:
%let output="file_20120601.csv";
其中 20120601 是一个变量。我试图通过使用来做到这一点:
test_var='%let output="file_$1.csv";' echo test_var
这不起作用,因为 $1 没有被解释为变量,而是被解释为字面上的 $1
有谁知道我可以如何修改它以让它做我想做的事情?
由于单引号,它不起作用。他们使一切都变得真实。
$ var='123' $ foo="\"%hi there file_$var\"" $ echo $foo "%hi there file_123"
这也有效
test_var='%let output="file_'"$1"'.csv";'
因为变量没有在单引号之间展开。我们可以在单引号和双引号之间连接字符串,只需在旁边写字符串。