Question:
In bash, I often did things like:
1 2 |
[ -z "${someEnvVar}" ] && someEnvVar="default value" |
Instead of creating a full-fledge if statement:
1 2 |
if [ -z "${someEnvVar}" ]; then someEnvVar="default value"; fi |
Is there a similar shorthand in PowerShell without creating a function or alias?
I’d rather not write the following in PowerShell:
1 2 3 4 |
if ("${someVar}" -eq "") { $someVar = "default value" } |
Answer:
If
seems more readable to me, but you can use short circuit of OR (similar to BASH version):
1 2 3 4 5 6 7 8 9 10 11 |
$someVar = "" [void]($someVar -ne "" -or ($someVar = "Default")) $someVar #yields "Default" $someVar = "Custom" [void]($someVar -ne "" -or ($someVar = "Default")) $someVar #yields "Custom" |