在Powershell中等同于Bash的$ {myvar:-default}?

时间:2017-06-28 09:24:38

标签: powershell

在Bash中,我可以做类似的事情:

${VAR1:-default}

...这意味着如果VAR1不存在,则返回"默认"。

有很多这类运营商:Bash parameter expansion examples

似乎有很多使用Get-Variable的例子,但没有特别简洁。在Powershell中是否存在我缺失的等价物?

1 个答案:

答案 0 :(得分:1)

如果在处理脚本或函数的参数时需要默认值,那么可以提供它们:

param (
    [string]$price = 100, 
    [string]$ComputerName = $env:computername,    
    [string]$username = $(throw "-username is required."),
    [string]$password = $( Read-Host -asSecureString "Input password" )
    [switch]$SaveData = $false
)

但如果你的意思是在将现有变量替换为表达式时默认为no,则必须编写一个表达式,为你提供所需的值。