当我想在 Linux 中运行由 GCC 编译的应用程序时,为什么要键入“./”?

Ami*_*yan 0 linux gcc

我的操作系统是 Fedora Linux 14。

我用 Code::Blocks IDE 编写了一个程序,它用 GCC 编译我的程序。

我的输出程序是test. 当我在 Code::Blocks 中启动我的应用程序时,它会正常启动。但是当我双击我的可执行程序时,程序没有启动。当我启动一个终端(在我的二进制程序的路径中)并输入 时test,我的程序没有启动,但是当我输入./test终端时,它正常启动。为什么我./要运行应用程序时要键入?

hvg*_*des 8

./当您的PATH环境变量不包含当前目录时,这是必要的。因此,如果您的某个目录中有一个不在您的路径./theexecutable中的可执行文件,您需要告诉 shell 您的可执行文件在当前目录中。

  • 即使`.`在路径中,如果`/bin/`在`PATH`中的`.`之前,它也不会执行`test`。`/bin/test` 存在(参见手册页)。避免将您的测试程序称为“测试”以避免混淆。 (2认同)