我是Powershell的新手,但我用Java和其他语言编程。
我正在尝试将字符串传递给函数,然后让该函数返回字符串。下面是我试图运行的简单代码:
#funcpass.ps1
function test {
Param([string]$input)
$out = $input
return $out
}
$a = test hello world
Write-Host $a
我希望这会传递字符串hello world
,然后将字符串返回到要打印的变量$a
中。而是我的控制台返回:
PS P:\test> .\funcpass.ps1
PS P:\test>
我遇到了某种范围错误吗?任何帮助将不胜感激。我不确定版本号是否有帮助,但这里是:
PS P:\test> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
5 1 14393 1198
答案 0 :(得分:6)
$input
参数为保留,因此您必须更改其名称。此外,如果您只想将一个字符串传递给该函数,则必须用引号将其括起来:
function Run-Test {
Param([string]$inputValue)
$out = $inputValue
return $out
}
$a = Run-Test "hello world"
Write-Host $a
仅供参考return
关键字是可选的,但是当其他语言使用return
来表示正在从函数返回某些内容时,它会使您的意图更加清晰。
Write-Output
)