Czy jest możliwe, aby polecenie at zwróciło w jakiś sposób identyfikator zadania, który właśnie przesłał, gdy jest używany ze skryptu? (coś w rodzaju $? pobiera ostatni kod wyjścia lub $$ / $! pobiera PID właśnie wykonanego polecenia).
linux
bash
shell-script
scheduled-tasks
at
yannisf
źródło
źródło
echo "touch foo" | at now
, dostaję np.job 3 at Thu Dec 15 17:14:52 2011
Jako wynik - ty nie? Podobnie w skrypcie, zapisuje na standardowe wyjście, skąd można je przeanalizować.Odpowiedzi:
Zakładając, że zadanie, które chcesz uruchomić, znajduje się w pliku o nazwie
test.sh
, następujący identyfikator zwróci identyfikator:Do
2>&1
przekierowania stderr do stdout, dzięki czemu można go manipulować. Teawk
powroty drugie pole w wierszu, który ma słowo „praca” w tym, co jest wiersz, który zawiera identyfikator zadania.Więc zamień to w zmienną, możesz:
źródło