shebang 无法在 Linux 中运行 bash 脚本

问题描述 投票:0回答:2

我似乎无法通过 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 只是为了清楚起见。

linux bash shebang
2个回答
0
投票
chmod +x test.sh

设置可执行位正是所需要的。脚本需要 shebang 行 可执行权限才能运行。否则,您必须使用

bash test.sh
显式调用 shell。可执行位可让您编写
./test.sh


0
投票

sh-bang 表示如果您想从您正在运行脚本的 shell 之外的 shell 运行脚本

© www.soinside.com 2019 - 2024. All rights reserved.