我有一个脚本,其中函数参数表示如下:
param(
${param1},
${param2},
${param3}
)
Run Code Online (Sandbox Code Playgroud)
这是什么意思?我一直无法找到这方面的文件.
以这种方式编写参数的重点是什么而不是更常见的
param(
$param1,
$param2,
$param3
)
Run Code Online (Sandbox Code Playgroud)
?
Mik*_*ray 14
它们都只是参数声明.这两个片段是等效的.这两种语法都可以使用,但是支持的形式允许在变量名称中不合法的字符.从PowerShell 3.0语言规范:
有两种编写变量名的方法:一个支撑变量名,以$开头,后跟一个或多个几乎任意字符的大括号分隔集.和一个普通的变量名,也以$开头,后跟一组一个或多个字符来自限制性较强的集,而不是一个支撑的变量名允许的.可以使用相应的括号变量名表达每个普通变量名.
要创建或显示包含空格或特殊字符的变量名称,请将变量名称括在大括号中.这会指示Windows PowerShell按字面解释变量名称中的字符.
例如,以下命令创建并显示名为"save-items"的变量.
Run Code Online (Sandbox Code Playgroud)C:\PS> ${save-items} = "a", "b", "c" C:\PS> ${save-items} a b c
Mic*_*ens 14
@ MikeZ的答案在解释问题中的例子时非常正确,但就问题题目而言,实际上还有更多要说的!该${}符号实际上有2种用途; 第二个是PowerShell的隐藏宝石:
也就是说,如果您提供驱动器限定路径,则可以使用此括号表示法执行文件I/O操作,如MSDN页面" 提供程序路径"中所定义.
(上图来自PowerShell标点符号完整指南,这是一个免费下载的单页挂图,附在我最近在Simple-Talk.com上的文章中.)
| 归档时间: |
|
| 查看次数: |
4541 次 |
| 最近记录: |