here 文档不是什么特殊的东西,只是一种 I/O 重定向方式,它告诉 bash shell 从当前源读取输入,直到读取到只有分隔符的行。
-- Vivek Gite
致谢
编译自 |
https://www.cyberciti.biz/faq/using-heredoc-rediection-in-bash-shell-script-to-write-to-file/
作者 | Vivek Gite
译者 | Liang Chen (Flowsnow) 共计翻译:30.0篇 贡献时间:1075 天
here 文档here document(LCTT 译注:here 文档又称作 heredoc )不是什么特殊的东西,只是一种 I/O 重定向方式,它告诉 bash shell 从当前源读取输入,直到读取到只有分隔符的行。
这对于向 ftp、cat、echo、ssh 和许多其他有用的 Linux/Unix 命令提供指令很有用。 此功能适用于 bash 也适用于 Bourne、Korn、POSIX 这三种 shell。
here 文档语法
语法是:
或者允许 shell 脚本中的 here 文档使用 以自然的方式缩进:
或者
或者重定向并将其覆盖到名为 的文件中:
或重定向并将其追加到名为 的文件中:
示例
以下脚本将所需内容写入名为 的文件中:
你可以使用cat命令
[1]
查看/tmp/output.txt文件:
示例输出:
禁用路径名/参数/变量扩展、命令替换、算术扩展
像 这类变量和像 这类命令在脚本中会被解释为替换。 要禁用它,请使用带有 这样带有单引号的形式,如下所示:
你可以使用cat 命令
[1]
查看 文件:
示例输出:
关于 tee 命令的使用
语法是:
或者通过在单引号中引用 来禁用变量替换和命令替换:
这是我更新的脚本:
关于内存 here 文档的使用
这是我更新的脚本:
via:https://www.cyberciti.biz/faq/using-heredoc-rediection-in-bash-shell-script-to-write-to-file/
作者:Vivek Gite
[3]
译者:Flowsnow校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出
领取专属 10元无门槛券
私享最新 技术干货