shell编程—— EOF 实现执行sql,输出结果

psql -h 172.18.65.200 dow_qa <

上述shell代码执行结果:

[gpadmin@yahoo200 test]$ ./shell.sh 172.18.65.200 dow_qa
 count
-------
  1472
(1 row)


在shell编程中,”EOF“通常与”<<“结合使用,“<
交互式程序(命令)<
       ”EOF“中间的内容将以标准输入的形式输入到”交互式程序“,当shell看到”<<“知道其后面输入的分界符,当shell再次看到分界符时,两个分界符中间的部分将作为标准输入。
       "EOF"一般常和cat命令连用。
注意,最后的”EOF“必须单独占一行。

下面以cat命令为例讲解”EOF“使用。一般有以下两种形式
1.cat<
2.cat<filename或者cat<>filename( cat<filename或者cat<>filename )
其实,第一种形式和第二种形式没有什么本质的区别,第一种形式将内容直接输出到标准输出(屏幕),而第二种形式将标准输出进行重定向,将本应输出到屏幕的内容重定向到文件而已。

例1:
#cat<
>12
>34D
>EOF
12
34D

例2:
#cat>>filename<
>DHA
>23
>EOF
#cat filename
DHA
23


相关资料: http://linux.die.net/abs-guide/here-docs.html

          http://linux.die.net/abs-guide/io-redirection.html#IOREDIRREF


你可能感兴趣的:(shell)