Esempi di script Bash

Rispondi
Avatar utente
beatrice
co-admin
co-admin
Messaggi: 81
Iscritto il: lun mar 23, 2020 10:58 pm
Reactions score: 0
Contatta:
apr 2020 27 21:01

Esempi di script Bash

Messaggio da beatrice

Gli script Bash possono essere utilizzati per vari scopi, come l'esecuzione di un comando shell, l'esecuzione di più comandi insieme, la personalizzazione delle attività amministrative, l'esecuzione dell'automazione delle attività ecc. Quindi la conoscenza delle basi della programmazione bash è importante per ogni utente Linux. Questo articolo ti aiuterà a ottenere l'idea di base sulla programmazione bash. La maggior parte delle operazioni comuni di script bash sono spiegate con esempi molto semplici qui.

I seguenti argomenti di programmazione bash sono trattati in questo articolo.

Creare ed eseguire il primo programma BASH:
È possibile eseguire lo script bash dal terminale o eseguendo qualsiasi file bash. Eseguire il comando seguente dal terminale per eseguire un'istruzione bash molto semplice. L'output del comando sarà ' Hello World '.

echo "Hello World"

Immagine
Apri un editor per creare un file bash. Qui, nano editor viene utilizzato per creare il file e il nome file è impostato come ' First.sh'

nano First.sh

Aggiungi il seguente script bash al file e salva il file.

#! / bin / bash
echo "Hello World"

Immagine
Puoi eseguire il file bash in due modi. Un modo è usare il comando bash e un altro è impostare il permesso di esecuzione per bash file ed eseguire il file. Entrambi i modi sono mostrati qui.

bash First.sh

O,

chmod a + x First.sh
$. / First.sh

Immagine

Uso del comando echo:
È possibile utilizzare il comando echo con varie opzioni. Alcune utili opzioni sono menzionate nel seguente esempio. Quando si utilizza il comando ' echo ' senza alcuna opzione, per impostazione predefinita viene aggiunta una nuova riga. L' opzione '-n' viene utilizzata per stampare qualsiasi testo senza una nuova riga e l' opzione '-e' viene utilizzata per rimuovere i caratteri barra rovesciata dall'output. Crea un nuovo file bash con un nome, ' echo_example.sh ' e aggiungi il seguente script.

#! / bin / bash
echo "Stampa di testo con newline"
echo -n "Stampa di testo senza newline"
echo -e " \ n Rimozione di \ t barra rovesciata \ t caratteri \ n "

Esegui il file con il comando bash.

bash echo_example.sh

Immagine

Uso del commento:
Il simbolo '#' viene usato per aggiungere un commento a riga singola nello script bash. Crea un nuovo file chiamato " comment_example.sh" e aggiungi il seguente script con commento a riga singola.

#! / bin / bash

# Aggiungi due valori numerici
( ( sum = 25 + 35 ) )

#Stampa il risultato
echo $ sum

Esegui il file con il comando bash.

bash comment_example.sh

Immagine

Utilizzo del commento multilinea:
Puoi usare il commento a più righe in bash in vari modi. Nell'esempio seguente viene mostrato un modo semplice. Crea un nuovo bash chiamato 'multiline-comment.sh' e aggiungi il seguente script. Qui, i simboli ':' e “  sono usati per aggiungere commenti multilinea nello script bash. Questo script seguente calcolerà il quadrato di 5.

#! / bin / bash
'
Il seguente script calcola
il valore quadrato del numero, 5.
'

( ( area = ) )
echo $ area

Esegui il file con il comando bash.

bash multiline-comment.sh

Immagine

Utilizzando While Loop:
Crea un file bash con il nome "while_example.sh" per conoscere l'uso del ciclo while . Nell'esempio, while loop eseguirà l'iterazione per 5 volte. Il valore della variabile di conteggio aumenterà di 1 in ogni passaggio. Quando il valore della variabile count sarà 5, il ciclo while terminerà.

#! / bin / bash
valid = true
count = 1
mentre $ valid ]
fa
eco $ count
se $ count -eq ] ;
quindi
break
fi
( ( count ++ ) )
fatto

Esegui il file con il comando bash.

bash while_example.sh

Immagine

Utilizzando per Loop:
La dichiarazione di base per il ciclo è mostrata nell'esempio seguente. Crea un file chiamato ' for_example.sh ' e aggiungi il seguente script usando for loop. Qui, per loop ripeterà per 10 volte e stamperà tutti i valori della variabile, contatore in una riga singola.

#! / bin / bash
per ( ( counter = 10 ; counter > 0 ; counter-- ) )
do
echo -n " $ counter "
done
printf " \ n "

Esegui il file con il comando bash.

bash for_example.sh

Immagine

Ottieni input utente:
Il comando ' read ' è usato per prendere l'input dell'utente in bash. Creare un file denominato " user_input.sh " e aggiungere il seguente script per ricevere input dall'utente. Qui, un valore di stringa verrà preso dall'utente e visualizzerà il valore combinando l'altro valore di stringa.

#! / bin / bash
echo "Inserisci il tuo nome"
leggi nome
echo "Benvenuto $ name in LinuxHint"

Esegui il file con il comando bash.

bash user_input.sh

Immagine

Utilizzo dell'istruzione if:
È possibile utilizzare if condizione con condizioni singole o multiple. Il blocco iniziale e finale di questa istruzione è definito da 'if' e 'fi' . Crea un file chiamato ' simple_if.sh ' con il seguente script per conoscere l'uso dell'istruzione if in bash. Qui, 10 è assegnato alla variabile, n . se il valore di $ n è inferiore a 10, l'output sarà " È un numero di una cifra ", altrimenti l'output sarà " È un numero di due cifre ". Per confronto, qui viene usato '-lt' . Per fare un confronto, puoi anche usare '-eq' per l' uguaglianza , '-ne'per non uguaglianza e '-gt' per maggiore che nello script bash.

#! / bin / bash
n = 10
se $ n -lt 10 ] ;
then
echo "È un numero di una cifra"
else
echo "È un numero di due cifre"
fi

Esegui il file con il comando bash.

bash simple_if.sh

Immagine

Usando l'istruzione if con la logica AND:
È possibile utilizzare diversi tipi di condizioni logiche in un'istruzione if con due o più condizioni. Come è possibile definire più condizioni in se l'istruzione usando la logica AND è mostrata nell'esempio seguente. '&&' è usato per applicare la logica AND dell'istruzione if . Creare un file denominato "if_with_AND.sh" per verificare il codice seguente. Qui, il valore delle variabili nome utente e password verrà preso dall'utente e confrontato con ' admin ' e ' secret '. Se entrambi i valori corrispondono, l'output sarà " utente valido ", altrimenti l'output sarà " utente non valido ".

! / bin / bash

echo "Inserisci nome utente"
leggi nome utente
echo "Inserisci password"
leggi password

se [ [ (( $ username == "admin" && $ password == "secret" ) ] ] ; quindi
echo "utente valido"
altrimenti
echo "utente non valido"
fi

Esegui il file con il comando bash.

bash if_with_AND.sh

Immagine

Utilizzo dell'istruzione if con logica OR:
|| 'è usato per definire la logica OR in if condition. Creare un file denominato "if_with_OR.sh" con il seguente codice per verificare l'uso della logica OR dell'istruzione if . Qui, il valore di n verrà preso dall'utente. Se il valore è uguale a 15 o 45, l'output sarà " Hai vinto la partita ", altrimenti l'output sarà " Hai perso la partita ".

#! / bin / bash

echo "Inserisci un numero qualsiasi"
leggi n

if [ [ (( $ n -eq 15 || $ n   -eq 45 ) ] ]
quindi
echo "Hai vinto il gioco"
altrimenti
echo "Hai perso il gioco"
fi

Esegui il file con il comando bash.

bash if_with_OR.sh

Immagine

Usando altro if:
L'uso di else if condition è leggermente diverso in bash rispetto ad altri linguaggi di programmazione. ' elif ' è usato per definire altro se la condizione in bash. Crea un file chiamato " elseif_example.sh " e aggiungi il seguente script per verificare in che altro modo se è definito nello script bash.

#! / bin / bash

echo "Inserisci il tuo numero fortunato"
leggi n

se $ n -eq 101 ] ;
quindi
echo "Hai ottenuto il 1 ° premio"
elif $ n -eq 510 ] ;
quindi
echo "Hai ottenuto il 2 ° premio"
elif $ n -eq 999 ] ;
quindi
echo "Hai ottenuto il 3 ° premio"

altrimenti
echo "Scusa, prova per la prossima volta"
fi

Esegui il file con il comando bash.

bash elseif_example.sh

Immagine

Utilizzando l'istruzione case:
L' istruzione case viene utilizzata come alternativa all'istruzione if-elseif-else . Il blocco iniziale e finale di questa istruzione è definito da ' case ' ed ' esac '. Crea un nuovo file chiamato " case_example.sh " e aggiungi il seguente script. L'output del seguente script sarà lo stesso del precedente , se esempio.

#! / bin / bash

echo "Inserisci il tuo numero fortunato"
leggi n
caso $ n in
101 )
echo echo "Hai ottenuto il 1 ° premio" ;;
510 )
echo "Hai ottenuto il 2 ° premio" ;;
999 )
echo "Hai ottenuto il 3 ° premio" ;;
* )
echo "Scusa, prova per la prossima volta" ;;
esac

Esegui il file con il comando bash.

bash case_example.sh

Immagine

Ottieni argomenti dalla riga di comando:
Lo script Bash può leggere l'input dall'argomento della riga di comando come un altro linguaggio di programmazione. Ad esempio, le variabili $ 1 e $ 2 vengono utilizzate per leggere gli argomenti della prima e della seconda riga di comando. Creare un file denominato " command_line.sh " e aggiungere il seguente script. Due valori di argomento letti dallo script seguente e stampa il numero totale di argomenti e i valori degli argomenti come output.

#! / bin / bash
echo "Argomenti totali: $ #"
echo "1 ° argomento = $ 1"
echo "2 ° argomento = $ 2"

Esegui il file con il comando bash.

bash command_line.sh Suggerimento Linux

Immagine

Ottieni argomenti dalla riga di comando con nomi:
Come leggere gli argomenti della riga di comando con i nomi è mostrato nel seguente script. Crea un file chiamato " command_line_names.sh" e aggiungi il seguente codice. Qui, due argomenti, X e Y vengono letti da questo script e stampano la somma di X e Y.

#! / bin / bash
per arg in "$ @"
fa
index = $ ( echo $ arg cut -f1 -d = )
val = $ ( echo $ arg cut -f2 -d = )
case $ index in
X ) x = $ val ;;

Y ) y = $ val ;;

* )
esac
done
( ( risultato = x + y ) )
echo "X + Y = $ risultato "

Esegui il file con il comando bash e con due argomenti della riga di comando.

bash command_line_names X = 45 Y = 30

Immagine

Combina variabili stringa:
Puoi facilmente combinare le variabili stringa in bash. Crea un file chiamato " string_combine.sh " e aggiungi il seguente script per verificare come puoi combinare le variabili stringa in bash mettendo insieme le variabili o usando l' operatore '+' .

#! / bin / bash

string1 = "Linux"
string2 = "Hint"
echo " $ stringa1 $ string2 "
string3 = $ stringa1 + $ string2
string3 + = "è un buon tutorial blog"
echo $ string3

Esegui il file con il comando bash.

bash string_combine.sh

Immagine

Ottieni sottostringa di String:
Come altri linguaggi di programmazione, bash non ha una funzione integrata per tagliare il valore da qualsiasi dato stringa. Ma puoi fare il compito di sottostringa in un altro modo in bash che è mostrato nel seguente script. Per testare lo script, crea un file chiamato ' substring_example.sh ' con il seguente codice. Qui, il valore 6 indica il punto iniziale da cui inizierà la sottostringa e 5 indica la lunghezza della sottostringa.

#! / bin / bash
Str = "Impara Linux da LinuxHint"
subStr = $ {Str: 6: 5}
echo $ subStr

Esegui il file con il comando bash.

bash substring_example.sh

Immagine

Aggiungi due numeri:
Puoi eseguire le operazioni aritmetiche in bash in diversi modi. Come è possibile aggiungere due numeri interi in bash usando le doppie parentesi è mostrato nel seguente script. Creare un file denominato " add_numbers.sh " con il seguente codice. Due valori interi verranno presi dall'utente e stampati il risultato dell'aggiunta.

#! / bin / bash
echo "Inserisci il primo numero"
leggi x
echo "Inserisci il secondo numero"
leggi y
( ( sum = x + y ) )
echo "Il risultato dell'aggiunta = $ sum "

Esegui il file con il comando bash.

bash add_numbers.sh

Immagine

Crea funzione:
Come è possibile creare una semplice funzione e chiamare la funzione è mostrato nel seguente script. Crea un file chiamato " function_example.sh " e aggiungi il seguente codice. Puoi chiamare qualsiasi funzione solo per nome senza usare alcuna parentesi nello script bash.

#! / bin /
funzione bash F1 ( )
{
echo 'Mi piace la programmazione bash'
}

F1

Esegui il file con il comando bash.

bash function_example.sh

Immagine

Crea funzione con parametri:
Bash non può dichiarare il parametro o gli argomenti della funzione al momento della dichiarazione della funzione. Ma puoi usare i parametri in funzione usando un'altra variabile. Se al momento della chiamata della funzione vengono passati due valori, per la lettura dei valori vengono utilizzati la variabile $ 1 e $ 2. Crea un file chiamato ' function | _parameter.sh ' e aggiungi il seguente codice. Qui, la funzione ' Rectangle_Area' calcolerà l'area di un rettangolo in base ai valori dei parametri.

#! / bin / bash

Rectangle_Area ( ) {
area = $ ( ( $ 1 * $ 2 ) )
echo "L'area è: $ area "
}

Rectangle_Area 10 20

Esegui il file con il comando bash.

bash function_parameter.sh

Immagine

Passa valore di ritorno dalla funzione:
La funzione Bash può trasmettere sia valori numerici che stringa. L'esempio seguente mostra come passare un valore stringa dalla funzione. Creare un file denominato " function_return.sh " e aggiungere il seguente codice. La funzione, greeting () restituisce un valore di stringa nella variabile, val che stampa in seguito combinando con altra stringa.

#! / bin / bash
function greeting ( ) {

str = "Ciao, $ name "
echo $ str

}

echo "Inserisci il tuo nome"
leggi nome

val = $ ( saluto )
echo "Il valore di ritorno della funzione è $ val "

Esegui il file con il comando bash.

bash function_return.sh

Immagine

Crea directory:
Bash utilizza il comando ' mkdir ' per creare una nuova directory. Crea un file chiamato ' make_directory.sh ' e aggiungi il seguente codice per prendere un nuovo nome di directory dall'utente. Se il nome della directory non esiste nella posizione corrente, verrà creata la directory, altrimenti il programma visualizzerà un errore.

#! / bin / bash
echo "Inserisci il nome di directory"
leggere newdir
 [color=#2060a0]mkdir [/color][color=#a08000]$ newdir [/color]

Esegui il file con il comando bash.

bash make_directory.sh

Immagine

Crea directory controllando l'esistenza:
Se si desidera verificare l'esistenza della directory nella posizione corrente prima di eseguire il comando ' mkdir ', è possibile utilizzare il seguente codice. L' opzione '-d ' viene utilizzata per verificare l'esistenza o meno di una directory specifica. Creare un file denominato " directory_exist.sh" e aggiungere il seguente codice per creare una directory verificando l'esistenza.

#! / bin / bash
echo "Inserisci il nome di directory"
leggere ndir
se [ -d " $ NDIR " ]
poi
echo "Directory esiste"
altro
 [color=#2060a0]mkdir [/color][color=#a08000]$ NDIR [/color]
echo "Directory creato"
fi

Esegui il file con il comando bash.

bash directory_exist.sh

Immagine

Leggi un file:
Puoi leggere qualsiasi file riga per riga in bash usando loop. Creare un file denominato " read_file.sh " e aggiungere il codice seguente per leggere un file esistente denominato " book.txt ".

#! / bin / bash
file = 'book.txt'
durante la lettura della riga; fare
eco linea $
fatto $ file

Esegui il file con il comando bash.

bash read_file.sh

Eseguire il comando seguente per verificare il contenuto originale del file ' book.txt '.

cat book.txt

Immagine

Elimina un file:
Il comando ' rm ' è usato in bash per rimuovere qualsiasi file. Crea un file chiamato ' delete_file.sh ' con il seguente codice per prendere il nome file dall'utente e rimuoverlo. Qui, l' opzione '-i' viene utilizzata per ottenere l'autorizzazione dall'utente prima di rimuovere il file.

#! / bin / bash
echo "Inserisci il nome file per rimuovere"
leggi fn
rm -i $ fn

Esegui il file con il comando bash.

ls
bash delete_file.sh
ls

Immagine

Aggiungi al file:
Nuovi dati possono essere aggiunti in qualsiasi file esistente usando l' operatore '>>' in bash. Crea un file chiamato 'append_file.sh ' e aggiungi il seguente codice per aggiungere nuovo contenuto alla fine del file. Qui, " Learning Laravel 5 " verrà aggiunto al file " book.txt" dopo aver eseguito lo script.

#! / bin / bash

echo "Prima di aggiungere il file"
cat book.txt

echo "Imparare Laravel 5" >> book.txt
echo "Dopo aver aggiunto il file"
cat book.txt

Esegui il file con il comando bash.

bash append_file.sh

Immagine

Verifica se il file esiste:
Puoi controllare l'esistenza del file in bash usando l' opzione '-e' o '-f' . L' opzione '-f' viene utilizzata nel seguente script per verificare l'esistenza del file. Crea un file chiamato " file_exist.sh " e aggiungi il seguente codice. Qui, il nome file passerà dalla riga di comando.

#! / bin / bash
nomefile = $ 1
se [ -f " $ nomefile " ] ; allora
echo "Il file esiste"
altrimenti
echo "Il file non esiste"
fi

Esegui i seguenti comandi per verificare l'esistenza del file. Qui, esiste il file book.txt e  book2.txt non esiste nella posizione corrente.

ls
bash file_exist.sh book.txt
bash file_exist.sh book2.txt

Immagine

Invia una email:
Puoi inviare e-mail usando il comando ' mail ' o ' sendmail '. Prima di utilizzare questi comandi, è necessario installare tutti i pacchetti necessari. Crea un file chiamato " mail_example.sh " e aggiungi il seguente codice per inviare l'e-mail.

#! / bin / bash
destinatario =”admin @ example.com”
Subject =”Saluto”
Messaggio =”Benvenuti nel nostro sito”
 posta -s [color=#a08000]$ Soggetto [/color][color=#a08000]$ destinatario [/color]<<< [color=#a08000]$ messaggio [/color]

Esegui il file con il comando bash.

bash mail_example.sh

Immagine

Ottieni la data attuale di analisi:
È possibile ottenere l'attuale data di sistema e il valore di tempo con  [b][b]data[/b][/b] comando. Ogni parte del valore di data e ora può essere analizzata usando ' Y', 'm', 'd', 'H', 'M' e ' S' . Crea un nuovo file chiamato ' date_parse.sh' e aggiungi il seguente codice per separare i valori di giorno, mese, anno, ora, minuto e secondo.

#! / bin / bash
anno =  [color=#2060a0]data[/color] + % Y 
mese =  [color=#2060a0]data[/color] + % m 
Giorno =  [color=#2060a0]data[/color] + % d 
ore =  [color=#2060a0]data[/color] + % H 
Minute =  [color=#2060a0]data[/color] + % M 
Secondo =  [color=#2060a0]data[/color] + % S 
eco  [color=#2060a0]data [/color]
echo "data corrente è:$ Giorno - $ Mese - $ Anno "
eco " L'ora corrente è: $ Ora : $ Minuti : $ Secondo "

Esegui il file con il comando bash.

bash date_parse.sh

Immagine

Attendi comando:
wait   è un comando integrato di Linux che attende il completamento di qualsiasi processo in esecuzione. Il  comando wait viene utilizzato con un particolare ID processo o ID processo. Se nessun ID processo o ID processo viene fornito con il comando wait, attenderà il completamento di tutti i processi figlio correnti e restituirà lo stato di uscita. Crea un file chiamato ' wait_example.sh' e aggiungi il seguente script.

#! / bin / bash
echo "Attendi comando" &
process_id = $!
wait $ process_id
echo "Uscito con stato $?"

Esegui il file con il comando bash.

bash wait_example.sh

Immagine

Comando del sonno:
Quando si desidera mettere in pausa l'esecuzione di qualsiasi comando per un determinato periodo di tempo, è possibile utilizzare il comando sleep . È possibile impostare la quantità di ritardo in  secondi (s), minuti (m), ore (h) e giorni (d).  Crea un file chiamato 'sleep_example.sh' e aggiungi il seguente script. Questo script attenderà 5 secondi dopo l'esecuzione.

#! / bin / bash

echo “Attendere per 5 secondi”
sonno 5
echo “Completato”

Esegui il file con il comando bash.

bash sleep_example.sh

Immagine

Rispondi