PROC=$1  //把这段shell的第一个参数赋值给PROC,看样子像一个procedure的名字
echo ${PROC} //打印proc也就是第一个参数的值
..
exec ${PROC}(:pOUT); //sqlplus中执行Procedure,名字为{PROC} :pout估计为参数,看样子为输出参数
quit :pOUT;  //退出sqlplus 
EOF

解决方案 »

  1.   

    最后两句
    quit :pout;  --这是固定格式么?exit行么?:pout在这一行有什么用么?
    EOF又是什么意思(也是格式么?)
    还有下面的这个发送报错邮件的也不知到是怎么实现的,
    最好一句句的注释以下,谢谢了STATUS=$?
    if [ ${STATUS} -ne 0 ]
    then
        路径/errmail.sh ${PROC}
        exit 1
    fi
    exit 0
      

  2.   

    sqlplus ... <<EOF
    这一句表示执行sqlplus,并且sqlplus的输入就是本脚本下面的内容,直到"EOF"这行
    quit :pout;
    表示退出sqlplus,并将pout参数(前面通过var pout定义的)的值做为sqlplus的退出码。
    STATUS=$?
    表示取上一个shell命令的返回码(上一个命令就是sqlplus)
    if [ ${STATUS} -ne 0 ]
    是判断STATUS变量(实际上就是sqlplus的返回码)是否不为0