Shell中的here文档

 1.名词解释:

  以下是维基百科解释:

   here文档[1],又称作heredochereishere-字串here-脚本,是一种在命令行shell(如shcshkshbashPowerShellzsh)和程序语言里定义一个字串的方法。它可以保存文字里面的换行或是缩排等空白字符。一些语言允许在字串里执行变量替换和命令替换

   here文档最通用的语法是<<紧跟一个标识符,从下一行开始是想要引用的文字,然后再在单独的一行用相同的标识符关闭。在Unix shell里,here文档通常用于给命令提供输入内容。

看起来比较复杂,here文档的作用是:把一系列需要从键盘输入的命令,模拟人工输入的方式,一行一行地交给交互式应用程序或命令。

其格式为:

1 $ tr a-z A-Z <<END_TEXT
2  > one two three
3  > uno dos tres
4  > END_TEXT
5  ONE TWO THREE
6  UNO DOS TRES

  END_TEXT被用作标识符。它指定了here文档的开始和结束,ONE TWO THREEUNO DOS TRES是执行后tr的输出。

 2.例子

1 $ cat << EOF
2  > Working dir $PWD
3  > EOF
4  Working dir /home/user

  EOF标定了here的开始和结束,这个例子相当与输入cat Working dir $PWD,得到的输出是一样的。明白没,在here文档中间的文字(Working dir $PWD)就是here文档前命令(cat)的输入!

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

posted @ 2013-08-18 14:17  Finlay Liu  阅读(1277)  评论(0编辑  收藏  举报