How do I add a line break for read command?

Just looking for the exact same thing. You can use:

# -r and -e options are unrelated to the answer.
read -rep $'Please Enter a Message:\n' message

And it will work exactly as asked:

Please enter a Message:
_

Here is an extract from the bash manpage explaining it:

Words of the form $’string’ are treated specially. The word expands to
string, with backslash-escaped characters replaced as specified by the
ANSI C standard. Backslash escape sequences, if present, are decoded
as follows:

  • (…)
  • \n new line
  • (…)

The expanded result is single-quoted, as if the dollar sign had not
been present.

Took me a while to find out.

Note that single quotes and double quotes behave differently in this regard:

A double-quoted string preceded by a dollar sign ($) will cause the
string to be translated according to the current locale. If the cur-
rent locale is C or POSIX, the dollar sign is ignored. If the string
is translated and replaced, the replacement is double-quoted.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)