Respuestas:
De man bash
(sí, es una gran página de manual, generalmente la búsqueda de Google es más rápida):
-x
Después de expandir cada comando simple, para comando, comando de caso, comando de selección o aritmética para comando, muestre el valor expandido de PS4, seguido del comando y sus argumentos expandidos o la lista de palabras asociadas.
Efectivamente: cuando ejecuta un script, mostrará todas las acciones realizadas en ese script. Entonces todos los ifs, loops y comandos se ejecutan. Muy útil para depurar.
-v
Imprima líneas de entrada de shell a medida que se leen. Cuando se ejecuta un script, imprimirá todo el script mientras lee el archivo. Cuando usa el shell de forma interactiva, mostrará cada comando después de presionar enter.
Las citas anteriores son de la explicación del set
comando incorporado en el man bash
, que también explica que las opciones para set
también se pueden pasar como argumentos (en la línea shebang):
Las opciones están desactivadas por defecto a menos que se indique lo contrario. El uso en
+
lugar de-
hace que estas opciones se desactiven. Las opciones también se pueden especificar como argumentos para una invocación del shell. El conjunto actual de opciones se puede encontrar en$-
. El estado de devolución siempre es verdadero a menos que se encuentre una opción no válida.
/-x
un par de veces lo llevará allí man
( en realidad, es less
). Puede repetir la última búsqueda con /
la flecha + hacia arriba, pero tiene que desplazarse hacia abajo para obtener cualquier resultado de búsqueda actual de la pantalla ( /
es búsqueda hacia adelante, ?
es hacia atrás).
n
búsqueda hacia adelante y la búsqueda N
hacia atrás.
test -x
bajo EXPRESIONES CONDICIONALES (el tercer golpe), no set -x
. -x
en man bash
es un caso bastante malo así que conseguir ayuda más específica: si utiliza /^\s+-x\b
, (= inicio de la línea + espacio en blanco + -x
+ límite de palabra) se llega a la correcta en 5 golpes ... habría sido 4, pero por el hecho de x
partidos X
... lo que me lleva a una pregunta que he querido hacer . De todos modos, con la mayoría de las páginas man, el ^\s+-x\b
patrón debería funcionar primero intente con los interruptores.
La página del manual de bash hace indicio de que estas opciones se explican más abajo, en realidad, pero se pasa por alto fácilmente.
Por lo tanto, su problema debería leer: La sección OPCIONES de la página del manual de bash está incompleta. La respuesta sería duplicarlos o resaltar la primera sección de la sección OPCIONES:
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. [ ... ]
Finalmente, para completar esto: son opciones estándar para cualquier shell POSIX para mostrar el código del script cuando se lee ( -v
) y cuando se ejecuta ( -x
). La salida aparecerá en stderr.