Команда at возвращает идентификатор задания только что отправленной задачи
Возможно ли, чтобы команда at как-то возвращала идентификатор задания, который она только что отправила при использовании из скрипта? (например, $? возвращает последний код выхода или $$/$! возвращает PID только что выполненной команды).
1 ответ
Решение
Предполагая, что задание, которое вы хотите запустить, находится в файле с именем test.sh
, следующий вернет идентификатор:
$ at now -f test.sh 2>&1 | awk '/job/ {print $2}'
8
2>&1
перенаправляет stderr в stdout, чтобы вы могли им манипулировать. awk
возвращает второе поле в строке, в котором есть слово "задание", то есть строка, содержащая идентификатор задания.
Чтобы получить его в переменную, вы можете сделать:
$ TEST=`at now -f test.sh 2>&1 | awk '/job/ {print $2}'`
$ echo $TEST
9