At

在兩分鐘內執行命令

  • January 5, 2016

我正在嘗試使用at.

基本上,我想在將來的某個時候發送一條簡訊。

這是我發送簡訊的命令:

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

上面的效果很好!我會在幾秒鐘內收到我的簡訊。

現在,我以後如何才能at執行此命令?

我試過

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

但這會立即發送我的命令!我想在 2 分鐘內發送消息!

因為這不是at命令的工作方式。at通過 STDIN 接收命令。您在上面所做的是執行腳本並將其輸出(如果有)提供給at.

這與您正在做的功能等效:

echo hey | at now + 1 minute

由於echo hey只列印出“嘿”這個詞,“嘿”這個詞就是我at在未來一分鐘執行的全部內容。您可能想要回顯完整的php命令,at而不是自己執行它。在我的例子中:

echo "echo hey" | at now + 1 minute

編輯:

正如@Gnouc 指出的那樣,您的 at 規範中也有一個錯字。您必須說“現在”,以便它知道您要添加 1 分鐘的時間。

引用自:https://unix.stackexchange.com/questions/146615