让 at 命令返回刚刚提交的任务的作业 ID

让 at 命令返回刚刚提交的任务的作业 ID

是否有可能命令在脚本中使用时以某种方式返回刚刚提交的作业 ID?(有点像 $? 检索最后的退出代码或 $$/$! 检索刚刚执行的命令的 PID)。

答案1

假设您要运行的作业位于名为的文件中test.sh,以下内容将返回 id:

 $ at now -f test.sh 2>&1 | awk '/job/ {print $2}'
 8

2>&1stderr 重定向到 stdout,以便您可以对其进行操作。awk返回包含单词“job”的行中的第二个字段,即包含作业 ID 的行。

因此将它放入变量中,您可以执行以下操作:

$ TEST=`at now -f test.sh 2>&1 | awk '/job/ {print $2}'`
$ echo $TEST
9

相关内容