跳转至

语法坑点

如果有语法错误,建议设置文件编码为UTF8-BOM

函数作为命令执行且有多个时有错误立刻停止运行

## 1. 设置全局错误
$global:ErrorActionPreference = 'Stop'

## 2. 捕获全局错误
trap {  
    echo "err: $_"  
    exit 1  
}

注释后有Write-Host等调用会导致代码被当成文本输出

  • 推荐使用<# xxx \#>,而不是单行的# xxx
  • 不推荐使用# xxx,会引起很多问题还不知道为什么

switch

## 错误的注释
switch -Exact ($target)  
{  
##            初始化
    "init" {  
        Invoke-Init  
    }
}

## 正确的注释
switch -Exact ($target)  
{  
    "init" {  
##            初始化  
        Invoke-Init  
    }
}