“$pwd”和“./”有什么区别?
What's the difference between "$pwd" and "./"?
据我所知,在 PowerShell 中使用 $pwd
和使用 ./
会得到相同的结果。
它们是一样的还是有区别的?
$pwd
是一个自动变量。它的名字代表 "present working directory",它应该总是包含当前的工作路径。
您可以只使用“.”或“.\”作为表示当前位置的路径参数,但是你不能将变量设置为.\然后让它包含当前路径,所以在这方面它们是不同的。
例如,如果您正在编写一些需要检查当前工作目录的脚本逻辑,您将需要使用 $pwd
与 .\
。例如:
if ($pwd -eq 'c:\some\path') { }
会起作用。然而:
if (. -eq 'c:\some\path') { }
不会。
$PWD
和Get-Location
(别名:pwd
)给你一个绝对路径,.
是一个相对路径.这在稍后存储到 re-use 的路径时(例如在不同的位置)可能很重要,其中 .
将始终相对于当前位置。
据我所知,在 PowerShell 中使用 $pwd
和使用 ./
会得到相同的结果。
它们是一样的还是有区别的?
$pwd
是一个自动变量。它的名字代表 "present working directory",它应该总是包含当前的工作路径。
您可以只使用“.”或“.\”作为表示当前位置的路径参数,但是你不能将变量设置为.\然后让它包含当前路径,所以在这方面它们是不同的。
例如,如果您正在编写一些需要检查当前工作目录的脚本逻辑,您将需要使用 $pwd
与 .\
。例如:
if ($pwd -eq 'c:\some\path') { }
会起作用。然而:
if (. -eq 'c:\some\path') { }
不会。
$PWD
和Get-Location
(别名:pwd
)给你一个绝对路径,.
是一个相对路径.这在稍后存储到 re-use 的路径时(例如在不同的位置)可能很重要,其中 .
将始终相对于当前位置。