1
像:對於執行另一個powershell的powershell,「&」和「。」之間有什麼區別?
& another.ps1
而且
. another.ps1
什麼是他們的區別? 我希望獲取另一個powershell腳本的輸出文本,但不想導入另一個腳本中定義的內部函數。我可以使用什麼聲明?我發現即使「&」命令也會自動導入其他powershell腳本的所有函數定義。
謝謝。
像:對於執行另一個powershell的powershell,「&」和「。」之間有什麼區別?
& another.ps1
而且
. another.ps1
什麼是他們的區別? 我希望獲取另一個powershell腳本的輸出文本,但不想導入另一個腳本中定義的內部函數。我可以使用什麼聲明?我發現即使「&」命令也會自動導入其他powershell腳本的所有函數定義。
謝謝。
區別在於範圍。 &
將在它自己的範圍內運行腳本。 .
將在當前範圍內運行腳本。
$ErrorView = 'CategoryView'
$x = 'Test'
. { Get-variable x -Scope 0 }
& { Get-Variable x -Scope 0 }
Name Value
---- -----
x Test
ObjectNotFound: (x:String) [Get-Variable], ItemNotFoundException
在第一示例中,腳本是點源到當前範圍,和$ X在0範圍
是可見的。在第二個例子中,腳本調用與&操作者和$ x在範圍0處不可見。
我根本沒有看到關於功能的所有效果。它們與調用操作符(「&」)不可見,但在使用點源操作符(「。」)時可見。 –