无法运行已编译的文件 – 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

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...