这个答案包含了一行PowerShell代码,它会将$env:path
分割并应用过滤器,然后将结果组合起来存储在$env:path
中。
$path = ($path.Split(';') | Where-Object { $_ -ne 'ValueToRemove' }) -join ';'
我在阅读这段代码时,突然出现了一个
-join ';'
。这是如何工作的?它背后的概念是什么?我原本以为 (<expression)
最终会变成一些对象,但是像这样读取 <object> -join ';'
,所以连接部分仍然是一些独立的标记。它是如何评估的?我可以看到它显然做了“正确的事情”,但是为什么以及它是如何工作的呢?Powershell 究竟如何评估此行?对我来说,这似乎是非常神奇的黑魔法。
-join ';'
。<- 你是我新的最喜欢的人。+1。 - gvee