CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
PowerShell 入门/课时/变量与类型
RawBlame
课时目录12 节

PowerShell 入门

  1. 01PowerShell 是什么
  2. 02Cmdlet 基础
  3. 03管道与对象
  4. 04变量与类型
  5. 05脚本与函数
  6. 06文件与路径
  7. 07远程与会话
  8. 08PowerShell vs Bash
  9. 09Windows 部署 CodeRoadMap
  10. 10GitHub Actions Windows
  11. 11Windows 容器简介
  12. 12综合练习

变量与类型

$var、数组、哈希表。

25 分钟

变量与类型

PowerShell 变量以 $ 开头,类型在运行时推断。数组 @() 与哈希表 @{} 是脚本中最常用的复合结构——sync-courses.ps1 里 $expected 就是字符串数组。

学习目标

  • 声明与赋值 $var、数组、哈希表
  • 理解 $null、类型转换与字符串插值
  • 读写环境变量(与 Bash export 对照)

核心内容

标量与字符串

$name = "CodeRoadMap"
$port = 8080
"API at http://127.0.0.1:$port/actuator/health"
"count: $($slugs.Count)"    # 子表达式插值

单引号 '...' 不插值;双引号 "..." 可嵌入 $var 与 $(...)。

数组与哈希表

$ports = @(8080, 3000, 3306)
$ports -contains 8080          # True

$config = @{
  ApiBase = "http://127.0.0.1:8080"
  DryRun  = $false
}
$config.ApiBase

数组追加:$ports += 443。哈希表键名不区分大小写。

类型与比较

"8080" -eq 8080        # False(类型不同)
"8080" -eq "8080"      # True
8080 -gt 3000          # True

[int]$port = "8080"    # 显式转换
$items = @()           # 空数组

比较运算符:-eq、-ne、-gt、-lt、-in、-notin(不是 == / >)。

环境变量

$env:API_BASE = "http://127.0.0.1:8080"
$env:NODE_ENV = "production"
Remove-Item Env:API_BASE -ErrorAction SilentlyContinue

对应 Bash:export API_BASE=...(linux-shell)。sync-courses.ps1 在 finally 块清理 $env:API_BASE、$env:ADMIN_TOKEN。

只读与作用域

$ErrorActionPreference = "Stop"   # 遇错即停
$Root = Resolve-Path "..\.."

脚本级变量在 param() 块定义的参数自动成为变量;函数内用 $script: 或 $global: 前缀访问外层。

练习

  • 创建哈希表描述本地部署(ApiBase、AdminUser、端口)
  • 用 判断 是否在 track slug 列表中
-contains
"powershell-essentials"
  • 设置 $env:DRY_RUN = "1" 后 $env:DRY_RUN,再 Remove-Item 清理
  • 小结

    $变量 + 数组@() + 哈希表@{} + $env: 环境变量,构成脚本数据基础。 下一课脚本与函数。

    加载本节练习…
    ← 上一课管道与对象下一课 →脚本与函数