在两分钟内运行命令

Eam*_*orr 5 at

我正在尝试使用at.

基本上,我想在将来的某个时候发送短信。

这是我发送短信的命令:

php -r 'include_once("/home/eamorr/open/open.ie/www/newsite/ajax/constants.php");sendCentralSMS("08574930418","hi");'
Run Code Online (Sandbox Code Playgroud)

以上效果很好!我在几秒钟内收到我的短信。

现在,我at将来如何才能运行此命令?

我试过

php -r 'include_once("/home/eamorr/open/open.ie/www/newsite/ajax/constants.php");sendCentralSMS("08574930418","hi");' | at now + 2 minutes
Run Code Online (Sandbox Code Playgroud)

但这立即发送了我的命令!我想在2分钟内发送消息!

Bra*_*ley 12

因为这不是at命令的工作方式。at通过 STDIN 接收命令。您在上面所做的是运行脚本并将其输出(如果有)提供给at.

这与您正在做的功能等效:

echo hey | at now + 1 minute
Run Code Online (Sandbox Code Playgroud)

由于echo hey仅打印出“嘿”这个词,因此我at将在未来一分钟内执行“嘿”这个词。您可能想要回显完整的php命令at而不是自己运行它。在我的例子中:

echo "echo hey" | at now + 1 minute
Run Code Online (Sandbox Code Playgroud)

编辑:

正如@Gnouc 指出的那样,您的 at 规范中也有错字。您必须说“现在”,以便它知道您要增加 1 分钟的时间。