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