我无法启动我从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
时,它按预期运行,没有命令行选项。
我也尝试过: myProgram ./myProgram& myProgram& 根据有些类似问题的答案,但它们都会导致上述错误信息。
答案 0 :(得分:5)
你的新行是傻瓜。使用dos2unix
进行修复。
答案 1 :(得分:1)
为什么不尝试使用完整路径? 例如,如果myProgram位于/ home / user1 / bin中,您可以尝试/ home / user1 / bin / myProgram而不是./myProgram。这应该工作。
您还可以添加路径变量$ PATH的路径,并从任何地方直接调用myProgram。
在终端上运行“export PATH = $ PATH:/ home / user1 / bin”,不带引号。请注意,这仅影响您当前的终止会话。如果要永久添加路径,请使用以下行更新主目录中的.bashrc文件: