【发布时间】:2018-08-28 09:50:52
【问题描述】:
(我是 PowerShell 新手,发现它是一种非常令人沮丧的语言)
我想创建一个带有参数和返回值的函数。不是火箭科学?反正我就是这么想的。但 PowerShell 不断连接我的论点 - 这是 MCVE 版本:
function hello($a, $b) {
Write-host "a is $a and b is $b"
}
hello("first", "second")
我期待这会产生输出:
a is first and b is second
没想到……
a is first second and b is
除了它以一种我没想到的方式连接值之外,它也未能标记因此丢失的参数。
如何将参数传递给函数? (!!!!OMG WTF????!!!)
【问题讨论】:
-
它是一个shell,你可以像在命令行中那样传递参数。同样的方式你不会使用
grep('pattern', 'file1')但grep 'pattern' file1。它们匹配,因此您可以以几乎相同的方式使用(高级)函数、cmdlet 和本机二进制命令。 -
好吧,在 OP 的辩护中,您会在某些 shell 中使用括号作为函数参数。以 Python 为例。话虽如此,我建议 OP 在 powershell 提示符中键入:Get-Help functions 然后特别注意高级功能主题。如果您要学习 powershell,不妨立即以最符合最佳实践的方式直接学习。
标签: powershell