本文介绍了如何模拟cron执行脚本的环境?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我通常对 cron 如何执行脚本有几个问题,因为它们通常没有我的环境设置.有没有办法以与 cron 相同的方式调用 bash(?) 以便我可以在安装脚本之前测试它们?

I normally have several problems with how cron executes scripts as they normally don't have my environment setup. Is there a way to invoke bash(?) in the same way cron does so I could test scripts before installing them?

推荐答案

将此添加到您的 crontab(临时):

Add this to your crontab (temporarily):

* * * * * env > ~/cronenv

运行后,执行以下操作:

After it runs, do this:

env - `cat ~/cronenv` /bin/sh

这假设您的 cron 运行/bin/sh,无论用户的默认 shell 是什么,它都是默认值.

This assumes that your cron runs /bin/sh, which is the default regardless of the user's default shell.

脚注:如果 env 包含更高级的配置,例如 PS1=$(__git_ps1 "(%s)")$,它会隐含地出错 env: ": 没有那个文件或目录.

Footnote: if env contains more advanced config, eg PS1=$(__git_ps1 " (%s)")$, it will error cryptically env: ": No such file or directory.

这篇关于如何模拟cron执行脚本的环境?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-23 07:16