#!/bin/bash
ddd=$(date +%Y-%m -d "-1 month")
xmessage -timeout 10 $ddd
如果我尝试这个简单的脚本,我可以让它在终端上正常工作,但是当我通过cron
变量启动这个脚本时,它总是空的?我尝试了许多不同的语法,但结果是一样的。在终端上有效,但在 cron 上无效。
答案1
man date
说:
SYNOPSIS
date [OPTION]... [+FORMAT]
无论哪种方式都应该可以工作,但为了安全起见,请按照date
手册页中的方法操作:
ddd=$(date -d "-1 month" +%Y-%m)
使用脚本
#!/bin/bash
ddd=$(date -d "-1 month" +%Y-%m)
xmessage -timeout 10 $ddd
和 cronjob 行
* * * * * DISPLAY=:0 /path/to/script.sh
它在我的系统上运行得很好 – 参见如何从 cron 启动 GUI 应用程序?和Cron 操作指南。