5

我无法启动从 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 & 基于对类似问题的回答,但它们都会导致上述错误消息。

4

2 回答 2

6

你的换行符搞砸了。用来dos2unix修复。

于 2013-02-12T04:59:44.907 回答
1

为什么不尝试使用完整路径?例如,如果 myProgram 在 /home/user1/bin 中,您可以尝试 /home/user1/bin/myProgram 而不是 ./myProgram。这应该有效。

您还可以将路径添加到路径变量 $PATH 并从任何地方直接调用 myProgram。

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

于 2013-02-12T05:54:26.323 回答