powershell中参数和参数之间的区别是什么?

时间:2011-09-06 03:36:04

标签: powershell

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

2 个答案:

答案 0 :(得分:9)

您是在谈论用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

答案 1 :(得分:3)

传统上,在编程语言中,参数定义声明函数的函数的输入。参数是调用函数时提供的值。参数值映射到函数参数。您可以在Wikipedia上了解详情。