Come utilizzare l'opzione bash set -x

Come utilizzare l'opzione bash set -x

Il comando set di Linux viene utilizzato per impostare le opzioni specifiche. Queste opzioni gestiscono il comportamento di un determinato script e abilitano l'esecuzione dell'attività senza errore. In questo articolo, utilizziamo l'opzione "X" con il comando set che informa il bash di visualizzare le istruzioni mentre vengono elaborate. È immensamente utile per il debug quando dobbiamo determinare quali linee sono state eseguite e in quale sequenza. L'operazione set -x può essere impiegata direttamente in una shell di bash aperta o all'interno di uno script bash. Nei seguenti esempi, utilizziamo il comando set con l'opzione "x" per abilitare e disabilitare le varie funzionalità.

Esempio 1: programma utilizzando il set -x in uno script bash

Qui, creiamo il "Bash1.file sh "e fornire lo script per utilizzare l'opzione set -x. Utilizziamo il comando "SET -X" per abilitare il debug perché lo script bash non abilita il debug per impostazione predefinita. Inseriamo prima il comando della banda sh nel nostro script. Successivamente, utilizziamo il modificatore "SET" con il suo flag "-x" per attivare il debug. Quindi, dichiariamo il comando "eco" che fornisce la "mia prima affermazione". Come questa affermazione Echo, definiamo un'altra dichiarazione "My Second Bike" usando il modificatore "Echo". Successivamente, eseguiamo lo script bash aprendo il terminale per mostrare i risultati di abilitare il debug dal comando set -x.

#!/Bin/Bash
Set -x
Echo "la mia prima affermazione"
Echo "la mia seconda affermazione"

Sul terminale, invochiamo la parola chiave "bash" per la compilation di "Bash1.file sh ". Successivamente, eseguiamo il file dato che stampa il comando Echo con il simbolo "+" insieme all'istruzione risultante dai comandi Echo.

Esempio 2: programma utilizzando il set -x in modalità disabilitato in uno script bash

Nell'esempio recente, abbiamo dimostrato il modo di abilitare il debug utilizzando il comando "set -x". Ora forniamo un modo per disabilitare il debug nello script bash usando il comando "set" ma con l'opzione "x" in un formato diverso. Qui, costruiamo la sceneggiatura in un "bash2.sh". Innanzitutto, utilizziamo il comando "set -x" che consente il debug di bash. Quindi, impostiamo il comando "Echo" per stampare l'istruzione "Printish1". Dopo questo, distribuiamo il comando "SET +X" per disabilitare il debug dello script bash. La differenza nell'abilitazione e nella disabilitazione del debug è che utilizziamo l'opzione "X" con il simbolo negativo "-" per attivare il debug. Il simbolo "x" con il simbolo "+" positivo indica la disabilitazione del debug bash.

#!/Bin/Bash
Set -x
Echo "Print Dichiarazione1"
Set +x
Echo "Print Dichiarazione2"

Il precedente script bash viene eseguito nel terminale usando "Bash ./Bash2.comando sh ". Il risultato di questo script stampa il comando "Echo" con l'output di quel comando Echo perché il debug è abilitato. Quindi, il comando "SET +X" viene stampato in cui disabilitiamo il debug. La modalità di disabilitazione del debug del bash stampa semplicemente l'output del comando Echo come mostrato nella seguente immagine:

Esempio 3: programma utilizzando il set -x nel comando riga Shebang in uno script bash

Abbiamo un altro modo per abilitare il debug in bash includendo la bandiera "-x" nella linea Shebang. Qui, creiamo lo script all'interno del "Bash3.sh". Iniziamo definendo il "#!/bin/bash -x "comando shebang in cui è anche dichiarata l'opzione" -x "per abilitare il debug dello script bash dato. Quindi, creiamo l'attributo "MyName" a cui assegniamo un valore "Linux". L'attributo è ulteriormente impostato con il comando Echo per stampare il suo valore. Dopo questo, disabilitiamo il debug con la dichiarazione "SET +X". Dichiariamo l'attributo "Mysalary" e lo inizializziamo con il valore "7000" per il debug. La parola chiave "eco" viene chiamata sull'attributo "Mysalary" per produrre il valore. Successivamente, definiamo di nuovo un caso per attivare il debug nello script bash. Per questo, definiamo il comando "SET +X". Successivamente, abbiamo impostato di nuovo l'attributo "MyLanguage" con il valore "inglese" per esaminare la modalità di debug abilitata.

#!/bin/bash -x
MyName = Linux
echo $ myname
Set +x
Mysalary = 7000
Echo $ Mysalary
Set -x
MyLanguage = inglese
Echo $ MyLanguage

Quando il "Bash3.sh "è eseguito nel terminale, stampare prima l'espressione" MyName = Linux "e l'istruzione Echo con il suo valore risultante. Il valore "7000" è il valore risultante dell'espressione di eco in cui il debug non viene attivato. Il prossimo è anche l'espressione "MyLanguage = English" stampata e l'espressione di Echo con il valore di output "inglese" in quanto la modalità di debug è abilitata.

Esempio 4: programma utilizzando il set -x in uno script bash per l'espressione condizionale

Ora, utilizziamo il comando "SET -X" per eseguire il debug dell'istruzione condizionale che esegue il risultato e stampano ogni passaggio dell'output dallo script bash per una migliore comprensione dello script. Qui, generiamo la sceneggiatura bash in "Bash4.file sh ". Il primo passo dello script è dichiarare il comando "set -x". Usando il comando "SET -X", abilitiamo la modalità di debug del nostro script bash. Quindi, creiamo l'attributo "Y" e specifichiamo un valore numerico di "50". Successivamente, distribuiamo il ciclo while dove la condizione è data come "$ y -gt 0". L'istruzione "DO e Done" ha l'operazione per soddisfare la condizione di While. Il comando "Echo" è assegnato con una variabile "$ y" che stampa il valore di decremento ogni volta fino a quando il ciclo while non viene terminato.

Set -x
y = 50
mentre [$ y -gt 0]; Fare
y = $ [$ y-10]
Echo $ y
Sonno 1
Fatto

L'output viene visualizzato con ogni singolo passaggio dello script in cui vengono aggiornati i valori condizionali.

Conclusione

L'uso del comando "set -x" in bash è un processo di debug che risolve il codice riconoscendo i bug nello script. Il "set -x" arriva in aiuto quando è una sfida per gli utenti sviluppare uno script senza errori, soprattutto quando comprende un gran numero di righe. Abbiamo fornito gli script bash utilizzando i comandi "Set -x" e "Set +X" per la dimostrazione. Inoltre, possiamo anche usare l'opzione "X" sul terminale come "bash -x ./Nome del file.sh "se non vogliamo utilizzare il comando" set -x "nello script. Otteniamo lo stesso risultato facendo questo.