您的位置:首页 > 运维架构 > Shell

Shell中EOF出现syntax error: unexpected end of file

2014-01-12 20:59 465 查看
如下一段Linux Shell中运行结果出现syntax error: unexpected end of file

if [ "$v_inst" = 0 ];then

echo "Database $ORACLE_SID not running !"

else

echo $v_inst

ps -ef |grep "${ORACLE_SID}" |grep -v "grep"

$ORACLE_HOME/bin/sqlplus -s "sys/oracle@${ORACLE_SID} AS SYSDBA" << EOF

select sysdate from dual;

exit

EOF ### 循环语句中该处EOF需要顶格写,前面不能有空格,否则运行报错

fi

运行Shell报错信息:

line 71: syntax error: unexpected end of file

经查找测试发现原因是EOF前面的空格的问题,如果去掉循环EOF前有无空格,都可以直接成功运行的。

如:

#!/bin/bash

#

export ORACLE_SID=ora11g

$ORACLE_HOME/bin/sqlplus -s "sys/oracle@${ORACLE_SID} AS SYSDBA" << EOF

select sysdate from dual;

exit

EOF

成功运行:

SYSDATE

------------

12-JAN-14
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: