Shell STDIN перенаправление трех бэктиков - PullRequest
1 голос

Мотивация

У меня есть кодовый блок обратного ключа Markdown, и я хотел бы вставить его в элемент списка. Я попытался использовать awk с перенаправлением STDIN для развлечения. Я столкнулся со следующей проблемой.

Проблема

Я адаптировался из примера Tutorials Point для подсчета количества строк кодового блока Markdown.

$ wc -l << EOF
```
codeblock
```
EOF
  • Ожидаемый результат: 3
  • Фактическая мощность:

    zsh: command not found: codeblock
    1
    

Как заставить оболочку анализировать нечетное количество обратных символов в STDIN?

Спасибо за чтение.

1 Ответ

3 голосов
/ 02 мая 2019

Обратные пометки предназначены для подстановки команд , а подстановки команд расширены в здесь документах . Вы должны либо цитировать EOF - это отключит все расширения-, либо избежать этих обратных галочек.

$ wc -l << 'EOF'
```
codeblock
```
EOF

3
$ 
$ wc -l << EOF 
\`\`\`
codeblock
\`\`\`
EOF

3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...