Cosa fa passare i parametri -xe a / bin / bash


59

Esattamente quello che dice il titolo. Non ho molta fortuna a trovare la documentazione corretta per vedere cosa fa -xe nel seguente caso d'uso:

#!/bin/bash -xe

cosa fanno questi parametri e dove sono documentati?


Stai parlando di parametri passati al binario BASH o di funzioni e parametri all'interno del linguaggio di scripting BASH?
Richard Keller,

Facendo riferimento ai parametri passati al binario BASH, come ad esempio: #! / Bin / bash -xe
immaginario

Risposte:


56

Se leggi la pagina man bashdi troverai nella parte superiore della OPTIONSsezione quanto segue :

 Tutte le opzioni di shell a carattere singolo documentate in
 la descrizione del comando incorporato set può essere usata come opzione quando il
 la shell viene invocata. Inoltre, bash interpreta le seguenti opzioni
 quando viene invocato ...

E se leggi la documentazione per il setcomando più avanti nella pagina man, troverai:

 -e Esci immediatamente se una pipeline (che può consistere in a
 singolo comando semplice), un comando subshell racchiuso tra parentesi,
 o uno dei comandi eseguiti come parte di un elenco di comandi racchiuso da
 le parentesi graffe (vedere la SHAR GRAMMAR sopra) esce con uno stato diverso da zero. 

 -x Dopo aver espanso ogni comando semplice, per comando, caso
 comando, selezionare comando o aritmetica per comando, visualizzare
 il valore espanso di PS4, seguito dal comando e dal suo
 argomenti espansi o elenco di parole associate.

In altre parole, -efa uscire immediatamente la shell ogni volta che qualcosa restituisce un errore (questo viene spesso utilizzato negli script di shell come meccanismo di sicurezza) e -xconsente l'esecuzione dettagliata di script in modo da poter vedere cosa sta succedendo.


10

Digita quanto segue sulla tua console per ottenere una spiegazione degli argomenti BASH:

bash -c "help set"

Per rispondere alla tua domanda:

-e Esci immediatamente se un comando esce con uno stato diverso da zero.

-x Stampa i comandi e i loro argomenti mentre vengono eseguiti.


4

Dalla manpage :

Tutte le opzioni di shell a carattere singolo documentate nella descrizione del comando incorporato set possono essere utilizzate come opzioni quando viene invocata la shell.

Quindi dai un'occhiata al set incorporato .


2

Stai pensando alle cose in cui fai set -x set -e set -...? correre help setdà quelli.


1
Sto pensando a parametri usati come i seguenti: #! / Bin / bash -xe
fantasioso

0

Qual è il posto migliore per leggere la documentazione su quali parametri vengono passati a bash come -x e -e? Ho provato l'uomo 1 bash, ma non sembra essere coperto lì.

Leggi la sezione OPZIONI della pagina man di basj.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.