Команда watch
документирована следующим образом:
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.
Часть, касающаяся передачи команды sh -c
означает, что команда jobs
вы запускаете с помощью watch
, выполняется в другом сеансе оболочки, чем та, которая породила задание, поэтому ее нельзя увидеть в другой оболочке. По сути, проблема заключается в том, что jobs
являются встроенной оболочкой и должны запускаться в оболочке, которая порождает задания, которые вы хотите видеть.
Самое близкое, что вы можете получить, это использовать цикл while в оболочке, которая породила задание:
$ while true; do jobs; sleep 10; done
Вы можете определить функцию в вашем скрипте запуска оболочки, чтобы упростить ее использование:
myjobwatch() { while true; do jobs; sleep 5; done; }
Тогда вам просто нужно набрать myjobwatch
.