在powershell中参数和参数有什么区别?
答
您是否在讨论通过param
定义的参数和通过$args
访问的参数?
通常,参数是作为方法签名(方法声明)一部分的变量。参数是调用方法时使用的表达式。
但是,为了区分param
和args
,您可以将前者定义为可以使用参数名称并将其值(命名参数)传递给脚本(或函数等)的参数,或位置参数仅指定值,并且后者作为访问如在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
我在我的回答中也告诉过,但我想OP是要求问题主体的param和args之间的区别 – manojlds