c++ - 运行我的程序说 "bash: ./program Permission denied"

标签 c++ bash shell

<分区>

我在计算机 1 和计算机 2 上运行 Ubuntu。我在计算机 1 上编译了一个 C++ 程序,我可以使用 ./program_name 从终端执行它。它运行良好。

但是,当我尝试在计算机 2 上执行此操作时,它显示:bash: ./program_name: permission denied

出了什么问题,我该怎么办?

最佳答案

chmod u+x 程序名。然后执行。

如果这不起作用,请将程序从 USB 设备复制到系统上的 native 卷。然后在本地拷贝上执行 chmod u+x program_name 并执行它。

Unix 和类 Unix 系统通常不会执行程序,除非它被标记为具有执行权限。您将文件从一个系统复制到另一个系统(或安装外部卷)的方式可能已关闭执行权限(作为一项安全功能)。命令 chmod u+x name 为拥有该文件的用户添加执行它的权限。

该命令仅更改与文件关联的权限;它不会更改与整个卷关联的安全控制。如果是卷上的安全控制干扰了执行(例如,可以为 Unix fstab 文件中的卷指定 noexec 选项,它表示不允许卷上文件的执行权限),然后您可以使用允许执行的选项重新安装卷。但是,将文件复制到本地卷可能是一种更快速、更简单的解决方案。

关于c++ - 运行我的程序说 "bash: ./program Permission denied",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18960689/

相关文章:

linux - 删除早于 X 分钟的文件

linux - 使用 GetOpts 和强制参数验证命令行参数

macos - 从 shell 打开终端并执行命令

c++ - QTextStream::readLine(): 无效的返回值

c - 程序输出重定向的问题

Shell脚本调用vim编辑器,获取退出方法

java - 在 linux 中使用 ProcessBuilder 执行 shell 命令

c++ - 我可以生成一个大小为 n 的常量数组吗

C++ Visual Studio 错误 : Identifier cannot be implicitly captured because no default capture mode has been specified

c++ - 错误 : expected primary-expression before ';' token