Shell规则
可以说,在处理引号的时候最复杂的组件是 shell。不过,每一个规则都很简单:
shell 的命令由 keys (--something) 和相应的值组成。不过,也有一种特殊的 key 无需映射,稍后将对此进行描述。
值一般不能包含空格,因为空格是命令的默认分隔符。
不过,可以通过在值的周围加上引号(单引号(')或双引号(")来添加空格。
在部署属性内部传递的值(例如
deployment --properties " …"
)不应该再次引用。如果用引号括起来,值可以通过使用反斜杠(\)作为前缀嵌入相同类型的引号。
其他转义也是可用的,比如\t、\n、\r、\f和\uxxxx格式的unicode转义。
无 keys 映射以一种特殊的方式处理,这样就不需要引用来包含空格。
例如,shell支持!
来执行本机的shell命令。!
接受一个无keys映射的参数。这就是下面命令为什么能工作的原因:
这里的参数是整个rm something
字符串,它按原样传递给底层shell。
另一个示例,以下命令具有相同的效果,参数值为something
(不带引号):
Last updated