¿Qué hace pasar los parámetros -xe a / bin / bash?


59

Exactamente lo que dice el título. No tengo mucha suerte para encontrar la documentación adecuada para ver qué hace -xe en el siguiente caso de uso:

#!/bin/bash -xe

¿Qué hacen esos parámetros y dónde está documentado?


¿Estás hablando de parámetros que se pasan al binario BASH, o estás hablando de funciones y parámetros dentro del lenguaje de script BASH?
Richard Keller

Refiriéndose a los parámetros que se pasan al binario BASH, como: #! / Bin / bash -xe
imaginativo

Respuestas:


56

Si lee la página del manual bash, encontrará lo siguiente en la parte superior de la OPTIONSsección:

 Todas las opciones de shell de un solo carácter documentadas en el
 La descripción del comando set builtin se puede usar como opciones cuando
 Se invoca el shell. Además, bash interpreta las siguientes opciones
 cuando se invoca ...

Y si lee la documentación para el setcomando más adelante en la página de manual, encontrará:

 -e Salir inmediatamente si una tubería (que puede consistir en un
 comando simple simple), un comando subshell entre paréntesis,
 o uno de los comandos ejecutados como parte de una lista de comandos encerrada por
 Las llaves (ver SHELL GRAMMAR arriba) salen con un estado distinto de cero. 

 -x Después de expandir cada comando simple, para comando, caso
 comando, comando de selección o aritmética para comando, pantalla
 el valor expandido de PS4, seguido del comando y su
 argumentos expandidos o lista de palabras asociadas.

En otras palabras, -ehace que el shell salga inmediatamente cada vez que algo devuelve un error (esto se usa a menudo en los scripts del shell como un mecanismo a prueba de fallas) y -xpermite la ejecución detallada de los scripts para que pueda ver lo que está sucediendo.


10

Escriba lo siguiente en su consola para obtener una explicación de los argumentos de BASH:

bash -c "help set"

Para responder tu pregunta:

-e Salga inmediatamente si sale un comando con un estado distinto de cero.

-x Imprimir comandos y sus argumentos a medida que se ejecutan.


4

Desde la página del manual :

Todas las opciones de shell de un solo carácter documentadas en la descripción del comando set builtin se pueden usar como opciones cuando se invoca el shell.

Así que eche un vistazo al conjunto incorporado .


2

¿Estás pensando en lo que haces set -x set -e set -...? correr help setda esos.


1
Estoy pensando en parámetros utilizados como los siguientes: #! / Bin / bash -xe
imaginativo

0

¿Dónde está el mejor lugar para leer la documentación sobre qué parámetros se pasan a bash como -x y -e? Probé el man 1 bash, pero no parece estar cubierto allí.

Lea la sección OPCIONES de la página de manual de basj.


0

Utilizo el excelente Manual de referencia de Bash como documentación integral para el lenguaje Bash. Lo encontré más útil que las páginas de manual. La sección relevante para usted (puede encontrar una descripción de los modificadores -e, -x aquí: set builtin

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.