シェフの条件付き実行を理解しているかどうかわかりません。
Postgresql にデータベースが存在するかどうかに基づいて条件付きで実行したい
だからここに私の例があります
execute "add_db" do
cwd "/tmp"
user "dbuser"
command "createdb -T template_postgis mydb"
not_if 'psql --list|grep mydb'
end
実行psql --list|grep mydb
すると、データベースが存在する場合に期待する結果 (dbname エントリのある行) が返され、存在しない場合は何も返されません。
では、not_if はそれをどのように評価するのでしょうか? 正しいか間違っているか?1または0?成功した場合、すべてのプロセスが 0 を返すわけではありませんか?
誰でもアドバイスをいただければ幸いです。