首页 > 解决方案 > shebang 无法在 linux 中运行 bash 脚本

问题描述

我似乎无法通过 shebang 将 bash 脚本转换为可执行文件。我的代码看起来像

#!/bin/bash
echo "hello"

这是在一个名为test.sh的文件中。我正在尝试使用命令运行它

./test.sh

在命令行中,但我只收到权限被拒绝的错误。当我将其更改为

sudo ./test.sh

我只是找回了那个command not found。我可以通过命令行命令将文件转换为可执行文件:

chmod +x test.sh

并且代码正确输出

hello

我已经尝试过命令

which bash

它返回了目录/bin/bash并且我还在我的.bashrc中导出了这个路径,但无济于事。任何想法将不胜感激谢谢!为了清楚起见,我正在运行 Linux mint。

标签: linuxbashshebang

解决方案


chmod +x test.sh

设置可执行位正是需要的。脚本需要 shebang 行可执行权限才能运行。否则,您必须使用例如 . 显式调用 shell bash test.sh。可执行位允许您编写./test.sh.


推荐阅读