Here文档

来源:互联网 发布:部落冲突x弩数据 编辑:程序博客网 时间:2024/05/03 19:45

      Here文档是一种具有特殊功能的代码块,是I/O重定向的一种特例。Here文档采用I/O重定向的方法,把一系列需要从键盘输入的命令,模拟人工殊途的方式,一行一行地交给交互式应用程序或命令。起具体的语法格式如下:

     program<<limitstring

     command1

     command2

     command3

     .......

     commandN

    limitString

其中,特殊的I/O重定向符号“<<”与“LimitString ”是here文档的开始,单独另起一行的第二个Limitstring 表示here文档的结束。

下面的例子说明怎样利用here文档运行vim编辑器,模拟vim编辑器的交互过程,输入“i”命令和ESC键,插入两行数据,最后把编辑器的数据内容写入特定的文件。

#!/bin/bash

if [ -z "$1" ]

then

      echo "Usage :`basename $0` filename"

      exit 1

fi

vim $1<<EOF

i

I cannot choose the best.

the best choosr me.

^[

zz

EOF

exit 0

 

使用下列命令运行shell 脚本时,即可得到一个自动编辑的文本文件

$emnvim fname

$cat fname

 

I cannot choose the best.

the best choose me.

 

注意:here文档要求其中的输入数据,尤其是作为结束标志的字符串分界符"LimitString"必须位于单独另起一行的起始位置。

 

原创粉丝点击