How could I break a line using \n
in read -p
?
For example
read -p "Please Enter the percent [30 between 100]\n The value is Default = 80 :" scale_percent
I want \n
to break a line but it doesn't work.
In echo
I use -e
and it breaks a line.
So I tried
read -ep
to break the line but it didn't break the line. How can I do that?
And could you also please give me a good manual for read -p
on the Internet because I couldn't find a nice one without a confusing description.
You can do it this way:
read -p $'Please Enter the percent [30 between 100]\x0a The value is Default = 80 :' scale_percent
we use above syntax to insert hex values, we insert \\x0a
which is the hexadecimal value of the newline character ( LF ). You can use same syntax above with echo
to produce new lines, eg:
echo $'One line\x0asecond line'
This is a feature of BASH 2 , it is documented here , the $''
is used to translate all escape sequences inside it for its ascii transcription. So we could obtain the same result of example above, this way:
echo $'One line\nsecond line'
You can do the following to include variables in the prompt:
some_var='first line'
read -p "$some_var"$'\n'"second line " user_input
echo $user_input
(I wanted to make this a comment to Nelson's answer, but I could not have newlines for code readability.)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.