我希望我的帖子可以被接受,尽管我实际上运行的是 lubuntu,而不是 ubuntu。
我正在尝试创建一个可执行文件但遇到了困难。
我使用文本编辑器创建了一个脚本并将其保存到桌面上:
#!/usr/bin
echo hello
我运行sudo chmod +x
了sudo chmod 755
它。当我双击它时,我得到了一个对话框,要求我执行或在终端中执行,如下所示:
当我点击执行时,我得到Failed to execute child process "/home/name/Desktop/helloworld" (Permission denied)
如果我单击终端中的执行,我只会得到一个新的终端窗口,name@macbook:~/Desktop$
但没有我的脚本的迹象。
答案1
这很可能是由于您的舍邦-#!/usr/bin
脚本中的这一行。
脚本中的 Shebang 告诉 Ubuntu/Linux/BASH 运行什么命令来解释或执行脚本。
Python 脚本 shebang 通常是#!/usr/bin/env python
或#!/usr/bin/python
(表示使用 Python 解释器运行脚本),而 BASH 脚本(像你的)通常是#!/bin/bash
(表示在 BASH 终端中运行脚本)或#!/bin/sh
(使用或 shell 运行脚本sh
)。
因为/usr/bin
它是一个目录,而不是一个程序/程序的符号链接,所以实际上什么都无法执行。
尝试将初始行更改为#!/bin/bash
:
#!/bin/bash
echo hello