command <<END
document
END
command
是 Shell 命令,<<END
是開始標誌,END
是結束標誌,document
是輸入的文件(也就是一行一行的字串)。END
為止(終止符END
不會被讀取)。END
必須獨佔一行,並且要定頂格寫。[[email protected] ~]$ cat <<END > Shell教學 > http://c.biancheng.net/shell/ > 已經進行了三次改版 > END Shell教學 http://c.biancheng.net/shell/ 已經進行了三次改版
<
是第二層命令提示字元。END
,只要它不是獨立的一行,並且不頂格寫,就沒問題。
[[email protected] ~]$ cat <<END > END可以出現在行首 > 出現在行尾的END > 出現在中間的END也是允許的 > END END可以出現在行首 出現在行尾的END 出現在中間的END也是允許的
#!/bin/bash #在指令碼檔案中使用立即文件 tr a-z A-Z <<END one two three Here Document END將程式碼儲存到 test.sh 並執行,結果為:
[[email protected] ~]$ name=C語言中文網 [[email protected] ~]$ url=http://c.biancheng.net [[email protected] ~]$ age=7 [[email protected] ~]$ cat <<END > ${name}已經${age}歲了,它的網址是 ${url} > END C語言中文網已經7歲了,它的網址是 http://c.biancheng.net
[[email protected] ~]$ name=C語言中文網 [[email protected] ~]$ url=http://c.biancheng.net [[email protected] ~]$ age=7 [[email protected] ~]$ cat <<'END' #使用單引號包圍 > ${name}已經${age}歲了,它的網址是 ${url} > END ${name}已經${age}歲了,它的網址是 ${url}
#!/bin/bash cat <<END Shell教學 http://c.biancheng.net/shell/ 已經進行了三次改版 END將程式碼儲存到 test.sh 並執行,結果如下:
<<
和END
之間增加-
,請看下面的程式碼:
#!/bin/bash #增加了減號- cat <<-END Shell教學 http://c.biancheng.net/shell/ 已經進行了三次改版 END這次的執行結果為:
usage(){ cat <<-END usage: command [-x] [-v] [-z] [file ...] A short explanation of the operation goes here. It might be a few lines long, but shouldn't be excessive. END }