Der watch
Befehl ist wie folgt dokumentiert:
SYNOPSIS watch [-dhvt] [-n <seconds>] [--differences[=cumulative]] [--help] [--interval=<sec-onds>] [--no-title] [--version] <command> [...] NOTE Note that command is given to "sh -c" which means that you may need to use extra quoting to get the desired effect.
Der Teil, in dem der Befehl ausgeführt wird, sh -c
bedeutet, dass der Befehl, den jobs
Sie ausführen watch
, in einer anderen Shell-Sitzung ausgeführt wird als der, in der der Job erstellt wurde. Daher kann die andere Shell nicht gesehen werden. Das Problem ist grundsätzlich, dass jobs
eine Shell eingebaut ist und in der Shell ausgeführt werden muss, die die Jobs erzeugt, die Sie sehen möchten.
Am nächsten kommen Sie mit einer while-Schleife in der Shell, die den Job erzeugt hat:
$ while true; do jobs; sleep 10; done
Sie können eine Funktion in Ihrem Shell-Startskript definieren, um die Verwendung zu vereinfachen:
myjobwatch() { while true; do jobs; sleep 5; done; }
Dann musst du nur noch tippen myjobwatch
.