【问题标题】:/bin/sh: 1: Syntax error: EOF in backquote substitution/bin/sh: 1: 语法错误:反引号替换中的 EOF
【发布时间】:2017-07-03 15:23:20
【问题描述】:

我在 crontab 中创建了一个新任务,如下所示:

*/2 * * * *       mongodump --db prodys --out /backup/databases/mongoDatabases/`date +"%m-%d-%y"`

我收到以下错误:

/bin/sh: 1: Syntax error: EOF in backquote substitution

请帮忙,我不知道出了什么问题。

【问题讨论】:

    标签: bash cron ubuntu-14.04 crontab


    【解决方案1】:

    问题在于cron% 视为换行符。来自crontab POSIX man页面:

    命令中的百分号 (%),除非用反斜杠 \ 转义, 将更改为换行符,第一个 % 之后的所有数据都将 作为标准输入发送到命令。

    还可以使用 Command Substitution 语法 as $() 而不是旧的 `` 语法 as

    您可以将命令更改为类似,

    */2 * * * *       mongodump --db prodys --out /backup/databases/mongoDatabases/$(date +'\%m-\%d-\%y')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-15
      • 2017-01-18
      • 1970-01-01
      • 1970-01-01
      • 2019-04-28
      • 1970-01-01
      • 2016-05-30
      • 2016-04-18
      相关资源
      最近更新 更多