So it seems that the read command only accepts 1 line, what if I want to enter a short paragraph with line breaks? What will i use? I think there is a command that ends when you press ctrl + d, so it returns the key used to start a new paragraph.
read
text=$(cat)
Allows you to enter text with newlines, ending with Ctrl-d at the beginning of the line.
Equivalent to Bash, without using an external utility,
text=$(</dev/stdin)
You can leave the user in your favorite editor, with comments that explains what information is needed and how to make paragraphs. This is how most vcs do the job. See Ldapvi for a more complex example of such an interface.
If line breaks are not significant as a result, you can use the "\" character to exit a new line in the input.