有人能向我解释为什么echo 'test \'hi\'' > test
不起作用吗?它没有写入hi
文件test
。单引号似乎被正确转义了,不是吗?
谢谢。
答案1
您不能在单引号字符串中嵌入单引号。 相反,您必须将单引号放置在引用字符串的外面并进行转义。
例如:
echo 'test '\''hi'\' > test
这写道:
test
来自'test '
(单词后有一个空格test
- 语法高亮没有反映这里......)- 可以
\'
写成文字引用 - 写道。
hi
'hi'
- 可以
\'
写成文字引用 - 结果
test 'hi'
被写入名为 的文件test
。