我编写了一个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&
有人可以帮助我运行脚本而不添加路径并直接使用导出语句运行命令。
答案 0 :(得分:1)
PATH
环境变量仅影响shell。如果您使用execv
或移至execvp
搜索PATH