从Shell脚本运行可执行文件

从Shell脚本运行可执行文件,sh,Sh,我无法启动从shell脚本创建的可执行文件。我希望通过使用不同的命令行选项多次运行该程序来自动测试,以验证它是否正常工作 当我键入echo$SHELL时,将显示/bin/sh 以下是我的shell脚本: #!/bin/sh clear echo "Running first test." ./myProgram exit 0 当我运行脚本(sh myScript.sh)时,在同一目录下运行myProgram,我会看到以下输出: Running first test. : not founds

我无法启动从shell脚本创建的可执行文件。我希望通过使用不同的命令行选项多次运行该程序来自动测试,以验证它是否正常工作

当我键入echo$SHELL时,将显示
/bin/sh

以下是我的shell脚本:

#!/bin/sh
clear 
echo "Running first test."
./myProgram
exit 0
当我运行脚本(
sh myScript.sh
)时,在同一目录下运行
myProgram
,我会看到以下输出:

Running first test.
: not foundsh: line 4:
执行程序
/myProgram
时,它按预期运行,没有命令行选项

我也尝试过: 我的计划 /我的计划& 我的计划&
基于对一些相似问题的回答,但它们都会导致上述错误消息。

您的换行符被搞错了。使用
dos2unix
进行修复。

为什么不尝试使用完整路径? e、 例如,如果myProgram位于/home/user1/bin中,则可以尝试使用/home/user1/bin/myProgram代替。/myProgram。这应该行得通

您还可以将path添加到path变量$path,并从任何位置直接调用myProgram


在终端上不带引号地运行“export PATH=$PATH:/home/user1/bin”。请注意,这只影响您当前的定期会话。如果要永久添加路径,请使用以下行更新主目录中的.bashrc文件:

myScript.sh和myProgram是否在同一目录中。如果是这样,请尝试简单地切换到该目录并运行./myScript.sh(即不使用第一个sh)。此外,在上发布可能会帮助您。