【问题标题】:Shell script file (.sh) does not run, and throws an errorShell 脚本文件 (.sh) 不运行,并引发错误
【发布时间】:2014-11-10 21:10:47
【问题描述】:

我是 linux 新手,我的桌面上有一个要运行的 shell 脚本 (.sh) 文件。 这些是我所做的步骤:

这是我桌面上test.sh 文件的内容:

    #!bin/bash
    #test.sh
    echo "test"

我想通过终端运行(执行)test.sh。这些是我正在使用的命令:

cd Desktop

我允许通过以下方式运行test.sh:

chmod +x test.sh

然后尝试打开文件:

test.sh

但我收到此错误:

test.sh: command not found

我做错了什么?

【问题讨论】:

  • 您的当前目录在默认的 Linux 路径中是 NOT。有充分的理由。试试这个:./test.sh.

标签: linux bash shell


【解决方案1】:

您的 shell 将在您的 $PATH 环境变量中的目录中搜索可执行文件。

如果当前目录不在其中(默认情况下您的桌面目录也不在其中),则必须明确指定路径。

./test.sh

【讨论】:

  • 我测试了你说的 ./test.sh 但现在终端说 bash: ./test.sh: bin/bash: bad interpreter: No such文件或目录
  • @ahmadabedini — 因为您在 ~/Desktop/bin/bash 中没有 bash 的副本。您需要在 shebang 行中输入bash 的正确路径(您忘记了/)。
  • 你能给我一个例子吗?我无法理解。或者请给我一个关于你所说的事情的链接。如何放置正确的路径以及 ~/Desktop/bin/bash 是什么?
  • 什么是~/Desktop/bin/bash他应该怎么做?
  • 再次抱歉:终端显示:bash: ./test.sh: ~/Desktop/bin/bash: bad interpreter: No such file or directory
【解决方案2】:

bash: ./test.sh: bin/bash: 错误的解释器:没有这样的文件或目录

替换:

#!bin/bash

与:

#!/bin/bash

Source

【讨论】:

  • 这回答了一个后续问题,但不是实际提出的问题。
【解决方案3】:

尝试像这样运行脚本:./test.sh

【讨论】:

    【解决方案4】:

    这样做:

    第一种方式: bash test.sh

    或

    sh test.sh

    【讨论】:

      猜你喜欢
      • 2020-03-16
      • 1970-01-01
      • 2018-08-10
      • 1970-01-01
      • 2013-01-29
      • 2012-07-27
      • 2017-02-23
      • 2017-08-25
      • 1970-01-01
      相关资源
      最近更新 更多