• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PowerShell入门教程之函数、脚本、作用域介绍

    脚本所体现的是PowerShell的编程特性,是任务自动化的基础。函数是比脚本粒度更细的代码复用单元,可以定义在命令行中或者脚本中。作用域就是变量和函数的作用范围,是执行上下文的划分。

    函数

      函数就是命名的命令列表,与一般编程语言中的函数概念具有相同的范畴。函数中不但可以有简单命令,还可以有控制流程的命令,如if、while、switch等。函数可以有匿名参数或者命名参数列表。命令参数列表可以用大括号或者Param关键字定义。匿名函数可以使用$Args变量来访问。函数也可接收来自管道的对象作为输入,管道对象可以通过$input变量类访问。

      在脚本中定义的函数,可以定义在#require命令和Param关键字之后的任何位置,但要定义在调用之前。还有,自定义的函数不会自动运行,需要被明确调用。可以使用filter或者function定义函数,用filter关键字定义的函数比较简单,而使用function关键字定义的函数可以有更加复杂的功能。

      简单函数定义示例如下:

    复制代码 代码如下:

    function SayHello
    {
       "Hello"
    }

    函数调用方法与使用Cmdlet方法相似,输入SayHello,并回车。则结果为Hello。

    脚本

      脚本就是将一些命令存贮到文件文件中,并将该文本文件的扩展名设置为.ps1。脚本中除了可以使用常用cmdlet,控制流程的命令外,还可以定义和调用自定义函数,调用方法与调用cmdlet方法类似。

      脚本也可以有参数,既可以是命名参数也可以是匿名参数。在参数的使用上,脚本与函数非常相似。

      另外,PowerShell的脚本执行策略默认不允许执行任何脚本文件,修改执行策略可执行如下命令:Set-ExecutionPolicy RemoteSigned。需要谨记的是,修改执行策略会带来安全隐患,修改执行策略之前请三思。

    简单脚本d:\greet.ps1示例如下

    复制代码 代码如下:

    Param([String] somebody)
     
    function Greet([String] name)
    {
        "Hello $name"
    }
     
    echo "Call function Greet ..."
    Greet $somebody

    脚本调用方法如下:
    复制代码 代码如下:

    d:\greet.ps1 "Luke"


    复制代码 代码如下:

    .\greet.ps1 "Luke"

    以上脚本的执行结果是,“Hello Luke”。

    作用域

      按类型分,有两种作用域:global(全局作用域)和script(脚本作用域)。启动PowerShell命令行后,所有命令行命令在全局作用域中运行。而脚本上下文在script作用域中运行,运行结束后脚本中定义的变量和函数不在可见。这是因为在脚本中定义的变量和函数默认位于script作用域中。当然也可以显示定义变量和函数的作用域,比如function global:fun1 (){…}。这样以来,脚本执行完之后,fun1还能够在全局作用域中执行。

      按轴关系分,可以有父作用域、本地作用域(当前作用域)和子作用域。这些不是新的作用域类型,而是作用域之间的相对关系。子作用域还可以有子作用域,这个层次可以很深。

      除了可以将脚本中的变量和函数定义在全局作用域中,还可以使用点".”获取来源,将一个普通脚本在本地作用域中执行,执行完毕退出脚本后,所有在脚本中定义的变量和函数,在本地作用域中继续可用。

      使用点".”获取来源示例如下:

    复制代码 代码如下:

    . d:\greet.ps1 "Luke"

    或者
    复制代码 代码如下:

    . .\greet.ps1 "Luke"

    即点".”,空格,然后是一般脚本执行方式。

    结语

      函数、脚本和作用域,每个概念要说得详细都得要很大的篇幅。这里只简单说明它们的概念、彼此间的关系以及简单的用法。让读者有个大概的印象,能够拿来就用。

    您可能感兴趣的文章:
    • PowerShell入门教程之创建和使用配置文件实例
    • PowerShell入门教程之访问.Net程序集、COM和WMI实例
    • PowerShell入门教程之PowerShell管道介绍
    • PowerShell入门教程之远程操作运行PowerShell的方法
    • PowerShell入门教程之Cmd命令与PowerShell命令相互调用的方法
    • PowerShell入门教程之高效使用PowerShell交互式运行环境的几个小技巧
    • PowerShell入门教程之快速学习PowerShell的几个方法
    • PowerShell入门教程之PowerShell和Cmd命令行的关系?
    • PowerShell入门教程之PowerShell有什么用?
    • PowerShell入门教程之编写和使用脚本模块实例
    上一篇:PowerShell入门教程之PowerShell管道介绍
    下一篇:PowerShell入门教程之访问.Net程序集、COM和WMI实例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PowerShell入门教程之函数、脚本、作用域介绍 PowerShell,入门教程,之,函数,