3

Может ли кто-нибудь объяснить мне, почему echo 'test \'hi\'' > test не работает? Он не пишет hi в test файла. Одиночные кавычки, похоже, правильно экранированы, не так ли?

Благодарю.

1 ответ1

4

Вы не можете вставлять одинарные кавычки в одинарные кавычки. Вместо этого вы должны помещать и экранировать одинарные кавычки за пределами строки в кавычках.

Например:

echo 'test '\''hi'\' > test

Это пишет:

  • test из 'test ' (с одним пробелом после слова test - подсветка синтаксиса не отражает это здесь ...)
  • передает \' быть написанным как буквальная цитата
  • пишет hi от 'hi' .
  • передает \' быть написанным как буквальная цитата
  • в результате test 'hi' записывается в файл с именем test .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .