![让 at 命令返回刚刚提交的任务的作业 ID](https://linux22.com/image/1298800/%E8%AE%A9%20at%20%E5%91%BD%E4%BB%A4%E8%BF%94%E5%9B%9E%E5%88%9A%E5%88%9A%E6%8F%90%E4%BA%A4%E7%9A%84%E4%BB%BB%E5%8A%A1%E7%9A%84%E4%BD%9C%E4%B8%9A%20ID.png)
是否有可能在命令在脚本中使用时以某种方式返回刚刚提交的作业 ID?(有点像 $? 检索最后的退出代码或 $$/$! 检索刚刚执行的命令的 PID)。
答案1
假设您要运行的作业位于名为的文件中test.sh
,以下内容将返回 id:
$ at now -f test.sh 2>&1 | awk '/job/ {print $2}'
8
将2>&1
stderr 重定向到 stdout,以便您可以对其进行操作。awk
返回包含单词“job”的行中的第二个字段,即包含作业 ID 的行。
因此将它放入变量中,您可以执行以下操作:
$ TEST=`at now -f test.sh 2>&1 | awk '/job/ {print $2}'`
$ echo $TEST
9