Que fait la transmission des paramètres -xe vers / bin / bash?

59

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ù est-il documenté?

imaginatif
la source
Parlez-vous des paramètres transmis au binaire BASH ou des fonctions et paramètres dans le langage de script BASH?
Richard Keller
Référence aux paramètres transmis au binaire BASH, tels que: #! / Bin / bash -xe
imaginatif

Réponses:

56

Si vous lisez la page de manuel, bashvous trouverez ce qui suit en haut de la OPTIONSsection:

 Toutes les options de shell à un caractère documentées dans la
 la description de la commande intégrée set peut être utilisée comme option lorsque le
 shell est invoqué. En outre, bash interprète les options suivantes
 quand il est invoqué ...

Et si vous lisez la documentation de la setcommande plus tard dans la page de manuel, vous trouverez:

 -e Quitter immédiatement si un pipeline (qui peut consister en un
 simple commande simple), une commande de sous-shell entre parenthèses,
 ou l'une des commandes exécutées dans le cadre d'une liste de commandes incluse par
 accolades (voir SHELL GRAMMAR ci-dessus) sortent avec un statut différent de zéro. 

 -x Après avoir développé chaque commande simple, commande, casse
 commande, commande de sélection ou arithmétique pour commande, affichage
 la valeur étendue de PS4, suivie de la commande et de ses
 arguments développés ou liste de mots associée.

En d'autres termes, -ele shell se ferme immédiatement dès que quelque chose retourne une erreur (cela est souvent utilisé dans les scripts du shell comme mécanisme de sécurité) et -xpermet une exécution détaillée des scripts pour que vous puissiez voir ce qui se passe.

alsacs
la source
10

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

bash -c "help set"

Pour répondre à ta question:

-e Quitter immédiatement si une commande quitte avec un statut différent de zéro.

-x Imprimer les commandes et leurs arguments au fur et à mesure de leur exécution.

Richard Keller
la source
4

De la page de manuel :

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

Alors jetez un oeil à l' ensemble intégré .

mgorven
la source
2

Pensez-vous à ce que vous définissez -x set -e set -...? courir help setdonne à ceux.

devenir plus sage
la source
1
Je pense aux paramètres utilisés tels que: #! / Bin / bash -xe
imaginatif
0

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 être couvert là.

Lisez la section OPTIONS de la page de manuel basj.

fpmurphy
la source
0

J'utilise l'excellent manuel de référence Bash comme documentation centralisée sur le langage Bash. Je l'ai trouvé plus utile que les pages de manuel. La section qui vous concerne (description des commutateurs -e, -x peut être trouvée ici: set builtin

mzet
la source