2017-06-16 29 views
1

我看到一個流浪的配置剛纔喜歡它:是否需要在shell命令中添加%Q?

host.vm.provision :shell, inline: %Q|sudo sh -c 'echo "Defaults env_keep +=\"ETCD_ENDPOINTS\"" >>/etc/sudoers'| 

這裏發生了什麼,意味着大約%Q?如果不使用它,不能很好地工作?

回答

1

%Q|...|引用外殼命令(包圍它的定義)的一種方式,在限定在流浪配置文件的上下文;它不是shell命令本身的一部分。

流浪是用Ruby和Ruby的%Q -prefixed引用機制是附上有嵌入式'"報價(含一個shell命令字符串很可能有)的字符串的便捷方法,而無需擔心轉義這些字符。在該字符串的定義中。

相關問題