Unix: Как я могу прочитать несколько строк? - PullRequest
4 голосов
/ 28 ноября 2010

Так что, похоже, команда read занимает всего 1 строку, что если я захочу ввести короткий абзац с разрывом строки? Что бы я использовал? Я думаю, что есть команда, которая заканчивается, когда вы нажимаете Ctrl + D, поэтому клавиша возврата используется для начала нового абзаца.

Ответы [ 3 ]

9 голосов
/ 28 ноября 2010
text=$(cat)

Позволяет вводить текст с символами новой строки, оканчивающимися на Ctrl-d в начале строки.

Эквивалент в Bash, без необходимости использования внешней утилиты:

text=$(</dev/stdin)
5 голосов
/ 28 ноября 2010

Вы можете поместить пользователя в его любимый редактор с закомментированным текстом, который объясняет, какая информация необходима и как разбивать абзацы.Вот как работает большинство VCS коммитов.См. Ldapvi для более сложного примера такого интерфейса.

0 голосов
/ 28 ноября 2010

Если разрывы строк не являются необходимыми в результате, вы можете использовать символ '\', чтобы экранировать символы новой строки при вводе.

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