Shell中用SQLPLUS出错
Nov 23, 2010前几天整理shell,将一个sqlplus语句移到了函数里,在AIX上,k-shell
如下:
function a { sqlplus usr/pwd@sid <<! exit ! }
然后好好的语句就开始报错:
test.sh: 0403-057 Syntax error at line 3 : `<‘ is not matched.
我开始以为是换行符的问题,或者是我手误在哪里输进去了个什么标点
结果查看了许久,都找不到什么错误的地方.
干脆写最基本的语句开始测试.
最终终于找到了让人哭笑不得的原因:
在shell里用<<进入别的程序,结束标志不能缩进…
恍然大悟,我做的唯一改动就是把脚本整体右缩进了一个制表符呀.
以前还没留意过这个问题,我干脆写shell的函数不缩进了…