从shell脚本中的EOF说起
Posted 阿铭linux
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从shell脚本中的EOF说起相关的知识,希望对你有一定的参考价值。
今天,阿铭介绍一个不太常见的概念:
嵌入文档
英文名叫做Here Documents。
也就是你在shell脚本中见过的
cat <<EOF的用法。
先来上一段shell代码:
#!/bin/bash
cat > 1.txt <<EOF
Hello
My
name
is aming.
This's a test text.
EOF
运行这个脚本后,会产生1.txt文档,内容为:
Hello
My
name
is aming.
This's a test text.
这个用法就是Here Documents。
这里的"EOF"叫做标识符,还可以换成其他字符串,比如写成ABC、123等等,随便你定义成啥,但要保证前后对应,也不要造成和其他字符串混淆。
通常大家习惯写EOF,这样也容易让别人识别。就跟“shell脚本名字要以.sh结尾”同样的道理。
Here Documents需要注意一点,最后面那个标识符(EOF)
必须要顶格写
当然,不一定非得cat <<EOF,你也可以换成其他命令,例如
wc -l <<EOF
1
2
3
EOF
关于Here Documents的作用,不用太多介绍。
这里我只讲一个典型的用法:在shell脚本中需要调用expect脚本,那么expect脚本需要事先写好,而且是额外的一个文件。
此时,可以使用Here Documents,把expect脚本内容写入到指定文件里,之后再调用它。
这样做的好处是,一个shell脚本搞定,不需要额外再编写expect脚本,方便管理。
- END -
每日原创 | 阿铭linux
提升自己,才是世界上最稳健的投资。
以上是关于从shell脚本中的EOF说起的主要内容,如果未能解决你的问题,请参考以下文章