Úvod:
Příkaz atq mi dává seznam úloh čekajících na provedení a doby jejich provedení. Každý řádek začíná číslem úlohy.
Příkaz at -c Číslo úlohy mi dává obsah úlohy včetně proměnných prostředí.
Chtěl jsem příkaz, který by mi dal seznam úloh (stejně jako příkaz atq ), ale rozbalený tak, že po každém řádku úlohy následují příkazy, které budou provedeny, kromě jejich proměnných prostředí. např.34 Tue Jan 17 10:22:00 2017 a root
Commands
35 Tue Jan 24 17:50:00 2017 a root
Commands
28 Tue Dec 13 23:00:00 2016 a root
Commands
24 Mon Nov 14 20:27:00 2016 a root
Commands
31 Sun Jan 15 00:21:00 2017 a root
Commands
Humm... nenašel jsem takový příkaz k zobrazení tohoto. Takže jsem vytvořil tento bash skript, který dělá tuto práci:
#!/bin/bash
# Description: Displays all 'at' jobs and their respective commands
# Syntax: atlist.sh
# Changes: 05.11.2016 First implementation
########################################################################
# Get the short jobs list and expand from there
atq | while read line ; do
jobnr=$(echo $line | awk '{print $1}')
echo $line
# Pickup all the command lines after first line matching '}'.
# This excludes all the environment variables and the at exit line.
# Exclude the matching '}' line and empty lines
# Add an offset of 8 chars to each command line.
at -c $jobnr | sed -e '1,/^\}/d' -e '/^$/d' -e 's/^/ /'
done