簡體   English   中英

逃脫美元符號和大括號在bash

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM