如何在我的常规环境中运行 cronjob?

5 cron environment-variables

运行 cronjobs 的 shell 和环境变量都与gnome-terminal. 如何在与在终端中运行相同的情况下运行 cronjob?

我当前的解决方案是运行 cronjob env DISPLAY=:0.0 gnome-terminal -e my-command,但这会弹出一个 gnome-terminal,这不是真的可以接受。

Chr*_*own 4

您可以在 的顶部显式指定所需的环境变量crontab,也可以从某个地方获取环境。

要显式添加环境变量,您可以在脚本顶部使用如下行(在 hashbang 之后):

FOO=bar
Run Code Online (Sandbox Code Playgroud)

要从文件中获取它们,请使用如下行:

. /foo/bar/baz
Run Code Online (Sandbox Code Playgroud)

为了回应您对要包含的问题的编辑gpg-agent,您应该能够~/.gpg-agent-info获取来源$GPG_AGENT_INFO。如果不存在,请尝试以gpg-agent开头--write-env-file "${HOME}/.gpg-agent-info"