【问题标题】:'command not found' when trying to run bash script [duplicate]尝试运行 bash 脚本时出现“找不到命令”[重复]
【发布时间】:2019-12-26 09:18:16
【问题描述】:

我正在尝试从名为 dev_ro 的脚本运行 bash 脚本,这是它的调用方式。

export SUBNET="$(first_available_docker_network --lock-seconds 7200)"

我通过 ./dev_ro 调用 dev_ro

我确认我有

#!/bin/bash

在两个文件的顶部。

这是两个文件的权限

 $ ls -lh dev_ro 
-rwxrwxr-x 1 ME ME 423 Aug 21 15:57 dev_ro

$ ls -lh first_available_docker_network
-rwxrwxr-x 1 ME ME 2.2K Aug 21 15:55 first_available_docker_network

这是运行 ./dev_ro 的输出

++ first_available_docker_network --lock-seconds 7200
compose/everest-compose: line 25: first_available_docker_network: command not found

另外,当我尝试运行脚本时:

ME@SERVER:~/Rosetta/compose$ first_available_docker_network
first_available_docker_network: command not found
ME@SERVER:~/Rosetta/compose$ 

我在不同的服务器上运行了相同的设置并且它正在工作。代码是从 Git 中提取的,所以它是相同的代码库。

非常感谢任何帮助。

ME@OTHER_SERVER:~/Rosetta/compose$ first_available_docker_network
DEBUG:root:Docker subnets: [IPv4Network(... etc
ME@OTHER_SERVER:~/Rosetta/compose$ ^C

【问题讨论】:

  • 将完整路径添加到first_available_docker_network 或使用./first_available_docker_network(如果它在当前目录中)或检查您的PATH 变量。
  • 找出它是什么 - 我有一些通过盐注入的环境变量。

标签: linux bash docker unix


【解决方案1】:

first_available_docker_network 不是标准的 linux 命令。这必须是您的自定义脚本。尝试使用其绝对路径执行。例如,而不是使用+

ME@SERVER:~/Rosetta/compose$ first_available_docker_network

使用

ME@SERVER:~/Rosetta/compose$ absolute_path_of_script/first_available_docker_network

或者,

您可以尝试将first_available_docker_network 的路径添加到PATH 变量中。

【讨论】:

    猜你喜欢
    • 2016-08-12
    • 1970-01-01
    • 2016-09-27
    • 2017-08-10
    • 2016-04-04
    • 2019-04-15
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    相关资源
    最近更新 更多