厨师:only_if文件中存在模式时



当满足 2 个条件时,我需要运行 sed 命令-

  1. 文件存在(例如MYFILE.txt(
  2. 文件包含一个特定的行(例如 /home/user/tools/ (

我知道我可以在厨师中使用only_if卫,但我不知道如何在 bash 命令中提及第二个条件。

示例代码:

bash 'changing path' do
  code <<-EOH
    cd /path
    sed -i -e "s:/home/user/tools/:/NEWPATH:" MYFILE.txt
  EOH
  only_if { ::File.exist?(MYFILE.txt && <<WHAT SHOULD COME HERE FOR (2)>> }
end

查看line食谱,它有这种事情的助手,这些帮助程序会自动收敛。

最新更新