How to define multiline string variable in shell?
How to define multiline string variable in shell?
In your bash/shell scripting experience you may face scenario where you need to define multi line string variable. Here is multiple ways to define multi line string variable in shell.
Method 1: Combine Multiline with \n like below and echo with -e option
method1="This is line no.1\nThis is line no.3\nThis is line no.3" echo -e $method1
Output:
This is line no.1 This is line no.3 This is line no.3
-e | Enable interpretation of backslash escape sequences . |
Method 2: define multiline string in shell variable line below.
method2="This is line no.1 This is line no.2 This is line no.3" echo "$method2"
Output:
This is line no.1 This is line no.3 This is line no.3
Method 3: Heredoc is more convenient for this purpose.
read -r -d '' MULTI_LINE_VAR << EOM Print line 1. Print line 2. Print line 3 EOM
Note: Please don’t forgot quotes around the variable else you won’t see the characters in newline.
echo "$MULTI_LINE_VAR"
I have listed a few methods to define multiline shell variables. What is your preferred way to print multiline strings in the shell?
(Visited 31,516 times, 30 visits today)