是否可以在不使用宝石的情况下将其转换为红宝石?

时间:2019-07-18 17:30:28

标签: ruby linux cron

我正在尝试将其转换为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脚本运行此代码?

1 个答案:

答案 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}`