[PowerShell教程][11]PowerShell中的加法运算

如何在 Windows 11 或 10 上通过 PowerShell 安装 Docker Desktop 在 Windows 11 或 10 上,可以通过 PowerShell 或命令提示符安装 Docker CLI 和 Docker Desktop GUI,无需手动下载安装程序。首先,确保系统满足要求,如启用 WSL 和虚拟机平台。然后,使用 Winget 包管理器安装 Docker Desktop,该工具会自动安装 Docker CLI。安装完成后,重启系统并启动 Docker Desktop GUI 进行图形化管理,或通过命令行使用 Docker 命令管理容器和镜像。若需卸载,同样可通过 Winget 完 阅读详情

加法运算

大家已经PowerShell中的运算符有了一定感性的认识。我们首先来学习“+”运算符。PowerShell定义了“+”运算符处理数值类型、字符串类型、数组类型和哈希表类型的具体行为。在进行数值计算时,“+”和平时的数值计算规则基本一样。不过需要注意,由于计算机内部表示不同数值类型时,使用的存储空间不同,因此这些类型都只能表示一个范围内的数据。在进行数值运算的过程中,如果计算结果超过了参与计算数值类型的值域时,PowerShell将会自动进行类型转换,使用值域更大的数据类型来保存结果。例如:

PS C:/> 9 + 11

20

PS C:/> (9 + 11).GetType().FullName

System.Int32

PS C:/> [int]::MaxValue + 1

2147483648

PS C:/> ([int]::MaxValue + 1).GetType().FullName

System.Double

PS C:/> [int]::MinValue - 1

-2147483649

PS C:/> ([int]::MinValue - 1).GetType().FullName

System.Double

例子中的[int]::MaxValue表示类型int的最大值,如果再执行“+ 1”的运算,就会导致该数值超出int类型的值域,因此PowerShell自动将数据类型转换为Double类型。类似的,[int]::MinValue表示了int类型的最小值。

当对字符串类型操作数使用“+”运算符时,PowerShell将会对字符串进行连接操作,返回一个新的字符串,这种操作在C#语言中、SQL Server数据库的T-SQL语法中是一致的。例如:

PS C:/> "Hello" + " " + "world!"

Hello world!

当对数组类型操作数使用“+”运算符时,将会执行数组连接操作,返回一个新的数组,这与在C#语言中的行为一致。例如:

PS C:/> $array1 = 1,2,3

PS C:/> $array2 = 4,5

PS C:/> $array3 = $array1 + $array2

PS C:/> "$array3"

1 2 3 4 5

例子中首先定义了数组array1,它包含123这三个元素。接下来用数组array1与数组array2相加,并将返回结果存储在变量array3中。最后,输出数组中的元素到控制台。在PowerShell中,双引号中引用数组时,数组的每个元素将会被存储在变量$ofs中的字符串相互连接,并输出。(“$ofs”的默认值为空格字符)。

当对哈希表类型操作数使用“+”运算符时,PowerShell将把“+”右边的哈希表键值对添加到左边的哈希表中。如果添加的键值已经存在于左边哈希表中,PowerShell就会给出错误提示。例如:

PS C:/> $dev = @{ Tom = 1; Jerry = 2}

PS C:/> $sale = @{ Hero = 1; }

PS C:/> $dev + $sale

Name                           Value

----                           -----

Tom                            1

Jerry                          2

Hero                           1

例子的开头定义了哈希表dev,它包含了研发部门的员工TomJerry。接下来定义了哈希表sale,员工只有Hero一人。将devsale相加后得到包含这三名员工的新哈希表。如果右边哈希表中包含了与左边哈希表相同的键值对,PowerShell将会给出错误信息:

PS C:/> $manager = @{ Tom = 3 }

PS C:/> $dev + $manager

Bad argument to operator '+': 已添加项。字典中的关键字:Tom”所添加的关键字:Tom.

At line:1 char:7

+ $dev + <<<<  $manager

在前面的例子中,都是相同类型的对象相加。您可能正在思考,如果在“+”两边不是相同类型的对象,结果到底会是什么呢?下面是一些常见的情况:

PS C:/> 123 + '23'

146

PS C:/> 123 + '0xa'

133

PS C:/> 4 + 'test'

Cannot convert value "test" to type "System.Int32". Error: "Input string was not in a correct format."

At line:1 char:4

+ 4 +  <<<< 'test'

PS C:/> '02' +  73

0273

PowerShell在发现“+”运算符时,将会根据左操作数的类型来决定计算的规则。在第一个表达式中123 + '23'中,123是整数,因此“+”执行数值加法运算。但是由于右操作数是字符串类型,因此PowerShell首先对该操作数进行类型转换。所以最后,我们看到结果为数值类型的值:146。第二个例子中,字符串包含了一个整数的十六进制表示形式,PowerShell将该数值正确转换成数值类型并进行计算。第三个例子中,字符串'test'是无法转换为整数类型的,因此PowerShell给出错误信息:“输入串的格式不正确”。第四个例子中,左操作数变成了包含数字的字符串,因此PowerShell执行了字符串的连接操作。
如何在 Windows 11使用 PowerShell 安装 Chocolatey Chocolatey 是一个免费的 Windows 软件管理自动化工具,可用于安装程序、部署运行时二进制文件或压缩文件。对于普通用户来说,你可以将其视为 Windows 的命令行程序管理器或命令行程序安装器。Chocolatey 可以在 Windows 的 PowerShell 中操作,用于安装所有可用的 Chocolatey 包,这令人印象深刻,而且使用该工具的可能性几乎是无限的。你可能会问,Chocolatey 是否安全? 阅读详情

相关推荐

【速成】PowerShell快速学习教程

2006年,微软推出PowerShell,功能远超CMD,成为微软推荐的“现代CLI”。powershell是面向对象的命令行Shell和脚本语言环境。传统 Shell 命令输出的是文本,比如CMD。PowerShellCmdlet输出的是.NET 对象。特性CMDPowerShell输出类型纯文本对象流可扩展性固定命令集支持自定义 Cmdlet脚本能力批处理文件面向对象的脚本语言错误处理简单退出码详细错误对象。

正经教主是个热衷于正经学习分享的教主。 1695

阿宁的Linux学习-----shell运算

shell基本运算符 shell和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 expr是一款表达式计算工具,使用他能完成表达式的求值操作。 例如 #!/bin/bash val=`expr 2 + 2` echo "两数之和为 : $val" #执行脚本,输出结果 两数之和为 : 4 两点注意: 表达式和运算符之间要有空格,例如 2+2 是不对的,必须成 2 + 2,这与我们熟悉的大多数编程语言不一样。 完整的表达式要被 包含,注意

weixin_49722764的博客 575

如何在 Windows 11使用 PowerShell 安装 XPS 查看器

《Windows 11手动安装XPS查看器教程》摘要:Windows 11不再预装XPS查看器,需通过PowerShell手动安装。XPS是微软开发的PDF替代格式,能保持文档一致性。操作步骤:1.以管理员身份打开PowerShell;2.运行安装命令"Add-WindowsCapability -Online -Name XPS.Viewer~~~~0.0.1.0";3.通过搜索验证安装;4.双击.xps文件即可使用。若安装失败需检查网络或系统更新。无需时可运行卸载命令移除。该方法比传

山岚的运维笔记 2222

shell 加法计算

Shell 相加目前发现有 3 种法: 1. a=10 b=20 c=`expr ${a} + ${b}` echo "$c" 2. c=$[ `expr 10 + 20` ] echo "$c" 3. c=$[ 10 + 20 ] echo "$c" 推荐用$()代替``: val=`expr 10 + 20`...

weixin_30338497的博客 2万+

linux shell运用16进制计算

((test=0x1234)) echo $test if [ $test -eq 4660 ]; then echo hello else echo not hello fi linux-shell 脚本转换 十六进制 十进制 八进制 二进制-zt http://www.51testing.com/html/00/130600-867618.html...

shipinsky的博客 1万+

shell 中的 i++

shell中不支持像普通c语言中的i++操作,默认都是字串串操作,但是通过以下几种方式可以进行变量的自增加 1、linux 用let 表示算术表达式 如下:      i=0       let i +=1  或者 let 'i+=1' 2、let也可以用 (())替代,这种用法常见于for循环中       ((i++)) for 循环中用法: ((for i=0;i do .

agent_007的博客 7420

Powershell 脚本简单入门(二)——变量和赋值

PowerShell中,所有的变量前面都会带着一个美元符号“$”,如: $var = 1 $var = "some string" [DataType]$var = value 注:PowerShell的数据类型有如下几种: [string] 定长Unicode字符串 [char] 16位Unicode字符 [byte] 8位无符号字符 [int] 32位有符号整型 [long] 64位有...

咔咔咔咔 4082

shell 做加法运算_[PowerShell教程][11]PowerShell中的加法运算

加法运算大家已经PowerShell中的运算符有了一定感性的认识。我们首先来学习“+”运算符。PowerShell定义了“+”运算符处理数值类型、字符串类型、数组类型和哈希表类型的具体行为。在进行数值计算时,“+”和平时的数值计算规则基本一样。不过需要注意,由于计算机内部表示不同数值类型时,使用存储空间不同,因此这些类型都只能表示一个范围内的数据。在进行数值运算的过程中,如果计算结果超过了参与计...

weixin_39907157的博客 189

PowerShell中的加法运算

<br />大家已经PowerShell中的运算符有了一定感性的认识。我们首先来学习“+”运算符。PowerShell定义了“+”运算符处理数值类型、字符串类型、数组类型和哈希表类型的具体行为。在进行数值计算时,“+”和平时的数值计算规则基本一样。不过需要注意,由于计算机内部表示不同数值类型时,使用存储空间不同,因此这些类型都只能表示一个范围内的数据。在进行数值运算的过程中,如果计算结果超过了参与计算数值类型的值域时,PowerShell将会自动进行类型转换,使用值域更大的数据类型来保存结果。例如:<br

xiaomahuan的专栏 916

Windows11终端升级PowerShell7

Win11的终端管理工具PowerShell的默认使用版本是PowerShell 5,当打开终端后可看到提示信息可升级到PowerShell 7,下面就是升级到PowerShell 7的教程,以及一些配置基础命令的介绍,包括查看版本,版本切换,配置修改等。

有用的话关个注,点个赞,收个藏🫶。 3220

【Windows11PowerShell 5.X 升级至 PowerShell 7.X 完整指南

摘要: 本文提供从PowerShell 5.1升级至PowerShell 7的完整指南。两者可独立共存(5.1为powershell.exe,7为pwsh.exe)。升级方式推荐使用winget命令行安装(winget install Microsoft.PowerShell)或手动下载GitHub安装包。安装后可通过pwsh命令启动7.0版本,还支持配置5.1自动跳转至7.0(需修改$PROFILE配置文件)。文章详细说明了配置文件的创建方法、执行策略调整以及版本切换技巧,并指出5.1与7.0使用不同的配

该用户很懒, 没有写毛~~ 1万+

Windows11PowerShell配置Git

PowerShell与Git结合使用

世界那么大,我想去看看~【随心更新,看世界去了😄】 7041

PowerShell7 】Windows 11 安装配置官方版 PowerShell7 保姆级教程

在编程的艺术世界里,代码和灵感需要寻找到最佳的交融点,才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里,我们将共同追寻这种完美结合,为未来的世界留下属于我们的独特印记。

秋知叶i 324

PowerShell11章:过滤和比较(上)左过滤思维与比较运算符全解

本文介绍了PowerShell中的左过滤思维和比较运算使用。左过滤强调在数据源附近尽早过滤不需要的对象,减少数据传输和计算负载。文章详细讲解了如何优先使用Cmdlet过滤参数而非管道,并提供了比较运算符的完整指南,包括基础比较、模式匹配和布尔逻辑运算符。通过AD查询、服务筛选等实例演示了左过滤的实际应用,最后总结出"能参数过滤就别用Where"、"字符串默认不区分大小"等核心原则。

分享 Windows 系统部署、镜像封装、终端管理、故障排查、Sysinternals 工具、PowerShell 自动化及 AI 工具应用。通过真实案例记录 IT 运维实践,探索更高效的系统管理方法。 1万+

如何在 Windows 11使用 PowerShell 安装 Telnet 客户端

摘要:本文介绍了如何在Windows 10/11系统中安装和使用Telnet客户端。Telnet是一种早期远程登录协议,但因其不加密特性,建议使用更安全的SSH替代。安装步骤包括:1)以管理员身份打开终端;2)通过dism命令启用Telnet功能;3)重启系统;4)验证安装;5)连接远程服务器。文章还提供了基本命令语法示例,并提醒注意Telnet的安全风险,不建议用于敏感操作如数据库连接。

山岚的运维笔记 2834

PowerShell入门教程

什么是Powershell?MSDN上的说明是:PowerShell 是构建于 .NET 上基于任务的命令行 shell 和脚本语言。 PowerShell 可帮助系统管理员和高级用户快速自动执行用于管理操作系统(Linux、macOS 和 Windows)和流程的任务。使用 PowerShell 命令可以从命令行管理计算机。 PowerShell 提供程序可让你访问数据存储(如注册表和证书存储),与你访问文件系统一样方便。 PowerShell 具有丰富的表达式分析器和完全开发的脚本语言。个人理解为Pow

【微软MVP】zhaotianff的专栏 1229

如何使用 CMD 或 powershell 安装并打开 Windows 11 沙盒

Windows 11 或 10 的沙盒是一个非常实用的功能,可以用来测试易受攻击的应用程序,以及在不影响或更改主系统设置的情况下尝试不同的设置或程序。一些特性使得 Windows 沙盒特别值得使用,尤其是对于开发和测试人员来说,其中包括 “” 特性。沙盒本身在一个容器化的环境中运行,从而与系统的其余部分隔离,确保主机操作系统将从沙盒中使用的应用程序获得一层安全性。Windows 沙盒设置起来非常快速,并且像其他常规 Windows 软件一样易于访问,无需使用任何第三方虚拟化平台。

山岚的运维笔记 1963
上一篇: 一个小算法题
下一篇: 信贷危机
PowerShell
博客等级 码龄19年 103粉丝 110原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值