Может ли кто-нибудь объяснить мне, почему echo 'test \'hi\'' > test
не работает? Он не пишет hi
в test
файла. Одиночные кавычки, похоже, правильно экранированы, не так ли?
Благодарю.
Вы не можете вставлять одинарные кавычки в одинарные кавычки. Вместо этого вы должны помещать и экранировать одинарные кавычки за пределами строки в кавычках.
Например:
echo 'test '\''hi'\' > test
Это пишет:
test
из 'test '
(с одним пробелом после слова test
- подсветка синтаксиса не отражает это здесь ...)\'
быть написанным как буквальная цитатаhi
от 'hi'
.\'
быть написанным как буквальная цитатаtest 'hi'
записывается в файл с именем test
.