当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell 变量 |如何声明和初始化PowerShell变量?

作者:精品下载站 日期:2024-12-14 04:58:49 浏览:15 分类:玩电脑

PowerShell 变量 |如何声明和初始化PowerShell变量?


[玩转系统] PowerShell 变量 |如何声明和初始化PowerShell变量?

PowerShell 中的变量简介

默认情况下,PowerShell 中的变量是自动的,这意味着它会根据您分配的数据选择一种数据类型,例如,如果 $age=1 则为 int32,如果为 $student =”Ranjan”则为 int32是一个字符串。 PowerShell 中的变量以 $符号开头。 PowerShell 中的变量不区分大小写,它们可以包含任何字母、数字和特殊字符。如果是特殊字符,则需要用 {} 括起来,例如 $ {Ranjan rating out of 10 is}=10。我们可以从变量 $ {Ranjan rating out of 10 is} 得到输出为 10。在非常简单的单词中,变量是任何重要数据(如任何字符串或任何整数)的占位符。下面屏幕中的示例包含带有特殊字符的变量。

[玩转系统] PowerShell 变量 |如何声明和初始化PowerShell变量?

如何在Powershell中声明变量?

变量声明是指用变量的数据类型或者基本属性来命名变量。在 PowerShell 中,命名变量只是将变量通知到内存。一旦我们分配了诸如字符串或整数之类的东西,它就会被告知内存有关变量的数据类型,并且据此,它仅在那时完成内存中的分配。

通过声明,我们仅通知系统有关变量类型及其名称,在声明中我们没有定义保存变量所需的内存大小。内存大小需要保存任何可变部分,由系统在初始化时完成。

PowerShell 支持除字符串和整数之外的许多其他数据类型,例如浮点数、小数和布尔值等。您不必显式声明变量的数据类型; PowerShell 在初始化时自动选择数据类型。 PowerShell还在初始化时提供数据类型转换。

$number ="Ranjan"//string
$number =34//int32
$sum=$number+$number

[玩转系统] PowerShell 变量 |如何声明和初始化PowerShell变量?

在PowerShell中,我们可以为任何变量严格定义数据类型。下面的例子中,我们严格定义了变量,因此我们只能分配与其数据类型相关的数据。

[Int]$number="Ranjan"//throw an error as we defined it as Int and assigning the value of the string
[Int]$number=23

[玩转系统] PowerShell 变量 |如何声明和初始化PowerShell变量?

PowerShell 中变量的自动转换。在下面的示例中,最初,我们分配了一个字符串,检查了它的数据类型,发现它是一个字符串,分配了一个整数值,检查了它的数据类型,发现它是 int32。

$id ="test123"
$id.GetType().Name
$id=78
$id.GetType().Name

[玩转系统] PowerShell 变量 |如何声明和初始化PowerShell变量?

如何在Powershell中初始化变量?

初始化意味着在我们最初分配某些内容时告诉系统保存变量所需的内存大小。我们可以根据进一步的用途初始化变量。

例如,下面的年龄每年都在增加。

$age =0
$age=$age+1
$age=$age+1
$age=$age+1
$age=$age+1

很快。但是如果我们像下面这样初始化

$age="zero"
$age=$age+1
$age=$age+1
$age=$age+1
$age=$age+1

[玩转系统] PowerShell 变量 |如何声明和初始化PowerShell变量?

因此我们发现在初始化时我们应该根据用户的需要使用整数值或字符串进行初始化,以便进一步编程。

Powershell 中变量的规则和规定

让我们讨论一下 PowerShell 变量的一些规则。 PowerShell 变量始终以 $符号开头,它可以包含字母、数字和下划线的组合。如果您确实认为使用除此之外的字符很重要,则必须将它们括在花括号中。不应使用已预定义的变量名称,也不要将字符串分配给严格定义的 int 变量,否则会引发错误。PowerShell 保留了 $$、$?、$^和$_ 包含字母数字和特殊字符。

以下是有效变量名称的示例:

$schoolType, $schoolType_1, ${school-type not known}

下面是一些错误的变量命名方式。

schoolName, $school-type, $school type

示例:

让我们看看下面提到的例子:

$schoolId = 1, 2, 3 //assigning array to variable
//Checking it’s data type , we can see it is an Object type
$schoolId.GetType().Name
Object[]
$schoolId="ranjan" //assigning string to same variable
//Checking it’s data type , we can see it is a String type
$schoolId.GetType().Name
String
$schoolId=23 //assigning int value to same variable
//Checking its data type, we can see it is a Int32 type
$schoolId.GetType().Name
Int32
$schoolId=FALSE  //wrong way of assignment throw an error
$schoolId=$FALSE //correct way of assignment
//Checking its data type, we can see it is a Boolean type
$schoolId.GetType().Name
Boolean

[玩转系统] PowerShell 变量 |如何声明和初始化PowerShell变量?

在上面的示例中,我们首先将数组分配给变量而不是字符串名称,然后分配给数字,当我们分配 FALSE 时,它会突然抛出错误,因为 $FALSE 是分配任何布尔值的正确方法。

[int]$schoolNumber = 81 //Strictly defining data type of variable to integer
$schoolNumber = "9999" //Here string of numeric will be converted to an integer
$schoolNumber = "zero" //As we have defined integer so we can not assign string

它会抛出一个错误,请参见下面的屏幕。

[玩转系统] PowerShell 变量 |如何声明和初始化PowerShell变量?

[string]$words = "Ranjan"
$words = 30       // The integer is converted to a string.
$words += 10     //Treat $words as string only
$words+= 21    //keep concatenate as string
$words+= 31

在上面的代码块中,因为我们将 $words 定义为字符串,所以这里不会执行任何算术运算,它将所有这些变量视为字符串并将它们连接为字符串。上述执行的屏幕如下所示。

[玩转系统] PowerShell 变量 |如何声明和初始化PowerShell变量?

让我们了解 PowerShell 中的日期数据类型,

[datetime] $DOB = "04/11/88"   //It will convert string of date to Date objects.
$DOB

输出: 1988 年 4 月 11 日星期一上午 12:00:00

屏幕如下所示,

[玩转系统] PowerShell 变量 |如何声明和初始化PowerShell变量?

在上面的示例中,我们只是将日期作为字符串变量传递,PowerShell 将其转换为日期和时间对象。

结论

总而言之,我希望我能够以最简单的方式解释变量。 PowerShell 为变量定义提供了很大的灵活性,并且提供自动类型转换,这使得它非常强大且易于使用。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯