我试图执行一个在Oracle产品中调用作业的ksh脚本。当我运行/执行我的剧本,我得到以下错误:文件意外结束 - ksh
$ sh test.sh
: command not found
: command not found
: command not found
: command not found
test.sh: line 31: syntax error: unexpected end of file
$
这里是我的代码 - 请告诉我什么,我做错了:
#!/usr/bin/ksh
#
# OEDQJobSubmit.sh
export BatchKey="AVG"
# Environment details: CURRENT
export OEDQUser=user1
export OEDQPass=password
export OEDQPORT=8090
export OEDQHOST=`hostname`
if [ ${BatchKey} = "AVG" ]; then
export Job="Job-Averages"
export Project="IPVFB-AVG"
fi
cd /ora/mw_etl/Oracle_EDQ1/oracle.edq/
/ora/java/sunjdk/bin/java -jar jmxtools.jar runjob -job "${Job}" -project "${Project}" -u ${OEDQUser} -p ${OEDQPass} ${OEDQHOST}:${OEDQPORT}
export ReturnCode=${?}
if [ ${ReturnCode} == 0 ]; then
exit 0
else
exit 1
fi
谢谢!
你为什么要把所有的变量放在环境中?你可以在你的脚本中删除每个出现'export'的单词,并且你应该理解这样做的含义。 – 2014-12-02 17:40:00
此外,最后6行(分配ReturnCode,然后使用它来指定参数退出)完全是多余的。该脚本将以执行的最后一个命令的返回值退出。 (如果你真的关心将所有非零值映射到1,只要'test $?= 0',但你可能实际上并不关心这个。) – 2014-12-02 17:41:56
那么,第一个if语句没有完成,这个脚本将触发所有工作,我正在尝试测试它,看看它是否适用于此刻。另外我的BatchKey目前是硬编码的。这将被删除,并且在运行此脚本时,会传递一个参数。 – AJR 2014-12-02 17:54:44