Shell中的here文档
2024-10-08 09:22:37
1.名词解释:
以下是维基百科解释:
here文档[1],又称作heredoc、hereis、here-字串或here-脚本,是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言里定义一个字串的方法。它可以保存文字里面的换行或是缩排等空白字符。一些语言允许在字串里执行变量替换和命令替换。
here文档最通用的语法是<<
紧跟一个标识符,从下一行开始是想要引用的文字,然后再在单独的一行用相同的标识符关闭。在Unix shell里,here文档通常用于给命令提供输入内容。
看起来比较复杂,here文档的作用是:把一系列需要从键盘输入的命令,模拟人工输入的方式,一行一行地交给交互式应用程序或命令。
其格式为:
$ tr a-z A-Z <<END_TEXT
> one two three
> uno dos tres
> END_TEXT
ONE TWO THREE
UNO DOS TRES
END_TEXT
被用作标识符。它指定了here文档的开始和结束,ONE TWO THREE
和UNO DOS TRES
是执行后tr
的输出。
2.例子
$ cat << EOF
> Working dir $PWD
> EOF
Working dir /home/user
EOF标定了here的开始和结束,这个例子相当与输入cat Working dir $PWD,得到的输出是一样的。明白没,在here文档中间的文字(Working dir $PWD)就是here文档前命令(cat)的输入!
注意:here文档要求其中的输入数据,尤其是作为结束标志的字符串分界符"LimitString"必须位于单独另起一行的起始位置。
最新文章
- Linux 查看服务器开放的端口号
- BZOJ 2882 &; 后缀数组的傻逼实现
- webmin-1.810 安装
- 如何学习c++
- Liferay JSP中常用的标签
- 【转】C# 委托的介绍(delegate、Action、Func、predicate)
- magent——memcached缓存代理服务器
- 改变 Panel 跟 groupbox边框样式
- Angular4.0.0发布总览文章
- Web App、Hybrid App与Native App
- POJ1331 Multiply(strtol函数练习)
- Exception in thread ";main"; java.lang.NullPointerException at Class.main
- Java多线程02(线程安全、线程同步、等待唤醒机制)
- Java ——基础语法
- awk、sed、grep三大shell文本处理工具之sed的应用
- x11 VNC远程桌面
- Runtime-iOS运行时应用
- BigData – Join中竟然也有谓词下推!?
- javascript遍历json对象数据的方法
- python学习笔记(mysqldb下载安装及简单操作)