PowerShell相当于bash的set -u

时间:2014-08-20 20:35:03

标签: variables powershell

通常,bash用空字符串替换未定义的变量:

$ echo "$BLAH things after blah"
 things after blah

但是有一种方便的方法可以改变这种行为:

$ set -u
$ echo "$BLAH things after blah"
sh.exe": BLAH: unbound variable

(原谅exe。我在MSYS bash下运行。)我把它放在我所有bash脚本的顶部。 (快速失败是一件好事和所有这一切。)

PowerShell的行为通常与bash相同:

PS C:\> echo "$blah things after blah"
 things after blah

我的问题:PowerShell中是否存在更改此行为的内容,因此当我尝试使用未初始化的变量时会导致错误?

1 个答案:

答案 0 :(得分:4)

这应该可以解决问题:

set-strictmode -version 2.0

http://technet.microsoft.com/en-us/library/hh849692.aspx