Le watch commande est documentée comme suit :
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.
 
 La partie sur le fait de donner la commande à sh -c signifie le jobs commande que vous exécutez via watch s'exécute dans une session shell différente de celle qui a généré le travail, de sorte qu'il ne peut pas être vu que l'autre shell. Le problème est fondamentalement que jobs est un shell intégré et doit être exécuté dans le shell qui a généré les travaux que vous souhaitez voir.
Le plus proche que vous pouvez obtenir est d'utiliser une boucle while dans le shell qui a généré le travail :
$ while true; do jobs; sleep 10; done
 Vous pouvez définir une fonction dans votre script de démarrage du shell pour faciliter son utilisation :
myjobwatch() { while true; do jobs; sleep 5; done; }
 
 Ensuite, il vous suffit de taper myjobwatch .
 Plutôt qu'une boucle, j'ai tendance à utiliser watch avec un grep pour mon travail en cours d'exécution, par exemple
watch 'ps u | grep rsync'
 Pas parfait, mais mieux qu'une boucle while :)