在powershell中参数和参数有什么区别?

问题描述:

我对PowerShell中的参数和参数感到困惑。你能帮我解释一下param和arg之间的区别吗? 谢谢。在powershell中参数和参数有什么区别?

传统上,在编程语言中,参数定义了声明函数的函数的输入。参数是调用函数时提供的值。参数值映射到函数参数。你可以在Wikipedia上阅读更多。

+0

我在我的回答中也告诉过,但我想OP是要求问题主体的param和args之间的区别 – manojlds

您是否在讨论通过param定义的参数和通过$args访问的参数?

通常,参数是作为方法签名(方法声明)一部分的变量。参数是调用方法时使用的表达式。

但是,为了区分paramargs,您可以将前者定义为可以使用参数名称并将其值(命名参数)传递给脚本(或函数等)的参数,或位置参数仅指定值,并且后者作为访问如在param

定义考虑以下脚本命名test.ps1之上由脚本预期的参数的位置参数:

param($param1,$param2) 

write-host param1 is $param1 
write-host param2 is $param2 

write-host arg1 is $args[0] 
write-host arg2 is $args[1] 

而假设我所说的脚本:

.\test.ps1 1 2 3 4

我会得到输出:

param1 is 1 
param2 is 2 
arg1 is 3 
arg2 is 4 

这等同于调用它:

.\test.ps1 -param1 1 -param2 2 3 4 

甚至

.\test.ps1 3 4 -param2 2 -param1 1