De man bash
(sim, é uma grande página de manual, normalmente a pesquisa do Google é mais rápida):
-x
After expanding each simple command, for command, case command, select command, or arithmetic for command, display the expanded value of PS4, followed by the command and its expanded arguments or associated word list.
Efetivamente: quando você executa um script, ele mostra todas as ações feitas nesse script. Então todos os ifs, loops e comandos são executados. Muito útil para depuração.
-v
Print shell input lines as they are read. When a script is run, it will print the entire script as it reads the file. When you use the shell interactively, it will show each command after you press enter.
As citações acima são da explicação do comando set
builtin no man bash
, que também explica que as opções para set
também podem ser passadas como argumentos (na linha shebang):
The options are off by default unless otherwise noted. Using
+
rather than-
causes these options to be turned off. The options can also be specified as arguments to an invocation of the shell. The current set of options may be found in$-
. The return status is always true unless an invalid option is encountered.