我制作了一个需要将$ {somestring}写入文件的脚本。 我想这样做的方法是逃避美元符号,但是当它执行时,字符串最终为空。
有没有办法正确逃避这个?
我的代码:
# \$\{somestring\} works, but leaves the \'s which I don't want.
myvar=("Yes I require multiple lines.
Test \${somestring} test");
echo "$myvar" >> "mytest.conf";
答案 0 :(得分:9)
只需使用单引号即可解释${}
:
$ myvar=5
$ echo 'this is ${myvar}'
this is ${myvar}
$ echo "this is ${myvar}"
this is 5
但请注意,您的方法是有效的(至少对我来说是Bash):
$ myvar=("Yes I require multiple lines.
test \${somestring} test");
$ echo "$myvar" > a
$ cat a
Yes I require multiple lines.
test ${somestring} test