Linux heredoc
heredoc:是一种特殊的重定向方式,允许一性从标准输入读取多行内容给一个命令。
heredoc语法:
command <<DELIMITER
line_1
line_2
...
DELIMITER
说明:
-
DELIMITER表示定界符,这个字符可以随意定义,一般使用EOF表示结束,当在文本块中在单独一行输入这个定界符,此时就会结束输入
-
目标命令必须能够从标准输入(stdin)读取数据
例如: cat <<EOF >>example.txt
-
cat <<EOF 开始了一个 heredoc 代码块,这允许你输入一个文本块直到你输入定界符 EOF 为止。这整个文本块都会被当作 cat 的输入
-
cat 命令的主要功能是显示其输入的内容。如果没有重定向,这些内容默认会被输出到屏幕(标准输出)
-
>>example.txt 重定向了 cat 的输出,使其不是显示在屏幕上,而是追加到 example.txt 文件中
heredoc两种格式
格式一:给定界符加上引号
特点:文本块中的变量不会被展开,且所有的反斜线转义都会被视为普通字符。
# 单引号和双引号都可以
command <<"DELIMITER"
line_1
line_2
...
DELIMITER
例如:
ehigh@ubuntu:~$ cat <<'EOF' >>test.txt
> $USER
> $LANG
> $SHELL
> EOF

格式二:不给定界符加上引号
特点:文本块中的变量会被替换为具体的值,且反斜线表示转义,不会视为一个普通字符
command <<"DELIMITER"
line_1
line_2
...
DELIMITER
例如:
ehigh@ubuntu:~$ cat <<EOF >> test.txt
$USER
$LANG
$SHELL
EOF

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2022-09-26 MySQL常见问题以及解决方法