我正在尝试将其转换为ruby,但是在使用exec,system和backticks时遇到问题
crontab -l | grep "\0,30 \* \* \* \* /bin/sleep ".*${expr}"; /usr/bin/chef-client > /dev/null 2>&1"
if [ $? = 0 ]; then
echo "Entry already in crontab"
else
echo "Need to add back the cron"
如何从ruby脚本运行此代码?
答案 0 :(得分:0)
我将其分配给字符串,然后exec
使用反引号将其有效,并且有效:
str = 'crontab -l | grep "\0,30 \* \* \* \* /bin/sleep ".*${expr}"; /usr/bin/chef-client > /dev/null 2>&1"'
`#{str}`
这将执行命令并返回:
crontab: no crontab for user
这也适用于多行:
str = %q(crontab -l | grep "\0,30 \* \* \* \* /bin/sleep ".*${expr}"; /usr/bin/chef-client > /dev/null 2>&1"
if [ $? = 0 ]; then
echo "Entry already in crontab"
else
echo "Need to add back the cron"
fi)
`#{str}`