Cosa fa || Significare? - Bash

Cosa fa || Significare?  - Bash
Il doppio tubo ("||") è un operatore di controllo che rappresenta l'operazione logica o. Viene utilizzato per eseguire un comando o una serie di comandi solo se il comando o la pipeline precedenti non hanno fatto il fallimento o ha restituito un codice di stato diverso da zero. Questa guida discuterà dell'uso di ciò che questo doppio tubo significa e di come viene utilizzato negli script bash, quindi leggi questa guida se sei interessato.

Cosa fa "||" Significare? (Doppio tubo)

L'operatore a doppio tubo valuta vero se una delle espressioni su entrambi i lati è vera e false altrimenti. Ciò significa che se una delle espressioni è vera, l'altra espressione non deve essere valutata. Se entrambe le espressioni sono false, l'operatore valuta false, quindi ecco la sintassi per esso:

O Operation Truth Table
0 0 0
0 1 1
1 0 1
1 1 1

La sintassi per l'uso del doppio tubo.

||

Per illustrare ulteriormente ho creato uno script bash che funziona senza doppio tubo e controllare lo stato di uscita per vedere se il comando è eseguito o meno, di seguito è il codice:

#!/Bin/Bash
# Tentare di rimuovere un file
RM/Home/Aaliyan/Bashfile44.sh
Se [$? -ne 0]; Poi
# Il comando precedente non è riuscito, quindi stampare un messaggio di errore
Il file echo "non potrebbe essere rimosso"
altro
# Il comando precedente è riuscito, quindi stampare un messaggio di successo
Echo "file rimosso"
fi

In questo esempio, il comando RM viene utilizzato per rimuovere un file. Se il file non può essere rimosso o non esiste, Bash eseguirà il comando Echo per stampare un messaggio di errore. Per verificare lo stato di uscita del comando di rimozione viene utilizzata l'istruzione IF?. Se lo stato di uscita è il numero zero nob nel caso in cui il comando fallisce, il messaggio di errore viene stampato in questo modo:

Allo stesso modo se l'uscita del file e viene rimossa, l'output sarà così:

Ora ecco lo stesso script bash che rimuove il file ma, in questo script, ho usato l'operatore a doppio tubo e si può vedere che il codice è diventato più facile da capire e leggibile:

#!/Bin/Bash
# Tentare di rimuovere un file e stampare un messaggio di errore se non riesce
RM/PATH/TO/FILE || Echo "Il file non potrebbe essere rimosso"

In questo codice, il comando RM viene eseguito e, in caso contrario, il comando ECHO viene eseguito per stampare il messaggio di errore e qui è l'output di questo script se fallisce:

Ora nel primo script, un'istruzione IF viene utilizzata per verificare lo stato di uscita del comando RM, quindi il messaggio di errore viene stampato se il comando fallisce. Questo approccio è più verbosio e richiede più righe di codice. Inoltre, è possibile dimenticare di controllare lo stato di uscita di un comando, che può provocare bug o comportamenti imprevisti nel tuo script.

Mentre nel secondo script, ho usato il "||" operatore per semplificare la gestione degli errori. Il comando Echo viene eseguito solo nel caso in cui il comando RM fallisce come in quel caso il primo input è falso. Questo approccio è più conciso e più facile da leggere e garantisce che il messaggio di errore sia sempre stampato se il comando fallisce.

In generale, è una buona pratica usare il "||" Operatore negli script bash per semplificare il codice e renderlo più leggibile. È importante notare, tuttavia, che questo operatore funziona solo per semplici casi di gestione degli errori e in scenari più complessi, potrebbe essere necessario utilizzare tecniche più avanzate.

Allo stesso modo, se il file viene rimosso, l'operatore a doppio tubo non eseguirà l'altra condizione e termina semplicemente qui se si verifica un file, allora:

Conclusione

Il "||" (doppio tubo) L'operatore in Bash è un utile operatore di controllo che può semplificare gli script di shell consentendo l'esecuzione condizionale dei comandi in base al successo o al fallimento dei comandi precedenti. Questa guida fornisce estesi dettagli su cosa significhi questo operatore e su come può essere utilizzato nello script bash con l'aiuto di esempi.