Ter o comando at retornando o ID da tarefa que acabou de enviar

2

É possível que o comando at retorne de alguma forma o ID do trabalho que acaba de enviar quando usado dentro de um script? (tipo como $? recupera o último código de saída ou $$ / $! recupera o PID do comando que acabou de ser executado).

    
por yannisf 15.12.2011 / 17:01

1 resposta

2

Supondo que o trabalho que você deseja executar esteja em um arquivo chamado test.sh , o seguinte retornará o ID:

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

O 2>&1 redireciona o stderr para stdout para que você possa manipulá-lo. O awk retorna o segundo campo na linha que contém a palavra "job", que é a linha que contém o ID do job.

Então coloque em uma variável, você pode fazer:

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