首页 > 应用开发 > IT综合 > shell中使用重定向标准输入的错误处理一例
有如下shell程序demo.sh:
#!/bin/sh
sqlplus -S demo/demo <
EXIT
EOF
date
结果在linux下执行时,date命令没有执行,即在第二个EOF后就退出shell了。
然后手工重写了这个shell(原来的是从另一个文件拷贝来的)demo2.sh,结果执行
没有问题。
接着用dos2unix命令转化该shell文件,希望是dos格式问题导致的,结果执行还是
一样,date还是没有执行。
怀疑是不可见字符导致的,将这两个shell文件传到windows下,用UltraEdit打开,
比较其16进制,结果发现demo.sh下的EOF后多了空格'20',去除掉空格后执行就没有
问题了。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3898/viewspace-791194/ ,如需转载,请注明出处,否则将追究法律责任。