我对powershell中的参数和参数感到困惑。你能帮我解释一下param和arg之间的区别吗? 感谢。
答案 0 :(得分:9)
您是在谈论用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
答案 1 :(得分:3)
传统上,在编程语言中,参数定义声明函数的函数的输入。参数是调用函数时提供的值。参数值映射到函数参数。您可以在Wikipedia上了解详情。