Puppet exec,除非不';I don’’我似乎没有达到我的预期
我正在尝试从mysql克隆一个带有exec的db,但如果它已经被克隆,我不想克隆它Puppet exec,除非不';I don’’我似乎没有达到我的预期,puppet,Puppet,我正在尝试从mysql克隆一个带有exec的db,但如果它已经被克隆,我不想克隆它 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将不会运行。但是
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”
然后“执行”
谢谢。重要的是现有代码,而不是打印的数字 如果手动运行此命令,然后执行
echo$?
,则会得到exitcode
此外,您还希望超出命令的输出:
exec { "clone_from_${name}" :
unless => "/usr/bin/mysql -u${user_to} -p${pwd_to} ${name_to} -e'select count(*) from $test_table_name;' | grep ' 0 ' > /dev/null 2>&1",
...
重要的是exitcode,而不是打印的数字 如果手动运行此命令,然后执行
echo$?
,则会得到exitcode
此外,您还希望超出命令的输出:
exec { "clone_from_${name}" :
unless => "/usr/bin/mysql -u${user_to} -p${pwd_to} ${name_to} -e'select count(*) from $test_table_name;' | grep ' 0 ' > /dev/null 2>&1",
...
“0”之后不应该有>吗?在“0”之后不应该有>吗?