在ruby脚本中的命令

时间:2016-05-31 11:30:41

标签: ruby linux at-job

我有一个简单的ruby脚本,会在一段时间后发送邮件,这是我的代码:

#!/usr/bin/env ruby
system("at now + 1 day <<END
echo 'This is test message from xyz' | mail -s 'Test message' someone@example.com
END")

每当我运行此脚本时,我都会

  

sh:END:未找到

修改1

如果我在单行上使用

system("at now + 1 min echo 'This is test message from xyz' | mail -s 'Test message' someone@example.com")

它给出错误:

  

语法错误。最后一个标记:e

     

时间错误

在这方面做错了什么?

1 个答案:

答案 0 :(得分:3)

at单行表单可以像echo 'COMMAND' | at WHEN一样。

你可以试试这个:

system("echo \"echo 'This is test message from xyz' | mail -s 'Test message' someone@example.com\" | at now + 1 day")