你的每个程序前面都要加上“./”。

你的每个程序前面都要加上“./”。

当我在终端执行 C 程序时,我写道:

gcc -o demo demo.c
./demo

实际上我的疑问是我们为什么./之前写demo以及这是什么意思?

答案1

当我们在终端中执行任何命令时,它都会在 PATH 环境变量中查找该命令。通过使用 ./(相对路径),我们告诉 shell 在当前目录中查找该命令。

查看echo $PATH

执行任何命令有两种方法

  1. 将其路径放入 PATH 环境变量中
  2. 使用该程序的完整路径或相对路径(例如 /opt/xyz/bin/someprogramme )

答案2

当 bash 解释命令行时,它会在变量 $PATH 中描述的位置中查找命令。要查看它,请输入:

echo $PATH

通常,当前目录不在该列表中。当前目录不在该列表中的原因是为了安全。

./的是:在当前目录中查找我的命令,而不是查看 $PATH 中指定的所有目录。

更多关于:

答案3

你的每个程序前面都要加上“./”。

否则终端不知道如何处理“演示”文件

答案4

文件名前的“./”代表“在当前目录中执行此文件”,如果您要执行的文件不在您当前所在的目录中,则需要指定文件的路径,如下所示:

Xxxxx@xxxx /Documents/filetoexecute

相关内容