“Linux set Multiline переменная” Ответ

Linux set Multiline переменная

# in a bash script the following works:

#!/bin/sh

text="this is line one\nthis is line two\nthis is line three"
echo -e $text > filename

# alternatively:
text="this is line one
this is line two
this is line three"
echo "$text" > filename

# cat filename gives:
this is line one
this is line two
this is line three
DreamCoder

Linux set Multiline переменная

read -r -d '' my_variable << \
_______________________________________________________________________________

String1
String2
String3
...
StringN
_______________________________________________________________________________
DreamCoder

Linux set Multiline переменная

# If you're trying to get the string into a variable, another easy way is something like this:

USAGE=$(cat <<-END
    This is line one.
    This is line two.
    This is line three.
END
)

#If you indent your string with tabs (i.e., '\t'), the indentation will be stripped out. If you indent with spaces, the indentation will be left in.

#NOTE: It is significant that the last closing parenthesis is on another line. The END text must appear on a line by itself.
DreamCoder

Linux set Multiline переменная

# You may use echo:

echo    "this is line one"   \
    "\n""this is line two"   \
    "\n""this is line three" \
    > filename
#It does not work if you put "\n" just before \ on the end of a line.


# Alternatively, you can use printf for better portability (I happened to have a lot of problems with echo):

printf '%s\n' \
    "this is line one"   \
    "this is line two"   \
    "this is line three" \
    > filename


# Yet another solution might be:

text=''
text="${text}this is line one\n"
text="${text}this is line two\n"
text="${text}this is line three\n"
printf "%b" "$text" > filename


#or

text=''
text+="this is line one\n"
text+="this is line two\n"
text+="this is line three\n"
printf "%b" "$text" > filename
DreamCoder

Linux set Multiline переменная

echo | tee /tmp/pipetest << EndOfMessage
This is line 1.
This is line 2.
Line 3.
EndOfMessage
DreamCoder

Ответы похожие на “Linux set Multiline переменная”

Вопросы похожие на “Linux set Multiline переменная”

Больше похожих ответов на “Linux set Multiline переменная” по Shell/Bash

Смотреть популярные ответы по языку

Смотреть другие языки программирования