我遇到过像这样声明的变量(或参数):
${var_name} = "Hello world!"
据我所知,这与以下内容没有什么不同:
$var_name = "Hello world!"
我想知道第一个例子中的{}
大括号是否具有任何意义。他们是否改变了变量的行为?
答案 0 :(得分:12)
PowerShell变量名称中的大括号允许变量名称中的任意字符。如果没有"病理"变量名中的字符,则不需要大括号,也没有效果。
你会发现"生成"代码有时会使用花括号,因为它们保证变量名有效。
答案 1 :(得分:7)
{}
括号用于声明变量,变量的中间或内部有空格,如下所示:
${var_name hello } = "Hello world!2"
$var_name = "Hello world!"
它不一样,因为你不能用空格将数据保存在变量中,powershell会将变量理解为一个空格,除了它在括号内。< / p>
祝你有个美好的一天。 (:
答案 2 :(得分:0)
乍一看可能并不明显,就是可以使用${}
中的任何provider,例如:
${c:\tmp\foo.txt}="Hello World" # C: uses file system provider
效果取决于提供程序,对于文件系统提供程序,该示例更改了指定文件的内容。