例如:
code = <<-EOH
bundle install
bundle exec unicorn -c /etc/unicorn.cfg -D
EOH
这段代码有什么作用? <<-
叫什么?
看起来像heredoc。 -
允许结束分隔符忽略它之前的空格。
一个简单的谷歌搜索给了我this。
Ruby <<~END
还有一个更新的HEREDOC语法,它更像你在大多数shell和其他语言中通常会看到的~
而不是-
,以告诉Ruby剥离前导空格以匹配块中最小的缩进行。
https://infinum.co/the-capsized-eight/multiline-strings-ruby-2-3-0-the-squiggly-heredoc
您可以在Chef Recipe中的一个块中传递多个命令
bash 'Install ftppwd' do
code <<-EOH
mkdir #{ftppwd_dir}
chmod 775 #{ftppwd_dir}
chgrp #{batch_id} #{ftppwd_dir}/*
chown #{batch_id} #{ftppwd_dir}/*
EOH