PowerShell函数中使用$PSBoundParameters获取输入参数列表实例

本文介绍在自定义PowerShell函数时,有一个$PSBoundParameters的变量可以获取到输入参数列表。获取输入参入列表对我们进行功能调试有很大的帮助。

当我们在执行一个函数时,可以使用输入参数的值,但我在PowerShell中,参数有的是必选,有的是可选,那么我们怎么知道用户真实的输入了哪些参数呢?

在PowerShell函数中,有一个全局变量$PSBoundParameters,它是一个Hash表,里面保存了所有的输入参数和输入参数的值。通过输出这个变量,我们就可以看到所有的输入参数了。

代码如下:

function Get-Parameter {
    param
    (
        $Name,
        $LastName='Default',
        $Age,
        $Id
    )
    $PSBoundParameters
}

这个函数定义了四个参数,用户可以随意选择参数进行输入,那么,我们就使用$PSBoundParameters这个变量来获取输入参数列表。

执行的情况如下:

代码如下:

PS> Get-Parameter
PS> Get-Parameter -Name test -Id 12
Key Value
--- -----
Name test
Id 12

大家可以看到,同样是调用这个函数,没有输入参数时,输出结果为空。输入了参数时,参数名和参数值被原样输出。

关于PowerShell函数获取输入参数列表($PSBoundParameters),本文就介绍这么多,希望对您有所帮助,谢谢!

(0)

相关推荐

  • PowerShell函数中使用$PSBoundParameters获取输入参数列表实例

    本文介绍在自定义PowerShell函数时,有一个$PSBoundParameters的变量可以获取到输入参数列表.获取输入参入列表对我们进行功能调试有很大的帮助. 当我们在执行一个函数时,可以使用输入参数的值,但我在PowerShell中,参数有的是必选,有的是可选,那么我们怎么知道用户真实的输入了哪些参数呢? 在PowerShell函数中,有一个全局变量$PSBoundParameters,它是一个Hash表,里面保存了所有的输入参数和输入参数的值.通过输出这个变量,我们就可以看到所有的输入

  • PowerShell函数中限制数组参数个数的例子

    本文介绍PowerShell自定义函数时,可以使用数组来传递多个参数.数组传递参数时,参数个数本身无法限制,PowerShell函数提供了一个方法来限制数组中参数的个数. PowerShell函数可以接受数组作为输入参数.而且不需要将数组定义好后再传给PowerShell函数,而可以直接将一个逗号分隔的字符串数组当作参数来传递,如:Add-User -UserName 'splaybow1','splaybow2','splaybow3'.这个函数的定义如下: 复制代码 代码如下: functi

  • PowerShell函数中的开关参数介绍和创建实例

    本文介绍什么是开关参数,在PowerShell自定义函数中,如何创建开关参数并使用开关参数的值. 什么叫开关参数呢?举个例子,技术男一般都知道有一个网络命令叫"Ping",我们可以使用"ping www.jb51.net"这样一个命令来检查本地计算机到www.jb51.net这个网站所在的服务器网络是否连通.这个命令会从本地发送4个数据包到www.jb51.net服务器,并显示每个数据包是否收到了反馈结果.如果我正在重启www.jb51.net这台服务器,那么pin

  • 详解angular中通过$location获取路径(参数)的写法

    我最近在研究angular中通过$location获取路径(参数)的写法,在网上搜索了很多的资料,正好今天有时间,就整理一下! 以下获取与修改的 URL 以  ( http://172.16.0.88:8100/#/homePage?id=10&a=100  ) 为例 [一]获取 (不修改URL) //获取当前完整的url路径 var absurl = $locationabsUrl(); //http://88:8100/#/homePage?id=10&a=100 // 获取当前url

  • Java中BufferedReader类获取输入输入字符串实例

    使用Scanner来取得使用者的输入很方便,但是它以空白来区隔每一个输入字符串,在某些时候并不适用,因为使用者可能输入一个字符串,中间会包括空白字元,而您希望取得完整的字符串. 您可以使用BufferedReader类别,它是java.io包中所提供的一个类,所以使用这个类时必须先import java.io包:使用BufferedReader对象的readLine()方法必须处理IOException异常(exception),异常处理机制是Java提供给程序设计人员捕捉程序中可能发生的错误所

  • python 获取url中的参数列表实例

    Python的urlparse有对url的解析,从而获得url中的参数列表 import urlparse urldata = "http://en.wikipedia.org/w/api.php?action=query&ctitle=FA" result = urlparse.urlparse(urldata) print result print urlparse.parse_qs(result.query) 输出: ParseResult(scheme='http',

  • python获取命令行输入参数列表的实例代码

    (一)单一独立的参数 如果命令行输入的参数都是各自单一独立的,直接用个循环把所有参数逐一读出来就行了.sys模块里面直接用args = sys.argv就可以获取到所有参数了(返回值args是一个list),args0]是执行的python文件路径名,args[1:]后面的才是真正命令行输入的参数,用个for循环就可以一一读取args列表,示例代码如下: import sys def usage(): print """ This is usage. This is usag

  • django之从html页面表单获取输入的数据实例

    本文主要讲解如何获取用户在html页面中输入的信息. 1.首先写一个自定义的html网页 login.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>test</title> </head> <body> <form method="post"

  • vue中的 $slot 获取插槽的节点实例

    vue 中的 $slot 以前一直不知到这个东西,后来发现 vue api 中 藏着很多的 很神奇的 api,比如这个 具名插槽很好理解,但是那个 default 就有点难了, 写了一个炒鸡简单的 demo father: <template> <div> <button @click="getSlot">getSlot</button> <try ref="try"> <div class=&quo

  • PowerShell函数中接收管道参数实例

    本文介绍在自定义PowerShell函数时,如何设置函数通过管道(Pipeline)接收输入参数. 先看一个例子,用管道作为输入参数的函数: 复制代码 代码如下: function Test-Pipeline {     param(         [Parameter(ValueFromPipeline=$true)]         $InputObject     )     process     {         "Working with $InputObject"  

随机推荐