前言


本来不准备写这个命令的,但是在写脚本的时候用到这个命令竟然出错了,哎不留心啊!!所以就查了一下,记录下来。


实例


报错样板

[root@nagios_scripts nagios_scripts]# vim text

1 #!/bin/sh

2 cat >test<<EOF

3 haha

4 xixi

5 EOF (有空格)

[root@nagios_scripts nagios_scripts]# sh text

text: line 6: warning: here-document at line 2 delimited by end-of-file (wanted `EOF')

修改后

[root@nagios_scripts nagios_scripts]# vim text

1 #!/bin/sh

2 cat >test<<EOF

3 haha

4 xixi

5 EOF (无空格)

[root@nagios_scripts nagios_scripts]# sh text

[root@nagios_scripts nagios_scripts]# cat test

haha

xixi


注解:当EOF后有空格时,bash会把EOF识别为字符串,而不是结束符!!