我喜欢在config.vm.provision中的ruby heredoc中使用bash heredoc,如下所示:
config.vm.provision "shell", inline: <<-SHELL cat >> foobar <<EOF bla bla foo foo EOF echo 'some other command' SHELL
但是当执行privision文件时,到provision末尾的所有内容都以foobar结束,我怀疑这里需要一些转义。
foobar
r6hnlfcb1#
为什么你坚持嵌套的heredocs?什么是错的:
config.vm.provision "shell", inline: %q| cat >> foobar <<EOF bla bla foo foo EOF echo 'some other command' |
9jyewag02#
你必须小心缩进。这是你的代码的修订版本,它按你的意图工作。
Vagrant.configure("2") do |config| {{...}} config.vm.provision "shell", inline: <<-'SHELL' cat >> foobar <<EOF bla bla foo foo EOF echo 'some other command' SHELL end
2条答案
按热度按时间r6hnlfcb1#
为什么你坚持嵌套的heredocs?什么是错的:
9jyewag02#
你必须小心缩进。这是你的代码的修订版本,它按你的意图工作。