在我看来,两者都意味着“任何可用的值”。他们之间的区别到底是什么?
答案 0 :(得分:5)
*
表示该字段中的每个可能值。 ?
表示您并不关心价值。当你有两个可能相互矛盾的字段时使用它。常见示例是月份日和星期几字段。例如,考虑在每个月的第一天上午10点运行的cron规范:
0 0 10 1 * ? *
现在让我们分解一下:
0
- 我们希望它在10:00运行: 00 0
- 我们希望它在10上运行: 00 :00 10
- 我们希望它在 10 :00:00 1
- 我们希望它能够在每个月的第1天运行*
- 我们希望它每月运行(例如,1月1日,2月1日等)?
- 我们不关心星期几。 cron应该在每个月的第1天运行,无论是星期天,星期一等等。*
- 我们希望它每年都运行答案 1 :(得分:1)
*("所有值") - 用于选择字段中的所有值。例如," *"在分钟字段中表示"每分钟"。
? ("没有具体的值") - 当您需要指定某些内容时非常有用 允许角色的两个字段之一,但不是 其他。例如,如果我希望我的触发器在某一天触发 这个月(比如说,10日),但不关心一周的哪一天 碰巧是,我会把" 10"在日期字段中,"?"在 星期几字段。请参阅以下示例以获得说明。
答案 2 :(得分:0)
*
字符用于指定所有值。例如,分钟字段中的“ *
”表示“每分钟”。
?
字符可用于日期和星期几字段。它用于指定“无特定值”。当您需要在两个字段之一中指定某些内容而不是另一个字段时,这非常有用。请参阅以下示例以获得说明。
你可以在这里看一下: http://docs.netkernel.org/book/view/book:mod:cron/doc:mod:cron:cronexpression
此外,如果您需要创建一个Cron表达式,可以使用:http://www.cronmaker.com/