【powershell脚本基础】在Windows操作系统环境下,用shell脚本完成程序:从控制台输入两个数,显示他们整型的和。

代码部分

function ConvertToInt($myinput) {   
    $myinput = $myinput.Trim()  
 
    if ($myinput -match "^[0-9]+$") {   
        return [int]$myinput   
    }   
    else {   
        Write-Host "输入的不是一个数字,请重新输入。"   
        return $null   
    }   
}   
  
$num1 = Read-Host "请输入第一个数"   
$num2 = Read-Host "请输入第二个数"   
 
$intNum1 = ConvertToInt $num1   
$intNum2 = ConvertToInt $num2   
  
if ($null -eq $intNum1 -or $null -eq $intNum2) {   
    Write-Host "输入的不是一个数字,请重新输入。"   
}   
else {    
    $sum = $intNum1 + $intNum2   
    Write-Host "整型和为: $sum"   
}

首先定义了一个函数ConvertToInt($myinput)这个函数用来将输入的字符串转化为整形,同时输入内容是否为数字

函数ConvertToInt($myinput)中的方法Trim()用来删除字符串的开始和结束处的所有空白字符,这样处理后,$myinput 变量将只包含原始字符串中的实质性字符,而不包含任何首尾空格

-match是一个运算符,用于对一个字符串进行正则表达式的匹配

如果-match后面是字符串而不是正则表达式,那么如果前面的字符串包含后面的字符串就会返回$true,否则会返回$false.

如果-match后面是正则表达式,那么-match会对该字符串进行正则表达式的匹配。

就如 %myinput -match "^[0-9]+$"。"^[0-9]+$"是一个正则表达式,匹配的是完全由一个或多个数字组成的字符串,%myinput -match "^[0-9]+$":如果%myinput 是完全由数字组成的字符串就会返回$true,否则返回%false

然后是一个if条件语句,再次判断输入的是否是数字

这里-eq是一个比较运算符,注意和$null比较时,要把$null放在前面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值