PowerShell函数中使用必选参数实例
本文介绍在PowerShell创建自定义函数时,如何添加必选参数,可以使用Mandatory关键词。
默认情况下,PowerShell自定义的函数中,参数都是可选的(optional)。如果要将一个参数设置为必选参数,那么必须对其设置Mandatory声明。
function Test-Function
{
param(
[Parameter(Mandatory=$true)]
$p1,
$p2='p2'
)
Write-Host "p1=$p1, p2=$p2"
}
在上面的示例函数中,参数$p1是必选参数,因为设置了Mandatory=$true,而$p2没有做任何设置,默认是可选的。按照PowerShell函数定义的Best Practices,可选参数都要设置一个默认值的,这点要记住。
在调用这个函数的时候,如果我们直接运行Test-Function而不输入参数,系统提示我们输入p1。
PS> Test-Function
cmdlet Test-Me at command pipeline position 1
Supply values for the following parameters:
p1:
顺便说一下,在PowerShell 3.0中,[Parameter(Mandatory=$true)] 这句可以简写成 [Parameter(Mandatory)],就是说“=$true”这一部分可以省略了。能少写点肯定少写点好,但如果少写了,放到PowerShell 3.0之前的环境——如PowerShell 2.0,那就无法运行了。看来鱼与熊掌不能得兼,我们还得要懂得取舍啊!
关于PowerShell函数设置必选参数,本文就介绍这么多,希望对您有所帮助,谢谢!
相关推荐
-
PowerShell函数中使用必选参数实例
本文介绍在PowerShell创建自定义函数时,如何添加必选参数,可以使用Mandatory关键词. 默认情况下,PowerShell自定义的函数中,参数都是可选的(optional).如果要将一个参数设置为必选参数,那么必须对其设置Mandatory声明. 复制代码 代码如下: function Test-Function { param( [Parameter(Mandatory=$true)] $p1, $p2='p2' )
-
PowerShell函数使用正则表达式验证输入参数实例
本文介绍在自定义PowerShell函数时,输入的参数是否合法可以通过正则表达式来进行约束.正则表达式来约束输入参数,将使用ValidatePattern指令. 之前我们通过ValidateSet来作为参数的智能提示,其实它也起到了对参数输入合规性的检查.因为ValidateSet是规定了一个输入参数的范围,不在这个范围内的参数,一是不能智能提示,另外,即便是输入了,它也无法通过函数的输入参数合规性检查,从而程序无法继续执行. 那么既然ValidateSet是以一个集合的形式来检查输入参数,那么
-
PowerShell函数中使用$PSBoundParameters获取输入参数列表实例
本文介绍在自定义PowerShell函数时,有一个$PSBoundParameters的变量可以获取到输入参数列表.获取输入参入列表对我们进行功能调试有很大的帮助. 当我们在执行一个函数时,可以使用输入参数的值,但我在PowerShell中,参数有的是必选,有的是可选,那么我们怎么知道用户真实的输入了哪些参数呢? 在PowerShell函数中,有一个全局变量$PSBoundParameters,它是一个Hash表,里面保存了所有的输入参数和输入参数的值.通过输出这个变量,我们就可以看到所有的输入
-
PowerShell函数中的开关参数介绍和创建实例
本文介绍什么是开关参数,在PowerShell自定义函数中,如何创建开关参数并使用开关参数的值. 什么叫开关参数呢?举个例子,技术男一般都知道有一个网络命令叫"Ping",我们可以使用"ping www.jb51.net"这样一个命令来检查本地计算机到www.jb51.net这个网站所在的服务器网络是否连通.这个命令会从本地发送4个数据包到www.jb51.net服务器,并显示每个数据包是否收到了反馈结果.如果我正在重启www.jb51.net这台服务器,那么pin
-
在Python函数中输入任意数量参数的实例
有时候,预先不知道函数需要接受多少个实参,好在Python允许函数从调用语句中调用语句中收集任意数量的实参.在参数前加上*号. 来看一个制作披萨的函数,它需要接受很多配料,但你无法预先确定顾客要多少种配料.下面的函数只有一个形参*toppings,但不管调用语句提供了多少实参,这个形参都将他们统统收入囊中: def make_pizza(*toppings): """打印顾客点的所有配料""" print(toppings) make_pizza
-
什么是python的必选参数
函数的必选参数,指的是函数调用的时候必须传入的参数 import math def cal (n): return n * n var = cal(2) print(var) # 4 上面的函数是计算一个数的平方,当要计算n^3, n^4.... 只能传入2个必选参数 def cal_update(n,m): return int(math.pow(n,m)) var = cal_update(2,4) print(var) # 16 但是,如果大多数情况下,都是平方计算,那每次都 cal_up
-
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
今天在vue-cli脚手架搭建的项目中使用axios时,遇到无法解析this.$route的报错信息,最后发现是作用域的问题. 1.解决方法:使用 => 原代码: axios.get('/user', { params: { ID: 12345 } }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }); 修改为: axios.get('/u
-
Python函数中的不定长参数相关知识总结
一. 不定长位置参数 # 在定义函数参数时,可以在形参的前面加*,该形参将获取所有的位置实参 # 它会将所有的实参保存在一个元组中 def fn(*args): print("args=", args) print("args type:", type(args)) # 带*形参和其他参数配合使用 def fn1(a, b, *args): print(a) print(b) print(args) # 下面这两种写法可以,但是在传实参的时候要注意 def fn2(
-
PowerShell函数中接收管道参数实例
本文介绍在自定义PowerShell函数时,如何设置函数通过管道(Pipeline)接收输入参数. 先看一个例子,用管道作为输入参数的函数: 复制代码 代码如下: function Test-Pipeline { param( [Parameter(ValueFromPipeline=$true)] $InputObject ) process { "Working with $InputObject"
-
PowerShell函数中限制数组参数个数的例子
本文介绍PowerShell自定义函数时,可以使用数组来传递多个参数.数组传递参数时,参数个数本身无法限制,PowerShell函数提供了一个方法来限制数组中参数的个数. PowerShell函数可以接受数组作为输入参数.而且不需要将数组定义好后再传给PowerShell函数,而可以直接将一个逗号分隔的字符串数组当作参数来传递,如:Add-User -UserName 'splaybow1','splaybow2','splaybow3'.这个函数的定义如下: 复制代码 代码如下: functi
随机推荐
- Mybatis中的like模糊查询功能
- 详解ftp创建文件权限问题
- c++利用stl set_difference对车辆进出区域进行判定
- Oracle WebLogic Server 12.2.1.2安装部署教程
- php中stream(流)的用法
- PHP简单留言本功能实现代码
- 关于preg_replace函数的问题讲解
- ASP常用函数:CStrIP()
- MySQL中利用索引对数据进行排序的基础教程
- Yii2 如何在modules中添加验证码的方法
- AJAX简单异步通信实例分析
- 图片垂直居中之姊妹 DIV垂直居中
- 原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法
- jQuery 源码分析笔记(4) Ready函数
- jquery用get实现ajax在ie里面刷新不进入后台解决方法
- C#实现文件与二进制互转并存入数据库
- Android编程实现Toast自定义布局简单示例
- webpack-dev-server远程访问配置方法
- Python实现将一个正整数分解质因数的方法分析
- 浅谈openstack中使用linux_bridge实现vxlan网络