3

Возможно ли, чтобы команда at как-то возвращала идентификатор задания, который она только что отправила при использовании из скрипта? (вроде как $? получает последний код выхода или $$/$! получить PID только что выполненной команды).

1 ответ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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .