PowerShell函数返回值

PowerShell函数返回值,powershell,Powershell,考虑: function func { echo ALERT return $false } if (func) { Write-Output "TRUE" } 尽管函数返回false,此代码仍写入TRUE。但是,当我编写[void]echo ALERT时,PowerShell会抛出一个错误: 表达式或语句中出现意外标记“echo” 如何修复此代码?代码中的echo ALERT返回字符串(echo是的别名) 如果对字符串进行If检查,PowerShell将检查该字符串

考虑:

function func {
    echo ALERT
    return $false
}

if (func) {
    Write-Output "TRUE"
}
尽管函数返回false,此代码仍写入TRUE。但是,当我编写
[void]echo ALERT
时,PowerShell会抛出一个错误:

表达式或语句中出现意外标记“echo”


如何修复此代码?

代码中的echo ALERT返回字符串(
echo
是的别名)

如果对字符串进行
If
检查,PowerShell将检查该字符串是否为null或空

因此,它总是返回true

如果要提醒用户“提醒”,请使用


为什么我不能简单地编写[void]echo(它会抛出错误)?我必须用{}I包装echo。E[void]{echo ALERT}进行代码通过语法检查。
function func {
    Write-Host ALERT
    return $false
}