Linux上的kornshell脚本

2024-10-03 06:30:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我的默认shell是Bash,在/opt/app/IRMS目录下执行脚本/opt/app/depl/bin/运行作业.sh.Runall存在并且是软链接。你知道吗

我得到以下错误:

[tidal@atlesapp002 IRMS]$ ksh -x /opt/app/depl/bin/runjob.sh execute
ls irms_inq.env
    + myenv=irms_inq.env
    + . ./irms_inq.env
    + . /home/tidal/cfg/setenv
    + export PATH
    + export LD_LIBRARY_PATH
    + export FPATH
    + export SQLPATH
    + PATH=/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tidal/bin:.
    + . /home/tidal/cfg/python.env
    + PY=/opt/python
    + PATH=/opt/python/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tidal/bin:.
    + LD_LIBRARY_PATH=:/opt/python/lib
    + . /home/tidal/cfg/svn.env
    + SVN=/opt/app/svn
    + PATH=/opt/app/svn/bin:/opt/python/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tidal/bin:.
    + LD_LIBRARY_PATH=/opt/app/svn/lib::/opt/python/lib
    + . /home/tidal/cfg/ora.env
    + CLI=/opt/app/instantclient_11_2
    + NLS_LANG=AMERICAN_AMERICA.UTF8
    + export NLS_LANG
    + LD_LIBRARY_PATH=/opt/app/instantclient_11_2:/opt/app/svn/lib::/opt/python/lib
    + export LD_LIBRARY_PATH
    + TNS_ADMIN=/opt/app/instantclient_11_2
    + export TNS_ADMIN
    + PATH=/opt/app/svn/bin:/opt/python/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tidal/bin:.:/opt/app/instantclient_11_2
    + export PATH
    + . /home/tidal/cfg/depl.env
    + DEPL=/opt/app/depl
    + PATH=/opt/app/svn/bin:/opt/python/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tidal/bin:.:/opt/app/instantclient_11_2:/opt/app/depl/bin
    + FPATH=:/opt/app/depl/lib
    + SQLPATH=:/opt/app/depl/lib
    + . /home/tidal/cfg/putils.env
    + PATH=/opt/app/svn/bin:/opt/python/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tidal/bin:.:/opt/app/instantclient_11_2:/opt/app/depl/bin:/opt/app/putils/bin
    + SQLPATH=:/opt/app/depl/lib:/opt/app/putils/lib
    + pwd
    + irmspwd=/opt/app/IRMS
    + PATH=/opt/app/svn/bin:/opt/python/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tidal/bin:.:/opt/app/instantclient_11_2:/opt/app/depl/bin:/opt/app/putils/bin:/opt/app/IRMS/bin
    + SQLPATH=:/opt/app/depl/lib:/opt/app/putils/lib:/opt/app/IRMS/lib
    + SQLPATH=:/opt/app/depl/lib:/opt/app/putils/lib:/opt/app/IRMS/lib:/opt/app/IRMS/src
    + runall execute

/opt/app/depl/bin/runjob.sh[7]: runall: not found [No such file or directory]
[tidal@atlesapp002 IRMS]$
====

    [tidal@atlesapp002 bin]$ ls -al
    total 96

        drwxrwxr-x 3 tidal tidal 4096 Jun  9 13:29 .
        drwxrwxr-x 4 tidal tidal 4096 May 19 16:38 ..
            lrwxrwxrwx 1 tidal tidal    8 Jun  8 12:56 runall -> setup.sh
        -rwxr-xr-x 1 tidal tidal 2319 May 19 16:38 runall.save
        -rwxr-xr-x 1 tidal tidal  831 May 19 16:38 runcp.sh
        -rwxr-xr-x 1 tidal tidal   54 Jun  9 13:29 runjob.sh
        -rwxr-xr-x 1 tidal tidal 2242 May 19 16:38 runsockets.pl
        lrwxrwxrwx 1 tidal tidal    9 Jun  9 00:01 runsql -> runsql.sh
        -rwxr-xr-x 1 tidal tidal 1877 May 19 16:38 runsql.save
        -rwxr-xr-x 1 tidal tidal 1877 May 19 16:38 runsql.sh
        -rwxr-xr-x 1 tidal tidal 5590 May 19 16:38 setParm.pl
        -rwxr-xr-x 1 tidal tidal 2319 May 19 16:38 setup.sh

Tags: pathenvapphomebinlibusrlocal
2条回答

似乎runall是从$PATH开始的,而不是从当前目录./runall,因为/opt/app/IRMS/bin被添加到$PATH。 请尝试以下操作:

  1. 启动ksh[tidal@atlesapp002 IRMS]$ ksh
  2. 运行/opt/app/depl/bin/runjob.sh execute

    如果这样做没有帮助,请尝试将/opt/app/IRMS/bin添加到路径,然后导出路径

是的,当我将ksh添加到runall脚本时,它工作了。你知道吗

像ksh runall

为什么?你知道吗

相关问题 更多 >