当我在终端执行 C 程序时,我写道:
gcc -o demo demo.c
./demo
实际上我的疑问是我们为什么./
之前写demo
以及这是什么意思?
答案1
当我们在终端中执行任何命令时,它都会在 PATH 环境变量中查找该命令。通过使用 ./(相对路径),我们告诉 shell 在当前目录中查找该命令。
查看echo $PATH
执行任何命令有两种方法
- 将其路径放入 PATH 环境变量中
- 使用该程序的完整路径或相对路径(例如 /opt/xyz/bin/someprogramme )
答案2
当 bash 解释命令行时,它会在变量 $PATH 中描述的位置中查找命令。要查看它,请输入:
echo $PATH
通常,当前目录不在该列表中。当前目录不在该列表中的原因是为了安全。
说
./
的是:在当前目录中查找我的命令,而不是查看 $PATH 中指定的所有目录。
更多关于:
答案3
你的每个程序前面都要加上“./”。
否则终端不知道如何处理“演示”文件
答案4
文件名前的“./”代表“在当前目录中执行此文件”,如果您要执行的文件不在您当前所在的目录中,则需要指定文件的路径,如下所示:
Xxxxx@xxxx /Documents/filetoexecute