linux - shebang 无法在 Linux 中运行 bash 脚本

标签 linux bash shebang

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

#!/bin/bash
echo "hello"

它位于名为test.sh的文件中。我正在尝试让它使用命令运行

./test.sh

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

sudo ./test.sh

我刚刚得到找不到命令。我可以通过命令行将文件转换为可执行文件:

chmod +x test.sh

代码正确输出

hello

我已经尝试过这些命令

which bash

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

最佳答案

chmod +x test.sh

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

关于linux - shebang 无法在 Linux 中运行 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50702213/

相关文章:

linux - bash 源和别名问题

python - 直接从命令行运行 python 脚本

linux - Godaddy虚拟主机根目录

linux - cPanel 安装问题

linux - 发送 telnet smtp 数据命令并以句点结尾不起作用

php - 从 php exec() 运行 bash 脚本

linux - hexdump 和 hexedit 的输出差异

c++ - 当我运行这个 shell 脚本时,我收到一个丢失的 ']' 错误

linux - Bash 脚本在实例化函数后丢失了 shebang 路径

python - 如何在我的 shebang 行中查找目录?