ruby - 在 ruby​​ 脚本中的命令

标签 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: not found

编辑 1

如果我像这样在单行上使用

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

它给出错误:

syntax error. Last token seen: e

Garbled time

这里做错了什么?

最佳答案

at 单行形式可以像 echo 'COMMAND' |在什么时候

你可以试试这个:

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

关于ruby - 在 ruby​​ 脚本中的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37544522/

相关文章:

linux - 如何在Linux中安排批处理作业

ruby - 如何缩小 ruby​​ 文件

ruby - Nokogiri 各节点做,Ruby

ruby - 如何计算 ruby 中 UTC 给定时区的偏移量(以小时为单位)?

linux - 无法安装git

php - 稍后在 PHP 中启动 bash 脚本

arrays - Ruby - 如何切片数组并根据条件对其元素求和

linux - abas-ERP : Excecute a FO-Service-Program from a cronjob

linux - 限制每行编辑器vi linux的字符数

linux - 如何在 shell 脚本中使用 at 命令?