我的aaa.sh文件如下:
#!/bin/sh
ORACLE_HOME=/oracle/products/10.2/db
export ORACLE_HOME
ORACLE_SID=stdm
export ORACLE_SID
/oracle/products/10.2/db/bin/sqlplus username/password@stdm  <<EOF
exec BIEE.PRO_TB_D_SUBS_PRIVILEGE; 
exit;
EOF我执行sh aaa.sh,总是报ORACLE_HOME^M:This is not an identifier.
我的环境变量里已经设置了ORACLE_HOME了,怎么回事啊?

解决方案 »

  1.   

    你的脚本是dos格式的,要转换成unix格式。
    方法:
    1.可以用UE -> 文件 -> 转换 -> dos转换为unix
    2.用vi编辑文件 :s/ctrl+m//g
    3.sed 替换sed  's/ctrl+m//g'
      

  2.   


    试试下面的可行?注意ORACLE_HOME 路径要正确..
    #!/bin/ksh EDITOR=vi; export EDITOR 
    ORACLE_SID=stdm; export ORACLE_SID 
    ORACLE_HOME==/oracle/products/10.2/db; export ORACLE_HOME 
    LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH 
    TNS_ADMIN=/var/opt/oracle;export TNS_ADMIN 
    NLS_LANG=american; export NLS_LANG 
    NLS_DATE_FORMAT='Mon DD YYYY HH24:MI:SS'; export NLS_DATE_FORMAT 
    ORATAB=/var/opt/oracle/oratab;export ORATAB 
    PATH=$PATH:$ORACLE_HOME:$ORACLE_HOME/bin:/usr/ccs/bin:/bin:/usr/bin:/usr/sbin:/sbin:/usr/openwin/bin:/opt/bin:.; export PATH sqlplus -s '/ as sysdba' <<EOF 
    exec BIEE.PRO_TB_D_SUBS_PRIVILEGE;  
    exit 
    EOF 
    ------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    DBA1 群:62697716(满); DBA2 群:62697977