【发布时间】:2018-06-05 14:08:21
【问题描述】:
我似乎无法通过 shebang 将 bash 脚本转换为可执行文件。我的代码看起来像
#!/bin/bash
echo "hello"
这是在一个名为 test.sh 的文件中。我正在尝试使用命令运行它
./test.sh
在命令行中,但我只收到 permission denied 的错误。当我将其更改为
sudo ./test.sh
我刚刚找回了那个找不到命令。我可以通过命令行命令将文件转换为可执行文件:
chmod +x test.sh
并且代码正确输出
hello
我已经尝试了命令
which bash
它返回了目录 /bin/bash 并且我也在我的 .bashrc 中导出了这个路径,但无济于事。任何想法将不胜感激谢谢!为了清楚起见,我正在运行 Linux mint。
【问题讨论】:
-
你是在命令行输入“./test.sh”还是别的?你得到什么信息?
-
那还有什么需要解决的?
-
没有。你需要有执行权限才能执行。
-
shebang 只是告诉执行者使用什么 shell 或其他程序(perl 等)来读取命令。
-
你做到了。 #!/bin/bash 表示使用 bash。 chmod +x 表示让您将文件作为命令执行。