在 Chef Bash 中转义引号

Escaping Quotes in Chef Bash

我需要在通过厨师食谱创建的 cronjob 中引用,但即使我转义了引号,它们也不会出现在创建的 cronjob 中。

bash "Add cron" do
  user root
  group root
  code <<-EOH
      (
        (crontab -l; echo "5 0 * * * /bin/find #{node['user']['dir']}/files/ -type f \( -name \"*.csv\" -o -name \"*.csv.bad\" -o -name \"*.ctrl\" \) -mtime +1 -print0 | xargs -0 gzip -f" ) | crontab -
       )     
  EOH
end

只是为了澄清我想要结束的 cron 作业应该包含 -name "*.csv"

但我实际得到的是-name *.csv

bash "Add cron" do
  user "root"
  group "root"
  code <<-EOH
      (
        (crontab -l; echo -e '5 0 * * * /bin/find /home/root/files/ -type f \( -name \"*.csv\" -o -name \"*.csv.bad\" -o -name \"*.ctrl\" \) -mtime +1 -print0 | xargs -0 gzip -f'
       )
  EOH
end

这里使用单引号而不是双引号。