gpt4 book ai didi

linux - 在命令行中运行但在 shell 脚本中给出错误?

转载 作者:太空宇宙 更新时间:2023-11-04 12:17:17 25 4
gpt4 key购买 nike

我是 Linux 新手。我有一个测试系统 SuSe 64 位。我有一个使用 rpm 文件安装的可执行文件。当我通过命令行运行时,可执行文件运行良好。

linux:linux_test>path/to/executable arg1 arg2

它运行成功,但是当我在 shell 脚本中输入相同的命令时,它会抛出“No Such Directory or File”的错误

我使用 file 命令检查了文件类型,得到了以下输出:

ELF 64 位 LSB 可执行文件,x86-64,版本 1 (SYSV),静态链接,用于 GNU/LINUX 2.4.0,已剥离

更多详情:我要执行的命令是:/opt/cds/scripts/EINJ/call del force 其中 /opt/cds/scripts/EINJ 可通过路径和 /call del force 执行> 是否传递参数

我的 shell 脚本包含以下两行:

#!/bin/bash
/opt/cds/scripts/EINJ/call del force

它给我错误:/temp.sh: line2:/opt/cds/scripts/EINJ : 没有那个文件或目录

我还尝试将命令更改为 cd/opt/cds/scripts && ./ENIJ/call del force

请帮助我如何从 shell 脚本执行它。

提前致谢

最佳答案

我假设您最初是通过相对路径 ./executable.sh 执行文件的。您必须使用 shell 脚本中的完整路径或 cd 从脚本中转到正确的目录。

/path/to/executable.sh arg1 arg 2

cd/path/to
./executable.sh arg1 arg2

我建议第一个选项,但是您还有一些其他选项:

  1. executable.sh 的位置添加到您的 $PATH
  2. executable.sh 放在任何地方都可以访问的地方,即 /usr/local/bin

不要忘记为此文件设置权限,这可以通过 chmod +x executable.shchmod 0755 executable.sh 完成。

请注意,这适用于任何可执行文件,而不仅仅是 .sh

关于linux - 在命令行中运行但在 shell 脚本中给出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47090190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com