我已经使用
安装了C / C ++编译器sudo apt-get install build-essential
创建名为“first.c”的文件,并在其中编写C语言的初始代码。
cc -c first.c
cc -o first first.c
./first
-bash: ./first: Permission denied
chmod +x first
ls -al
sana@ubuntu:/media/E68828DA8828AACF/Documents/cWork$ ls -al
total 25
drwx------ 1 sana sana 4096 Dec 16 08:47 .
drwx------ 1 sana sana 4096 Dec 16 08:17 ..
-rw------- 1 sana sana 8379 Dec 16 08:47 first
-rw------- 1 sana sana 82 Dec 16 08:23 first.c
-rw------- 1 sana sana 82 Dec 16 08:22 first.c~
-rw------- 1 sana sana 1504 Dec 16 08:23 first.o
解决:使用将我当前的工作目录更改为 sana @ ubuntu:〜/ Documents $ 而不是 sana @ ubuntu:/ media / E68828DA8828AACF / Documents / cWork $
为什么?我不明白
sana@ubuntu:~/Documents$ touch first.c sana@ubuntu:~/Documents$ gedit first.c sana@ubuntu:~/Documents$ cc -c first.c sana@ubuntu:~/Documents$ cc -o first first.c sana@ubuntu:~/Documents$ ./first i am sana sana@ubuntu:~/Documents$
是的,设备是使用noexec选项挂载的,它不会从驱动器执行任何脚本来运行需要更改noexec选项的脚本。其方法为here。
答案 0 :(得分:1)
您是否授予first
执行权限;由chmod +x first
完成?