【问题标题】:Running Executable from Shell Script从 Shell 脚本运行可执行文件
【发布时间】:2024-08-15 15:10:02
【问题描述】:

我无法启动从 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时,它按预期运行,没有命令行选项。

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

【问题讨论】:

  • myScript.sh 和 myProgram 是否在同一目录中。如果是这样,请尝试简单地更改到该目录并运行 ./myScript.sh(即没有第一个 sh)。此外,在Unix and Linux 上发帖可能会对您有所帮助。

标签: sh


【解决方案1】:

你的换行符搞错了。使用dos2unix修复。

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      最近更新 更多