运行 script 只打印脚本源码!@#$%
Running script only prints script source code!@#$%
这对我来说很奇怪。 运行 一个脚本只会输出它的源代码。这是一个MRE。当然,问题也出在更大的脚本上。我要发什么疯?
PS C:\src\t> Get-Content -Path .\junk.ps1
[CmdletBinding()]
param (
[Parameter()]
[string]$S
)
{
Write-Host $S
}
PS C:\src\t> .\junk.ps1 -S 'now'
Write-Host $S
PS C:\src\t> $PSVersionTable.PSVersion.ToString()
7.2.1
脚本中的 {}
大括号定义了一个 脚本块文字 - 一个可以稍后调用的匿名函数。
去掉大括号,Write-Host
语句将起作用:
[CmdletBinding()]
param (
[Parameter()]
[string]$S
)
Write-Host $S
这对我来说很奇怪。 运行 一个脚本只会输出它的源代码。这是一个MRE。当然,问题也出在更大的脚本上。我要发什么疯?
PS C:\src\t> Get-Content -Path .\junk.ps1
[CmdletBinding()]
param (
[Parameter()]
[string]$S
)
{
Write-Host $S
}
PS C:\src\t> .\junk.ps1 -S 'now'
Write-Host $S
PS C:\src\t> $PSVersionTable.PSVersion.ToString()
7.2.1
脚本中的 {}
大括号定义了一个 脚本块文字 - 一个可以稍后调用的匿名函数。
去掉大括号,Write-Host
语句将起作用:
[CmdletBinding()]
param (
[Parameter()]
[string]$S
)
Write-Host $S