什么是 ./ 在终端上执行期间
What is ./ during executing on terminal
成功构建.cpp扩展文件后,需要使用./a.out命令执行a.out文件。
./ 代表什么?它只是一种在终端上执行它的方法吗?对它代表什么有进一步的解释吗?
.
是当前目录(就像 ..
是当前目录的父目录)所以 ./a.out
表示 "run the a.out
program from the current directory".
这是为那些没有 .
的人准备的。如果你分享你的盒子或者过于偏执,这是个好主意,但是对于家庭盒子,可能更容易 add .
到路径的末尾,这样你就不会不必使用长版。
这与c++无关。它适用于类似 unix 的操作系统。
./ 表示
look in the current directory for my script rather than looking at all
the directories specified in $PATH
如果您执行 ls -al
,它会列出当前目录的文件和文件夹,您会注意到它显示 .
作为条目。
这对应于对当前目录的引用。
当我们说 ./a.out
时,我们告诉 shell 执行相对于当前目录的 a.out
文件
当您在 Linux shell 中键入命令来决定要做什么时,shell 首先查看其中是否有 /
。如果没有,它会寻找:
- 内部 shell 命令。
$PATH
环境变量中列出的某些目录中的可执行文件。
如果名称中有 /
,则它会始终查找具有该名称的文件。
您可能知道,.
是当前目录。
所以 ./
做了几件事:
- 它阻止 shell 将命令解释为 shell 内置命令。
- 它阻止shell在
$PATH
中寻找程序。
- 它使 shell 只在当前目录中查找程序。
成功构建.cpp扩展文件后,需要使用./a.out命令执行a.out文件。 ./ 代表什么?它只是一种在终端上执行它的方法吗?对它代表什么有进一步的解释吗?
.
是当前目录(就像 ..
是当前目录的父目录)所以 ./a.out
表示 "run the a.out
program from the current directory".
这是为那些没有 .
的人准备的。如果你分享你的盒子或者过于偏执,这是个好主意,但是对于家庭盒子,可能更容易 add .
到路径的末尾,这样你就不会不必使用长版。
这与c++无关。它适用于类似 unix 的操作系统。 ./ 表示
look in the current directory for my script rather than looking at all the directories specified in
$PATH
如果您执行 ls -al
,它会列出当前目录的文件和文件夹,您会注意到它显示 .
作为条目。
这对应于对当前目录的引用。
当我们说 ./a.out
a.out
文件
当您在 Linux shell 中键入命令来决定要做什么时,shell 首先查看其中是否有 /
。如果没有,它会寻找:
- 内部 shell 命令。
$PATH
环境变量中列出的某些目录中的可执行文件。
如果名称中有 /
,则它会始终查找具有该名称的文件。
您可能知道,.
是当前目录。
所以 ./
做了几件事:
- 它阻止 shell 将命令解释为 shell 内置命令。
- 它阻止shell在
$PATH
中寻找程序。 - 它使 shell 只在当前目录中查找程序。