web-dev-qa-db-fra.com

Que fait le passage des paramètres -xe à / bin / bash

Exactement ce que dit le titre. Je n'ai pas beaucoup de chance de trouver la documentation appropriée pour voir ce que fait -xe dans le cas d'utilisation suivant:

#!/bin/bash -xe

que font ces paramètres et où sont-ils documentés?

68
imaginative

Si vous lisez la page de manuel de bash, vous trouverez ce qui suit en haut de la section OPTIONS:

 Toutes les options de shell à un seul caractère documentées dans la description 
 De la commande set setin peuvent être utilisées comme options lorsque le shell 
 Est invoqué. De plus, bash interprète les options suivantes 
 Lorsqu'il est invoqué ... 

Et si vous lisez la documentation de la commande set plus loin dans la page de manuel, vous trouverez:

 -e Quittez immédiatement si un pipeline (qui peut consister en une 
 commande simple simple), une commande de sous-shell entre parenthèses, 
 ou l'une des commandes exécutées dans le cadre d'un la liste de commandes entourée par des accolades 
 (voir Shell GRAMMAR ci-dessus) se termine avec un état différent de zéro. 
.. par la commande et ses 
 arguments étendus ou la liste de mots associée. 

En d'autres termes, -e fait sortir Shell immédiatement dès que quelque chose renvoie une erreur (ceci est souvent utilisé dans les scripts Shell comme mécanisme de sécurité intégrée), et -x active l'exécution détaillée des scripts afin que vous puissiez voir ce qui se passe.

64
larsks

Tapez ce qui suit sur votre console pour obtenir une explication des arguments BASH:

bash -c "help set"

Pour répondre à ta question:

-e Quittez immédiatement si une commande se termine avec un état différent de zéro.

-x Affiche les commandes et leurs arguments lors de leur exécution.

11
Richard Keller

Depuis la page de manuel :

Toutes les options de shell à un seul caractère décrites dans la description de la commande set setin peuvent être utilisées comme options lorsque le shell est appelé.

Jetez donc un œil au set builtin .

4
mgorven

Pensez-vous à ce que vous définissez -x set -e set -...? fonctionnement help set les donne.

2
becomingwisest

Où est le meilleur endroit pour lire la documentation sur les paramètres passés à bash tels que -x et -e? J'ai essayé l'homme 1 bash, mais il ne semble pas y être couvert.

Lisez la section OPTIONS de la page de manuel basj.

0
fpmurphy

J'utilise un excellent Bash Reference Manual comme documentation à guichet unique pour le langage Bash. Je l'ai trouvé plus utile que les pages de manuel. La section qui vous concerne (la description des commutateurs -e, -x peut être trouvée ici: set builtin

0
mzet