我只想编写一个比较两个数字的基本PowerShell脚本。当我通过.\Compare-Numbers.ps1 -a 3 -b 3
调用脚本时,什么都没有发生。
function Compare-Numbers {
param(
[Parameter(Mandatory=$True, HelpMessage="Please enter two numbers")]
[int]$a,
[int]$b
)
try {
if($a -eq $b) {
Write-Host "the given numbers are equal"
return (exit 0)
}
else {
Write-Host "the given numbers are not equal"
return (exit 1)
}
}
catch {
throw "an error occured!"
exit $LASTEXITCODE
}
}
我希望write-host命令在命令提示符下写入文本,但是-什么也没有发生。
我认为您有点困惑。您创建了一个函数并将其保存到文件中。如果运行文件,PowerShell会说:
是的,函数已加载,别无其他,再见!
如果您打算从文件中运行此文件,则需要稍作更改。 This article完美描述了您的当前状况和问题。
这就是您的脚本最终看起来像:
Param($intOne = 5,
$intTwo = 3
)
Function add-numbers
{
Param($intOne,
$intTwo
)
$intOne + $intTwo
} #end function add-numbers
# *** entry point to script ***
add-numbers -intOne $intOne -inttwo $intTwo
有点迟了,但我对您的代码感兴趣,想更正提示值:
function Number-comparison {
param(
[Parameter(Mandatory=$True, HelpMessage="text")][int]$a1,
[Parameter(Mandatory=$True, HelpMessage="text")][int]$b1
)
如果使用上面的内容,它将正确提示用户。