当我们使用 Get-Process 这样的命令时,结果会立刻显示在屏幕上,然后消失。如果我们想对这个结果进行进一步操作,比如筛选出特定的进程,或者计数,就需要再次输入命令。这无疑是低效的。
变量 就是为了解决这个问题而生的。它本质上是计算机内存中的一块存储空间,你可以把它想象成一个带标签的盒子。你可以把任何数据(一个数字、一段文本、一个命令的结果)放进去,并给它起一个名字(标签)。之后,在任何需要用到这个数据的地方,你只需要喊它的名字(使用变量名),就能拿到里面的内容。
一、 变量的基础操作:存放与取出
在 PowerShell 中,所有变量名都必须以美元符号 $ 开头。
1. 创建变量与赋值(把东西放进盒子)
使用等号 = 进行赋值,这被称为"赋值运算符"。它的作用是将右边的值赋予左边的变量。
1 # 把数字 100 放进一个名为 $number 的盒子 2 $number = 100 3 4 # 把文本 "Hello" 放进一个名为 $text 的盒子 5 $text = "Hello" 6 7 # 把 Get-Process 命令得到的所有进程对象,放进一个名为 $allProcesses 的盒子 8 $allProcesses = Get-Process
赋值完成后,命令行通常不会有任何输出,因为结果已经被保存到变量里了。
2. 使用变量(从盒子里取出东西)
要使用变量里的内容,只需输入变量名并按回车。
1 # 查看 $text 盒子里装了什么 2 $text 3 4 # 查看 $allProcesses 盒子里装了什么(会显示所有进程列表) 5 $allProcesses
二、 PowerShell 的特色:使用 [] 指定变量类型
PowerShell 有一个很有特色的功能:你可以使用方括号 [] 来明确告诉 PowerShell 这个变量应该存储什么类型的数据。
为什么要指定类型?
-
安全性:避免意外地将错误类型的数据赋给变量
-
性能:帮助 PowerShell 更高效地处理数据
-
可读性:让代码更清晰,一看就知道变量应该存储什么
1 # 告诉 PowerShell:这个变量只能存储整数 2 [int]$age = 25 3 4 # 告诉 PowerShell:这个变量只能存储文本 5 [string]$name = "张三" 6 7 # 如果尝试将错误类型赋给变量,PowerShell 会报错 8 [int]$score = "abc" # 这行会出错,因为"abc"不是数字
[] 括号的使用规则:
-
放在变量名的开头,
$符号之后 -
括号内写数据类型的名称,如
[int],[string] -
这是可选的,但推荐使用,特别是当你明确知道变量应该存储什么类型时
三、 为什么变量如此重要?
-
避免重复,提升效率:只需执行一次耗时的命令(如获取全公司用户列表),将结果存入变量,即可反复使用。
-
保证一致性:在脚本运行期间,变量的值是被"定格"的。你基于变量所做的所有操作,都源于同一时刻的数据快照,避免了因数据实时变化导致的结果不一致。
-
增强代码可读性:一个良好的变量名(如
$studentNameList)远比一段复杂的命令更容易让人理解其意图。
四、 变量的命名规范:给盒子贴个好标签
给变量起一个好名字是良好编程习惯的开始。
-
使用有意义的名称:名字应清晰反映变量所存储的内容。
-
差:
$a,$x1(完全不知道里面是什么) -
好:
$serviceName,$totalCount,$isValid
-
-
推荐命名法:
-
驼峰命名法:
$studentName(首字母小写,后续单词首字母大写) -
清晰易懂:
$file_count也可以,但要保持一致性
-
-
避免以下情况:
-
使用特殊字符和空格(如
$my-variable是错误的) -
使用 PowerShell 的关键字(如
$process,$if)
-
五、 查看与管理变量
-
查看当前定义的所有变量:
PowerShell Code:1 Get-Variable -
删除一个变量(清空盒子并扔掉标签):
PowerShell Code:1 Remove-Variable -Name text
动手实验
请在 PowerShell ISE 的控制台中逐行执行以下代码,亲身感受变量的作用:
1 # 1. 使用类型标识创建变量 2 [int]$studentCount = 30 3 [string]$className = "三年二班" 4 [bool]$isActive = $true 5 6 # 2. 显示这些变量 7 $studentCount 8 $className 9 $isActive 10 11 # 3. 尝试重新赋值(注意类型约束) 12 $studentCount = 35 # 正确:35是整数 13 # $studentCount = "三十五" # 错误:如果取消注释这行,会报错 14 15 # 4. 简单的变量使用 16 $totalStudents = $studentCount 17 $classInfo = "班级:" + $className + ",人数:" + $totalStudents 18 $classInfo
结语
恭喜!你现在已经掌握了变量的基本用法。你已经知道:
-
如何用
$name = value来存储数据 -
如何通过
$name来使用存储的数据 -
PowerShell 的特色功能:使用
[]指定变量类型 -
良好的变量命名习惯
这是从执行单行命令迈向编写复杂自动化脚本的关键一步。变量让你的脚本拥有了"记忆",使得数据的传递和加工成为可能。
在下一篇中,我们将深入探讨变量中存储的数据本身,从最基础的 整数(Integer) 开始,了解不同数据类型的特性。
浙公网安备 33010602011771号