Que signifient les arguments '-v' et '-x' pour bash?

J'ai vu quelques scripts shell avec le shebang suivant:

#!/bin/bash -x -v 

Cependant, l' man bash n'explique pas ce que ces arguments -x et -v représentent, s'ils appartiennent à bash du tout.

Alors, que signifient ces -x et -v (et d'autres arguments possibles)?

De man bash (oui, c'est une page de grand homme, habituellement la search de Google est plus rapide):

-x Après avoir développé chaque command simple, pour la command, la command case, la command select ou la command arithmetic for, affichez la valeur étendue de PS4, suivie de la command et de ses arguments étendus ou list de mots associés.

Effectivement: lorsque vous exécutez un script, il affichera toutes les actions effectuées dans ce script. Donc, tous les si, les loops et les commands courent. Très utile pour le debugging.

-v Affiche les lignes d'input du shell lorsqu'elles sont lues. Lors de l'exécution d'un script, il imprime le script entier pendant la lecture du file. Lorsque vous utilisez le shell interactivement, il affichera chaque command après avoir appuyé sur Entrée.

Les citations ci-dessus sont tirées de l'explication de la command setin dans le file man bash , qui explique également que les options de set peuvent également être passées en arguments (sur la ligne shebang):

Les options sont désactivées par défaut sauf indication contraire. Utiliser + plutôt que - provoque l'extinction de ces options. Les options peuvent également être spécifiées en tant qu'arguments pour une invocation du shell. L'set actuel d'options peut être trouvé dans $- . Le statut de return est toujours vrai sauf si une option non valide est rencontrée.

La page de bash man suggère que ces options sont expliquées plus bas, en fait, mais il est facilement négligé.

Par conséquent votre problème devrait en fait lire: La section OPTIONS de la page de manuel bash est incomplète. La réponse serait de les dupliquer ou de mettre en surbrillance la première section de la section OPTIONS:

 OPTIONS All of the single-character shell options documented in the descrip‐ tion of the set builtin command can be used as options when the shell is invoked. [ ... ] 

Enfin, pour que cela soit complet: ce sont des options standard pour n'importe quel shell POSIX pour afficher le code du script lors de la lecture ( -v ) et lors de l' exécution ( -x ). La sortie apparaîtra sur stderr.