我使用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
的属性时,在权限选项卡下勾选 允许将文件作为程序执行
后,勾选标记会出现然后很快消失。
sudo chmod +x a.out
吗? - MOHAMED