环境与 cron 相同的交互式 shell

jip*_*pie 10 cron environment-variables

我知道 crontabs 的魔法世界中有很多陷阱,但有时当你有一些聪明的方法来输入一个交互式 (bash) shell 时,它会帮助解决很多问题,当 shell 脚本从定时任务。

现在我想到了/bin/openvt -c8 -- /bin/bash --noprofile -l,但它需要root权限,设置太多变量和一个简单的su myusername设置很多额外的环境。

任何人都知道一种启动交互式 bash shell 的方法,它具有与 cron 相同的环境并且不需要在 Kubuntu 上具有 root 权限?

在 ssh 会话、GUI 以及以下一个或多个操作系统中工作时的奖励:HP-UX、Solaris 和 AIX

Sté*_*las 15

运行crontab -e并添加一个条目

* * * * * export -p > ~/cron-env
Run Code Online (Sandbox Code Playgroud)

(如果在 Solaris 或不使用 POSIX shell 解释该命令行的系统上,请使用该系统上/usr/xpg4/bin/sh -c 'export -p > ~/cron-env'的标准路径或任何标准路径sh)。

等待一分钟,然后删除该行。

您现在应该cron-env在您的主目录中有一个文件。

然后你可以运行:

cd && env -i sh -c '. ./cron-env; exec sh'
Run Code Online (Sandbox Code Playgroud)

使用与您的 cron 作业相同的环境启动 shell。