Gle*_*nch 2 powershell scope function
我是Powershell的新手,但我用Java和其他语言编程.
我试图将一个字符串传递给一个函数,然后让该函数返回该字符串.下面是我尝试运行的简单代码:
#funcpass.ps1
function test {
Param([string]$input)
$out = $input
return $out
}
$a = test hello world
Write-Host $a
Run Code Online (Sandbox Code Playgroud)
我希望这会传递字符串,hello world然后将字符串返回$a到要打印的变量中.相反,我的控制台返回:
PS P:\test> .\funcpass.ps1
PS P:\test>
Run Code Online (Sandbox Code Playgroud)
我遇到了某种范围错误吗?任何帮助将不胜感激.我不确定版本号是否有帮助,但这里是:
PS P:\test> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
5 1 14393 1198
Run Code Online (Sandbox Code Playgroud)
该$input参数是保留的,因此您必须更改其名称.此外,如果您只想将一个字符串传递给该函数,则必须用引号将其括起来:
function Run-Test {
Param([string]$inputValue)
$out = $inputValue
return $out
}
$a = Run-Test "hello world"
Write-Host $a
Run Code Online (Sandbox Code Playgroud)
FYI return关键字是可选的,但它会使您的意图更清晰,因为其他语言return用来表示从函数返回的内容.在函数内部的管道上发送的所有内容(如Write-Output)都将被返回.
| 归档时间: |
|
| 查看次数: |
314 次 |
| 最近记录: |