当脚本添加到linux“at”命令队列时,我可以访问设置的环境变量吗?

当脚本添加到linux“at”命令队列时,我可以访问设置的环境变量吗?

我想知道我是否可以访问在运行之前将脚本添加到“at”命令队列时设置的自定义环境变量?我知道某些系统环境变量,如:TERM、DISPLAY、SHELLOPTS、_、PPID、BASH_VERSINFO、EUID、UID、GROUPS 被排除在外,但如果在我将脚本添加到 atq 时存在自定义环境集,我知道会被记录当我的脚本运行时它会使用该值。

我想知道的是,在“at”运行我的脚本之前我是否可以访问这些值?

假设我设置了一个名为:TEST_DIR 的环境变量。现在在我的 perl 脚本中我正在访问它的值。我向“at”命令添加了一个条目,以便在晚上 10 点调用我的 Perl 脚本。我退出会话,晚上 10 点之前再次登录,有没有办法让我访问记录在“at”队列中的 TEST_DIR 的值?我知道当脚本在晚上 10 点运行时,添加到“at”队列时设置的任何值都会被考虑,但我想知道它的值。

我到处搜索并浏览了“at”的手册页,它谈到了存储的环境值,但没有告诉它存储在哪里。任何帮助将非常感激。

谢谢。

答案1

at将其作业存储为 shell 脚本,用于设置作业的环境(变量和工作目录)。你可以通过运行看到这些

at -c ${jobid}

${jobid}酌情更换(参见atq)。您将TEST_DIR在输出中找到 的值。

相关内容