从Shell脚本以C可执行文件的形式运行C可执行文件

时间:2016-05-02 04:23:43

标签: shell unix

我编写了一个shell脚本来运行带参数的c可执行文件。

`HOME=/home/visitor/
 PATH=.
 PATH=$PATH:$HOME/Application/Exec/ShellScripts
 PATH=$PATH:$HOME/Application/Exec/Utilities
 PATH=$PATH:$HOME/Application/Exec/Run
 export PATH
 Resour >> $LOGDIR/log.Resour        //Resour is an exe
 SetLogLevel 6                       //SetLogLevel is an exe
 ExecCommand ProcessRealTime 1 1 ProcessRealTime >>$LOGDIR/log.ProcessRealTime  2>&1&`

但是在运行上面的脚本时,Resour和SetLogLevel exe正常运行,但用于启动ProcessRealTime并在共享内存中输入的ExecCommand Exe显示“execv:No such file or directory”

我的所有可执行文件都在已导出的$ HOME / Application / Exec / Run路径下。 但是当我做了以下更改时,脚本工作了:

ExecCommand $ HOME / Application / Exec / RunProcessRealTime 1 1 ProcessRealTime>> $ LOGDIR / log.ProcessRealTime 2>& 1&

有人可以帮助我运行脚本而不添加路径并直接使用导出语句运行命令。

1 个答案:

答案 0 :(得分:1)

PATH环境变量仅影响shell。如果您使用execv或移至execvp搜索PATH

中提到的目录,则必须实施自己的路径查找