Heredoc听起来对这个目的更方便。它被用来向一个命令解释器程序发送多个命令,如 ex or 猫
cat << EndOfMessage
This is line 1.
This is line 2.
Line 3.
EndOfMessage
The string after <<
indi猫es where to stop.
要将这些行发送至一个文件,请使用。
cat > $FILE <<- EOM
Line 1.
Line 2.
你也可以将这些行存储到一个变量中。
read -r -d '' VAR << EOM
This is line 1.
This is line 2.
Line 3.
这将把这些行存储到名为VAR
的变量中。
打印时,记住变量周围的引号,否则你将看不到换行符。
echo "$VAR"
甚至更好的是,你可以使用缩进法使它在你的代码中更加突出。这次只要在<<
后面加上-
,就可以阻止标签的出现了。
read -r -d '' VAR <<- EOM
This is line 1.
This is line 2.
Line 3.
但是,你必须在代码中使用制表符,而不是空格来缩进。