在 Linux 上运行 C 程序

在 Linux 上运行 C 程序

我今天观看了一个视频讲座,其中介绍了 C 以及如何制作将在 Linux 中运行的 C 程序等内容。我按照给出的步骤操作,现在遇到了一些问题。

我创建了 C 文件(HelloWorld.c)并使用命令gcc -o HelloWorld HelloWorld.c编译该文件,这两个步骤都成功了。之后我检查以确保 HelloWorld 是使用命令创建的ls,而且确实如此。但是,当我使用HelloWorld应该运行该程序的命令时,我收到一条错误消息HelloWorld: command not found

在视频讲座中,教授确实提到这适用于 32 位系统,而我使用的是 64 位系统。也许这可能是问题所在?

编辑:也在视频讲座中教授提到,当我使用该命令时,ls我应该看到HelloWorld*.我只看到 HelloWorld(没有星星)。

答案1

您没有PATH将环境变量的值设置为包含 HelloWorld 可执行文件所在的任何目录。

假设您曾经cd访问过该目录,则可以使用以下命令运行 HelloWorld:./HelloWorld

Unix shell 有一个名为 的变量PATH,它是一个:以 - 分隔的目录列表,当用户发出没有完全限定路径名的命令时要在其中查找(/usr/bin/ls完全限定:它开始于/并结束于ls,但ls不是完全限定通过它自己)。如果没有.in条目PATH,则必须./在命令开头显式使用 on 来获取当前目录中要执行的该名称的文件。

答案2

用于ls -F查看文件名末尾的星号。如果您使用lsGNU coreutils,您可以设置环境变量LS_OPTIONS以自动包含此选项以及任何其他数量的选项。手册ls中列出了选项ls,查看它们的运行情况: man ls

@brewer2:在登录时设置环境变量是特定于 shell 的,这本身就是一个好问题。

相关内容