Respostas:
De man bash
(sim, é uma grande página de manual, geralmente a pesquisa no Google é mais rápida):
-x
Depois de expandir cada comando simples, para comando, comando caso, selecione comando ou aritmética para comando, exiba o valor expandido do PS4, seguido pelo comando e seus argumentos expandidos ou lista de palavras associada.
Efetivamente: quando você executa um script, ele mostra todas as ações realizadas nesse script. Portanto, todos os ifs, loops e comandos são executados. Muito útil para depuração.
-v
Imprima as linhas de entrada do shell à medida que forem lidas. Quando um script é executado, ele imprime o script inteiro enquanto lê o arquivo. Quando você usa o shell interativamente, ele mostra cada comando depois que você pressiona enter.
As aspas acima são da explicação do set
comando builtin no arquivo man bash
, que também explica que as opções para set
também podem ser passadas como argumentos (na linha shebang):
As opções estão desativadas por padrão, a menos que indicado de outra forma. Usar em
+
vez de-
faz com que essas opções sejam desativadas. As opções também podem ser especificadas como argumentos para uma chamada do shell. O conjunto atual de opções pode ser encontrado em$-
. O status de retorno é sempre verdadeiro, a menos que uma opção inválida seja encontrada.
/-x
algumas vezes você chega lá man
( na verdade é less
). Você pode repetir a última pesquisa com /
a seta para cima +, mas é necessário descer na página para obter qualquer pesquisa atual na tela ( /
é pesquisa para frente, ?
é para trás).
n
para pesquisa direta e N
para trás.
test -x
sob EXPRESSÕES CONDICIONAIS (o terceiro hit), não set -x
. -x
in man bash
é um caso muito ruim, portanto, obter ajuda mais específica: se você usar /^\s+-x\b
, (= início de linha + espaço em branco + -x
+ limite de palavras), você alcançará o caminho certo em 5 ocorrências ... teria sido 4, mas o fato x
corresponde X
... o que me leva a uma pergunta que pretendo fazer . De qualquer forma, na maioria das páginas de manual, o ^\s+-x\b
padrão deve funcionar primeiro, tente os comutadores.
A página man bash faz indício de que estas opções são explicadas mais abaixo, na verdade, mas é facilmente esquecido.
Portanto, seu problema deve realmente ser: A seção OPTIONS da página de manual do bash está incompleta. A resposta seria duplicá-los ou destacar a primeira seção da seção OPÇÕES:
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. [ ... ]
Por fim, para completar: são opções padrão para qualquer shell POSIX, para mostrar o código do script quando read ( -v
) e quando run ( -x
). A saída aparecerá no stderr.