Bash 在Ubuntu18上的crontab作业脚本中是否有使用.envrc的方法
我们从dir中的.envrc文件导出了一组环境变量。在shell中,可以运行Bash 在Ubuntu18上的crontab作业脚本中是否有使用.envrc的方法,bash,ubuntu,cron,Bash,Ubuntu,Cron,我们从dir中的.envrc文件导出了一组环境变量。在shell中,可以运行direnv allow,并调用.envrc文件,从而创建env变量 我们希望在运行带有crontab作业的脚本时具有相同的功能,但envrc文件永远不会运行 我们已尝试: 在crontab中:**$主页/.profile;一些/script/to/run 在脚本中:direnv allow 或 在脚本中:eval“$(direnv export bash)” 这些都不起作用,有没有办法从cron作业调用的脚本运
direnv allow
,并调用.envrc文件,从而创建env变量
我们希望在运行带有crontab作业的脚本时具有相同的功能,但envrc文件永远不会运行
我们已尝试:
- 在crontab中:
**$主页/.profile;一些/script/to/run
- 在脚本中:
direnv allow
- 或
- 在脚本中:
eval“$(direnv export bash)”
这些都不起作用,有没有办法从cron作业调用的脚本运行.envrc文件?您可以使用
direnv exec
来实现这一点。它具有参数[DIR]命令[…ARGS]
。如果.envrc
文件与脚本位于同一文件中,则可以更改以下内容:
* * * * * sh /path/to/script/script.sh
为此:
* * * * * direnv exec sh /path/to/script/script.sh
如果.envrc
文件与脚本位于不同的目录中,则必须在exec
参数之后传递目录路径,如下所示:
* * * * * direnv exec /path/to/secrets sh /path/to/script/script.sh
您可以使用
direnv exec
来实现这一点。它具有参数[DIR]命令[…ARGS]
。如果.envrc
文件与脚本位于同一文件中,则可以更改以下内容:
* * * * * sh /path/to/script/script.sh
为此:
* * * * * direnv exec sh /path/to/script/script.sh
如果.envrc
文件与脚本位于不同的目录中,则必须在exec
参数之后传递目录路径,如下所示:
* * * * * direnv exec /path/to/secrets sh /path/to/script/script.sh