例如:
code = <<-EOH
bundle install
bundle exec unicorn -c /etc/unicorn.cfg -D
EOH
这段代码有什么作用?什么<<-
叫做?
例如:
code = <<-EOH
bundle install
bundle exec unicorn -c /etc/unicorn.cfg -D
EOH
这段代码有什么作用?什么<<-
叫做?
在我看来像heredoc。-
允许结束分隔符忽略它之前的空格。
一个简单的谷歌搜索给了我这个。
Ruby 还有一个更新的 HEREDOC 语法,<<~END
它更类似于您通常在大多数 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