![当脚本添加到linux“at”命令队列时,我可以访问设置的环境变量吗?](https://linux22.com/image/166062/%E5%BD%93%E8%84%9A%E6%9C%AC%E6%B7%BB%E5%8A%A0%E5%88%B0linux%E2%80%9Cat%E2%80%9D%E5%91%BD%E4%BB%A4%E9%98%9F%E5%88%97%E6%97%B6%EF%BC%8C%E6%88%91%E5%8F%AF%E4%BB%A5%E8%AE%BF%E9%97%AE%E8%AE%BE%E7%BD%AE%E7%9A%84%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E5%90%97%EF%BC%9F.png)
我想知道我是否可以访问在运行之前将脚本添加到“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
在输出中找到 的值。