heredoc(也称为 "here document")是一种特殊的重定向方式,允许从 shell 中直接提供多行输入给一个命令,而不是从文件或其他类型的输入源
heredoc语法:
command <<DELIMITER
line_1
line_2
...
DELIMITER
说明:
DELIMITER表示定界符,这个字符可以随意定义,一般使用EOF表示结束,在文本块中在单独一行输入这个定界符,此时就会结束输入,会将已经输入的多行内容重定向到某个文件或命令中。
例如: cat <<EOF >>example.txt
-
cat <<EOF 开始了一个 heredoc 代码块,这允许你输入一个文本块直到你输入定界符 EOF 为止。这整个文本块都会被当作 cat 的输入
-
cat 命令的主要功能是显示其输入的内容。如果没有重定向,这些内容默认会被输出到屏幕(标准输出)
-
>>example.txt 重定向了 cat 的输出,使其不是显示在屏幕上,而是追加到 example.txt 文件中
heredoc两种格式
格式一:给定界符加上引号
# 单引号和双引号都可以
command <<"DELIMITER"
line_1
line_2
...
DELIMITER
特点:文本块中的变量不会被展开,且所有的反斜线转义都会被视为普通字符。
例如:
格式二:不给定界符加上引号
command <<"DELIMITER"
line_1
line_2
...
DELIMITER
特点:文本块中的变量会被替换为具体的值,且反斜线表示转义,不会视为一个普通字符
标签:定界符,重定向,heredoc,cat,Linux,txt,输入 From: https://www.cnblogs.com/heyongshen/p/16599130.html