如何在 crontab 中添加带引号的环境变量

问题描述 投票:0回答:1

我有一个关于我的问题的最小示例,它正在尝试安装一个如下所示的 crontab:

FOO="foo\"bar\"bin"

0 0 1 * * ls

通过运行

crontab crontab
(我将其放在文件名
crontab
中)。它因以下错误而失败:

% crontab crontab
"crontab":0: bad minute
crontab: errors in crontab file, can't install

这是转义引号,

\"
,导致了问题。

如何转义 crontab 环境变量中的引号。

为了添加更多上下文,我不仅仅是在手动编写的 crontab 中编写变量。这个 crontab 由 [whenever][1] (一个 Ruby gem)生成,其中大约有 70 个条目,它获取所有环境变量并将它们作为变量放入 crontab 中,以便脚本可以使用所有凭据。问题是,最近我添加了一个包含引号的复杂的,这破坏了这个系统。

如果您好奇,生成变量的 Ruby 代码是:

ENV.each do |key, value|
  env key.to_sym, value.inspect
end
unix cron
1个回答
0
投票

据我所知,crontab 变量不能有引号,而且长度也不能超过 999 个字符。这个问题的答案是根本不可能。

© www.soinside.com 2019 - 2024. All rights reserved.