我使用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