ruby脚本中的at命令

ruby脚本中的at命令,ruby,linux,at-job,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") 它给出了错误: 语法错误。最后看到的标记:e 乱码时间 我在这方面做错了什么?at的at一行格式可能类似于echo'COM

我有一个简单的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")
它给出了错误:

语法错误。最后看到的标记:e

乱码时间


我在这方面做错了什么?

at的
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")

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")

END
command/template有什么作用?@emaillenin我已经将其用于
system
的多行命令,如果我做错了,那么发送邮件的正确语法是什么?如果你用一行代码来做同样的事情,它会起作用吗?@emaillenin查看我更新的问题
语法错误。最后看到的标记:e
从终端运行时,此命令不起作用。您也会遇到同样的错误。
END
命令/模板有什么作用?@emaillenin我已经将其用于
系统的多行命令
,如果我做错了,那么发送邮件的正确语法是什么?如果你用一行代码来做同样的事情,它会起作用吗?@emaillenin查看我更新的问题
语法错误。最后看到的标记:e
从终端运行时,此命令不起作用。您也会遇到同样的错误。您的建议会将我带到>
命令行中的
,我不需要它。我想这个脚本应该发送邮件谢谢,这就是我想要的。但是你能给我解释一下吗。为什么要使用双
echo
?@arzyfex只有第一个
echo
很重要,第二个
echo
只是
命令的一部分。你的建议会把我带到
命令行,我不想要。我想这个脚本应该发送邮件谢谢,这就是我想要的。但是你能给我解释一下吗。为什么使用双
echo
?@arzyfex只有第一个
echo
重要,第二个
echo
只是
命令的一部分。