Strawberry
Strawberry

Reputation: 67928

Unix: How can I read multiple lines?

So it seems read command only takes 1 line, what if I wanted to input a short paragraph with line breaks? What would I use? I think there's a command that ends when you press ctrl+d, so it return key is used for starting a new paragraph.

Upvotes: 4

Views: 2783

Answers (3)

Dennis Williamson
Dennis Williamson

Reputation: 360395

text=$(cat)

Allows you to type text with newlines, terminated by a Ctrl-d at the beginning of a line.

The equivalent in Bash, without needing to use an external utility is

text=$(</dev/stdin)

Upvotes: 10

Victor Deryagin
Victor Deryagin

Reputation: 12225

If line breaks are not essential in the result, you can use '\' character to escape newlines in input.

Upvotes: 0

Tobu
Tobu

Reputation: 25436

You could drop the user into their favorite editor, with commented text that explains what information is needed and how to make paragraph breaks. That's how most vcs commits work. See ldapvi for a more sophisticated example of this kind of interface.

Upvotes: 5

Related Questions