[英]Escaping dollar sign and curly brace in bash
我正在創建一個需要將$ {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";
只需使用單引號,這樣就不會解釋${}
:
$ 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.