我正在尝试使用 mysql 中的 exec 克隆一个数据库,但如果它已经被克隆,我不想克隆它。
exec { "clone_from_${name}" :
unless => "/usr/bin/mysql -u${user_to} -p${pwd_to} ${name_to} -e'select count(*) from $test_table_name;' | grep -c ' 0 '",
...
逻辑看起来有点混乱,但基本上,我理解的方式是,如果命令返回 0,那么整个 exec 将不会运行。但是当我尝试它时,它是。
db 已经在 vm 中创建,如果它已经被克隆,则从查询返回的计数给我的不是“0”,而 grep 因为找不到“0”而返回 0。除非应该让它运行,对吧?
输出甚至给了我“除非:0”,然后是“执行
谢谢。