无法运行已编译的文件 – bash:./ a.out:权限被拒绝. (我试过chmod)

前端之家收集整理的这篇文章主要介绍了无法运行已编译的文件 – bash:./ a.out:权限被拒绝. (我试过chmod)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我使用cc test.c编译了我的C源代码,它确实生成了一个a.out文件.

但是,当我运行它时,我收到此错误

bash: ./a.out: Permission denied

我的源不在主目录中,它在不同的FAT-32分区上,所以我已经安装了代码使用以下命令的驱动器 –

$udisks --mount /dev/sda7 --mount-options umask=022
Mounted /org/freedesktop/UDisks/devices/sda7 at /media/48E9-FD53
$cd /media/48E9-FD53/C

然后我用cc编译我的代码

我也试过gcc.但我仍然得到同样的错误.

然后我做了 – chmod x a.out,仍然是同样的问题.还有(chmod 755 a.out)和chmod u x a.out.

我也尝试使用sudo编译和执行程序.

我也试过 – sudo chown sannidhya:sannidhya a.out.

我已经尝试了谷歌搜索后发现的所有东西,仍然无法让它工作.

如何运行.out文件(不将其移动到主目录)?

注意 – 我使用的是Ubuntu 12.04 LTS.

但是这里有一个奇怪的事情,即使在运行chmod x a.out之后,运行-ls -l a.out,我得到 –

-rw-r--r-- 1

当我检查a.out的属性时,在Permissions选项卡下,当我选中Allow allow file as program时,勾选出现并快速消失.

最佳答案
似乎您已使用no-exec标志设置安装了分区.你必须重新安装分区:

sudo mount -o remount -o exec /dev/sda7

猜你在找的Linux相关文章