Shell:在带有echo的文件中打印""

ado*_*ado 1 shell

我想添加以下行:

%optflags "-O2"
Run Code Online (Sandbox Code Playgroud)

在使用shell的a.txt文件中.我写的时候:

{ echo "%optflags "-O2""
    } >> a.txt
Run Code Online (Sandbox Code Playgroud)

它打印:

 %optflags -O2
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Kar*_*ath 5

逃避双引号:

echo "%optflags \"-O2\""
Run Code Online (Sandbox Code Playgroud)

要么

使用单引号:

echo '%optflags "-O2"'
Run Code Online (Sandbox Code Playgroud)

注意:如果您签入原始代码,可以部分查看原始代码的内容bash -x:

$ echo "%optflags "-O2""
+ echo '%optflags -O2'
Run Code Online (Sandbox Code Playgroud)

它通过了一个论点,echo为什么?那么,它连接起来"%optflags ",-O2""(空字符串),以一个参数.