我已经编写了我的第一个程序,典型的程序是用 Xcode 和 TextWrangler 计算三角形面积,然后我想运行它,但我不能。
当我尝试运行它时,终端说找不到命令每次…
MacBook-Pro:~ Gaspar$ /Users/Gaspar/Desktop/prova.c
-bash: /Users/Gaspar/Desktop/prova.c: Permission denied
MacBook-Pro:~ Gaspar$ sudo /Users/Gaspar/Desktop/prova.c
sudo: /Users/Gaspar/Desktop/prova.c: command not found
我该如何配置它以便我不需要一直进入目录?
答案1
该文件prova.c
是源文件。它是纯文本,包含程序的源代码。编译完成后,将创建一个新文件prova
(可能没有扩展名)。这是可执行文件(二进制文件),您可以从终端运行它。
shell 中的许多可执行文件随处可用,无需输入完整路径。例如,sudo
实际上是/usr/bin/sudo
,但 shell 会知道在 中搜索/usr/bin
。但是,shell 不会自动找到您自己的程序。您必须告诉它它在哪里。
只需输入:
/Users/Gaspar/Desktop/prova
如果您不想写完整路径,只需在之前更改您的工作目录:
cd /Users/Gaspar/Desktop/
现在您可以像这样调用您的程序,其中.
指定当前目录。您必须包括,./
因为您的当前目录通常不在您的 shell 搜索可执行程序的路径列表中。
./prova
如果二进制文件未设置执行权限,则此操作可能不起作用。这是一个允许从终端运行文件的标志。如果您收到没有权限错误,添加执行权限:
chmod +x prova
现在,尝试使用 再次运行该文件./prova
。
答案2
gcc /Users/Gaspar/Desktop/prova.c -o Users/Gaspar/Desktop/prova
/Users/Gaspar/Desktop/prova
确保它已设置可执行标志(默认情况下应该有),如果没有设置:
ls -l Users/Gaspar/Desktop/prova
chmod +x Users/Gaspar/Desktop/prova