Sintassi Bash If Else con esempi

Quando si lavora con Bash e shell scripting, potrebbe essere necessario utilizzare le condizioni nello script.

Nella programmazione, le condizioni sono cruciali : vengono utilizzate per affermare se alcune condizioni sono vere o meno.

In questo tutorial, ci concentreremo su una delle istruzioni condizionali del linguaggio Bash : l’istruzione Bash if else.

Vedremo come puoi usare questa istruzione per eseguire i tuoi script in modo condizionale.,

Imparerai anche come usare le istruzioni Bash if else nidificate per creare codice più complesso.

Sommario

Bash If Else

per eseguire un Bash “se else”, devi utilizzare quattro diverse parole chiave : if, then, else e fi :

  • se : rappresenta la condizione che si desidera controllare;
  • quindi : se la precedente condizione è vera, quindi eseguire un comando specifico;
  • altro : se la precedente condizione è falsa, quindi eseguire un altro comando;
  • fi : si chiude il “se, poi, else”.,

Quando si utilizza l’istruzione “if else”, è necessario racchiudere le condizioni tra parentesi quadrate singole o doppie.

if ]then <execute command>else <execute another command>fi

Si noti che l’istruzione “ELSE” è facoltativa, se la si omette, non verrà eseguito nulla se la condizione restituisce false.

Nota: è necessario separare la condizione dalle parentesi quadre con uno spazio, altrimenti si potrebbe ottenere un errore di sintassi.,

If Else Examples

Ora che sai di più sull’istruzione Bash “if else”, vediamo come puoi usarlo negli esempi del mondo reale.

In questa sezione, costruiremo uno script che stampa un messaggio se viene eseguito dall’utente root.

Se lo script non viene eseguito dall’utente root, scriverà un altro messaggio personalizzato.

Per verificare se lo script viene eseguito da root, dobbiamo vedere se l’UID del chiamante è zero.,

#!/bin/bash# If the user is root, its UID is zero.if then echo "You are root!"else echo "You are not root."fi

Come indicato in precedenza, l’istruzione “else” non è obbligatoria.

Se omettiamo nel nostro script creato in precedenza, saremmo comunque in grado di eseguire la prima istruzione “then”.

#!/bin/bash# If the user is root, its UID is zero.if then echo "You are root!"fi

Ora, cosa succede se si desidera aggiungere ulteriori istruzioni “if” ai propri script?,

Bash If Elif Statement

L’istruzione “If Elif” viene utilizzata in Bash per aggiungere ulteriori istruzioni “if” agli script.,

per eseguire un Bash “se elif” dichiarazione”, devi utilizzare cinque diverse parole chiave : se, quindi, elif, altro e fi :

  • se : rappresenta la condizione che si desidera controllare;
  • quindi : se la precedente condizione è vera, quindi eseguire un comando specifico;
  • elif : utilizzato per aggiungere un’ulteriore condizione per l’istruzione;
  • altro: se le condizioni precedenti sono false, eseguire un altro comando;
  • fi : si chiude il “se, elif, quindi” istruzione.,
if ]then <execute command>elif ]then <execute another command>else <execute default command>fi

Ancora una volta, l’istruzione “ELSE” è facoltativa, quindi potresti voler ometterla se non hai bisogno di un’istruzione predefinita.

if ]then <execute command>elif ]then <execute another command>fi

If Elif Examples

Nella nostra sezione precedente, abbiamo usato l’istruzione “if else” per verificare se un utente è root o meno.

In questa sezione, verificheremo se l’utente è root o se l’utente ha un UID di 1002.

Se questo non è il caso, usciremo dallo script e restituiremo il prompt all’utente.,

if ]then echo "You are root!"elif ]then echo "You are user, welcome!"else echo "You are not welcome here." exit 1;fi

Congratulazioni, ora sai come usare l’istruzione “if elif”!

Ora cosa succede se si desidera avere più condizioni sotto la stessa istruzione “if”?

Più condizioni in If Else

Per avere più condizioni scritte nella stessa istruzione “if else”, è necessario separare le condizioni con un operatore “E” o un operatore “O”.,

Per esempio, se si desidera scrivere uno script che controlla che tu sei l’utente root e fornito il parametro corretto, si dovrebbe scrivere :

If Else

In alcuni casi, si desidera implementare condizioni nidificate in modo da avere condizioni controllate in condizioni preliminari.

Per avere istruzioni “if else” annidate, devi semplicemente includere l’istruzione “if” in un’altra istruzione “if” e chiudere l’istruzione nidificata prima di quella che lo racchiude.,

if ]then if ] then <execute command> else <execute another command> fifi

Nota : assicurati di avere un’istruzione “fi” di chiusura per ogni istruzione “if” che apri. Un singolo ” fi “non è semplicemente sufficiente per più istruzioni” if”.

Esempi di istruzioni nidificate

Ad esempio, diciamo che si desidera verificare che l’utente sia root prima di verificare che il primo argomento fornito sia zero.,

Per risolvere questo, si dovrebbe scrivere una nested “se, poi, else” nel seguente modo :

Bash Test

Come probabilmente avete notato, nelle sezioni precedenti, abbiamo usato il “-eq” operatore al fine di confrontare il valore di una variabile di un numero.

Abbiamo fatto un semplice controllo di uguaglianza, ma cosa succede se vuoi avere un controllo di disuguaglianza?

Cosa succede se si desidera verificare se un valore è maggiore di un determinato numero, ad esempio?

Per eseguire questa operazione, sono necessari test Bash.,

I test Bash sono un insieme di operatori che è possibile utilizzare nelle istruzioni condizionali per confrontare i valori insieme.

I test Bash possono essere elencati eseguendo il comando” help test”.,

$ help test

Quando si scrive Bash test, vi sono essenzialmente tre opzioni :

  • condizioni di Scrittura su file e directory : se esistono, se sono un personaggio di file, un file di periferica e così via;
  • condizioni di Scrittura dei numeri : se sono uguali ad ogni altro, se uno è più grande dell’altra;
  • condizioni di Scrittura su stringhe : se una stringa variabile è impostata o se due stringhe sono uguali tra loro.,

Condizioni del file Bash

Le condizioni del file Bash vengono utilizzate per verificare se un file esiste o meno, se può essere letto, modificato o eseguito.,n)

-w File può essere modificato (permessi di scrittura) -x File può essere eseguito (l’autorizzazione execute)

Per esempio, per verificare se un file è una directory, occorre scrivere il seguente script

#!/bin/bash# Checking the first argument providedif ]then echo "This is a directory"else echo "Not a directory"fi

Bash Numero di Condizioni

Bash numero condizioni sono utilizzati per confrontare due numeri : se sono uguali, se uno è maggiore di un altro o inferiore a un altro.,num2

Controllare se i numeri non sono uguali num1 -lt num2 Verifica se num1 è inferiore num2 num1 -le num2 Inferiore o uguale a num2 num1 -gt num2 Maggiore num2 num1 -ge num2 Maggiore o uguale a num2

Per esempio, per controllare se un numero non è uguale a zero, si dovrebbe scrivere :

Bash Stringa Condizioni

Bash stringa condizioni sono usati per controllare se due stringhe sono uguali o se una stringa, se vuoto.,

Here is a table of the main Bash string conditions :

Operator Description
str1 = str2 Checks if strings are equal or not
str1 !,= str2 Controlla se le stringhe sono diverse
-z str1 Controlla se str1 è vuoto
-n str1 Controlla se str1 non è vuoto

Per esempio, per verificare se un utente ha fornito un valore per il vostro script, si dovrebbe scrivere :

Conclusione

il tutorial di oggi, si è parlato del Bash “Se Else”.

Hai visto, con esempi, che puoi costruire istruzioni più complesse : usando elif e istruzioni nidificate.,

Infine, hai scoperto i test Bash, cosa sono e come vengono utilizzati per verificare le condizioni negli script.

Se sei interessato all’amministrazione del sistema Linux, abbiamo una sezione completa dedicata ad esso sul sito web, quindi assicurati di controllarlo!

Author: admin

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *