here文档

时间:2019-04-16 23:59:05  来源:igfitidea点击:

使用下面的语法创建here文档:

command <<HERE
text1
text2
testN
$varName
HERE

这种类型的重定向告诉shell从当前源(HERE)读取输入,直到看到某行只包含单词(HERE)为止。在这里,单词HERE不受变量名、参数展开、算术展开、路径名展开或命令替换的约束。

所有读到的行都用作命令的标准输入。以这种方式处理的文件通常称为文档。

如果不想呀变量名、参数展开、算术展开、路径名展开或命令替换,那么使用单引号将HERE引起来:

command <<'HERE'
text1
text2
testN
$varName
HERE

示例

使用here文档特性为命令提供常量文本。

统计单词数:

echo 'This is a test.' | wc -w

但是,如何一次统计很多行呢?这时就可以使用HERE文档:

 wc -w <<EOF
> This is a test.
> Apple.
> Banana.
> EOF