如何从终端将单引号 (') 和双引号 (") 写入文件?

rea*_*zvi 2 shell terminal file command-line-interface echo

使用“echo”从终端写入文件时,我可以将除两个引号之外的所有内容一起写入。当尝试将 python 代码行写入/附加到包含单引号和双引号的文件时,例如

echo "url = "http://mydummyurl.xyz" 
names = ['name1', 'name2']" > somefile.txt
Run Code Online (Sandbox Code Playgroud)

或者

echo 'url = "http://mydummyurl.xyz" 
names = ['name1', 'name2']' > somefile.txt
Run Code Online (Sandbox Code Playgroud)

somefile.txt 中写入的内容是

url = http://mydummyurl.xyz
names = ['name1', 'name2']
Run Code Online (Sandbox Code Playgroud)

或者

url = "http://mydummyurl.xyz"
names = [name1, name2]
Run Code Online (Sandbox Code Playgroud)

取决于我在回显后使用什么来包围字符串。观察到文件中写入的字符串缺少用作 python 语法的单引号或双代码。如何写入文件以保持所有必要的语法完整,包括单引号和双引号?

Ken*_*ent 5

你需要转义引号:

kent$  echo  "single:''';double:\"\"\"" > foo

kent$  cat foo
single:''';double:"""
Run Code Online (Sandbox Code Playgroud)