30 esempi di script Bash

30 Bash Script Examples


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 farti un'idea di base sulla programmazione bash. La maggior parte delle operazioni comuni di scripting bash sono spiegate con esempi molto semplici qui.

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



  1. Ciao mondo
  2. Comando Eco
  3. Commenti
  4. Commento su più righe
  5. Mentre il ciclo
  6. Per il ciclo
  7. Ottieni input utente
  8. Se dichiarazione
  9. E condizione se istruzione
  10. O Condizione se istruzione
  11. Else if e else condizione
  12. Condizioni del caso
  13. Ottieni argomenti dalla riga di comando
  14. Ottieni argomenti dalla riga di comando con i nomi
  15. Combina due stringhe in una variabile
  16. Ottieni sottostringa di stringhe
  17. Aggiungi 2 numeri in una variabile
  18. Crea una funzione
  19. Usa parametri di funzione
  20. Passa valore restituito dallo script
  21. Crea directory
  22. Crea directory controllando l'esistenza
  23. Leggi un file
  24. Elimina un file
  25. Aggiungi al file
  26. Verifica se il file esiste
  27. Invia esempio di e-mail
  28. Ottieni analisi della data corrente
  29. Comando di attesa
  30. Comando di sonno

Crea ed esegui il primo programma BASH:

Puoi eseguire lo script bash dal terminale o eseguendo qualsiasi file bash. Esegui il seguente comando dal terminale per eseguire un'istruzione bash molto semplice. L'output del comando sarà ' Ciao mondo '.



$buttato fuori 'Ciao mondo'



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

$nanoPrimo.sh

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

#!/bin/bash
buttato fuori 'Ciao mondo'



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

$bashPrimo.sh

O,

$chmoda+x Primo.sh
$./Primo.sh

Vai all'inizio

Uso del comando echo:

Puoi usare il comando echo con varie opzioni. Alcune opzioni utili sono menzionate nell'esempio seguente. Quando usi ' buttato fuori ' senza alcuna opzione, viene aggiunta una nuova riga per impostazione predefinita. '-n' l'opzione viene utilizzata per stampare qualsiasi testo senza nuova riga e ‘-e’ l'opzione 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
buttato fuori 'Stampa testo con newline'
buttato fuori -n 'Stampa testo senza newline'
buttato fuori -e ' RimozioneTbarra rovesciataTcaratteri '

Esegui il file con il comando bash.

$bashecho_example.sh

Vai all'inizio

Uso del commento:

'#' il simbolo viene utilizzato per aggiungere un commento a riga singola nello script bash. Crea un nuovo file chiamato ' comment_example.sh' e aggiungi il seguente script con un commento a riga singola.

#!/bin/bash

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

#Stampa il risultato
buttato fuori $somma

Esegui il file con il comando bash.

$bashcomment_example.sh

Vai all'inizio

Uso del commento su più righe:

Puoi usare il commento su più righe in bash in vari modi. Un modo semplice è mostrato nell'esempio seguente. Crea una nuova bash denominata, 'multiline-comment.sh' e aggiungi il seguente script. Qui, ':' e ' i simboli 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.
'

((la zona=5*5))
buttato fuori $area

Esegui il file con il comando bash.

$bashmultiline-comment.sh

Puoi controllare il seguente link per saperne di più sull'uso del commento bash.

https://linuxhint.com/bash_comments/

Vai all'inizio

Utilizzo del ciclo While:

Crea un file bash con il nome, 'while_esempio.sh', conoscere l'uso di mentre ciclo continuo. Nell'esempio, mentre il ciclo itera per 5 volte. Il valore di contare la variabile aumenterà di 1 in ogni passaggio. Quando il valore di contare variabile sarà 5 quindi il mentre il ciclo terminerà.

#!/bin/bash
valido=vero
contare=1
mentre [ $valido ]
fare
buttato fuori $conta
Se [ $conta -eq 5 ];
poi
rottura
essere
((conta++))
fatto

Esegui il file con il comando bash.

$bashwhile_example.sh

Puoi controllare il seguente link per saperne di più sull'uso del ciclo while.

https://linuxhint.com/bash-while-loop-examples/

Vai all'inizio

Utilizzo del ciclo For:

La base per La dichiarazione del ciclo è mostrata nell'esempio seguente. Crea un file chiamato ' for_example.sh ' e aggiungi il seguente script usando per ciclo continuo. Qui, per il ciclo itera per 10 volte e stampa tutti i valori della variabile, contatore a riga singola.

#!/bin/bash
per (( contatore=10; contatore>0; contatore--))
fare
buttato fuori -n '$contatore'
fatto
printf ' '

Esegui il file con il comando bash.

$bashfor_example.sh

Puoi usare il ciclo for per scopi e modi diversi nel tuo script bash. Puoi controllare il seguente link per saperne di più sull'uso del ciclo for.

https://linuxhint.com/bash-for-loop-examples/

Vai all'inizio

Ottieni input utente:

' leggere ' comando viene utilizzato per ricevere input dall'utente in bash. Crea un file chiamato ' user_input.sh ' e aggiungi il seguente script per ricevere input dall'utente. Qui, un valore di stringa verrà preso dall'utente e verrà visualizzato il valore combinando un altro valore di stringa.

#!/bin/bash
buttato fuori 'Inserisci il tuo nome'
leggerenome
buttato fuori 'Accoglienza$nomea LinuxSuggerimento '

Esegui il file con il comando bash.

$bashuser_input.sh

Puoi controllare il seguente link per saperne di più sull'uso dell'input dell'utente.

https://linuxhint.com/bash-script-user-input/

Vai all'inizio

Usando l'istruzione if:

È possibile utilizzare la condizione if con condizioni singole o multiple. Il blocco iniziale e finale di questa istruzione è definito da 'Se' e 'essere' . Crea un file chiamato ' simple_if.sh ' con il seguente script per conoscerne l'uso Se dichiarazione in bash. Qui, 10 è assegnato alla variabile, n . se il valore di $n è inferiore a 10, l'output sarà È un numero a una cifra , altrimenti l'output sarà È un numero a due cifre . Per confronto, '-Lt' è usato qui. Per confronto, puoi anche usare '-eq' per uguaglianza , '-Nato' per non uguaglianza e '-gt' per più grande di nello script bash.

#!/bin/bash
n=10
Se [ $n -lt 10 ];
poi
buttato fuori 'È un numero a una cifra'
altro
buttato fuori 'È un numero a due cifre'
essere

Esegui il file con il comando bash.

$bashsimple_if.sh

Vai all'inizio

Utilizzo dell'istruzione if con logica AND:

Diversi tipi di condizioni logiche possono essere utilizzati nell'istruzione if con due o più condizioni. Come puoi definire più condizioni nell'istruzione if usando E logica è mostrata nell'esempio seguente. '&&' è usato per applicare E logica di Se dichiarazione. Crea un file chiamato 'if_with_AND.sh' per controllare il seguente codice. Qui, il valore di nome utente e parola d'ordine le variabili saranno prese dall'utente e confrontate con ' amministratore ' e ' segreto '. Se entrambi i valori corrispondono, l'output sarà utente valido , altrimenti l'output sarà utente non valido .

!/sono/bash

buttato fuori 'Inserire username'
leggerenome utente
buttato fuori 'Inserire la password'
leggereparola d'ordine

Se [[ ( $nomeutente=='amministratore' && $password=='segreto' ) ]];poi
buttato fuori 'utente valido'
altro
buttato fuori 'utente non valido'
essere

Esegui il file con il comando bash.

$bashif_with_AND.sh

Vai all'inizio

Utilizzo dell'istruzione if con logica OR:

' || 'è usato per definire O logica in Se condizione. Crea un file chiamato 'if_with_OR.sh' con il seguente codice per verificare l'uso di O logica di Se dichiarazione. Qui, il valore di n verrà prelevato dall'utente. Se il valore è uguale a quindici o Quattro cinque allora l'output sarà Hai vinto la partita , altrimenti l'output sarà Hai perso la partita .

#!/bin/bash

buttato fuori 'Inserisci un numero qualsiasi'
leggeren

Se [[ ( $n -eq quindici || $n -eq Quattro cinque ) ]]
poi
buttato fuori 'Hai vinto la partita'
altro
buttato fuori 'Hai perso la partita'
essere

Esegui il file con il comando bash.

$bashif_with_OR.sh

Vai all'inizio

Usando l'istruzione else if:

L'impiego di altrimenti se condizione è leggermente diversa in bash rispetto ad altri linguaggi di programmazione. ' elifa 'è usato per definire altrimenti se condizione in bash. Crea un file chiamato, ' elseif_example.sh ' e aggiungi il seguente script per verificare come altrimenti se è definito nello script bash.

#!/bin/bash

buttato fuori 'Inserisci il tuo numero fortunato'
leggeren

Se [ $n -eq 101 ];
poi
buttato fuori 'Hai vinto il primo premio'
elifa [ $n -eq 510 ];
poi
buttato fuori 'Hai vinto il secondo premio'
elifa [ $n -eq 999 ];
poi
buttato fuori 'Hai ottenuto il 3° premio'

altro
buttato fuori 'Scusa, riprova la prossima volta'
essere

Esegui il file con il comando bash.

$bashelseif_example.sh

Vai all'inizio

Utilizzo della dichiarazione del caso:

Caso l'istruzione è usata come alternativa di if-elseif-else dichiarazione. Il blocco iniziale e finale di questa istruzione è definito da ' Astuccio ' e ' esac '. Crea un nuovo file chiamato, ' caso_esempio.sh ' e aggiungi il seguente script. L'output del seguente script sarà lo stesso del precedente altrimenti se esempio.

#!/bin/bash

buttato fuori 'Inserisci il tuo numero fortunato'
leggeren
Astuccio $n in
101)
buttato fuori buttato fuori 'Hai vinto il primo premio' ;;
510)
buttato fuori 'Hai vinto il secondo premio' ;;
999)
buttato fuori 'Hai ottenuto il 3° premio' ;;
*)
buttato fuori 'Scusa, riprova la prossima volta' ;;
esac

Esegui il file con il comando bash.

$bashcaso_esempio.sh

Vai all'inizio

Ottieni argomenti dalla riga di comando:

Lo script Bash può leggere l'input dall'argomento della riga di comando come altri linguaggi di programmazione. Per esempio, $ 1 e $ 2 vengono utilizzate per leggere gli argomenti della prima e della seconda riga di comando. Crea un file chiamato command_line.sh e aggiungi 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
buttato fuori 'Totale argomenti: $#'
buttato fuori 'Primo argomento = $1'
buttato fuori '2° argomento = $2'

Esegui il file con il comando bash.

$bashcommand_line.sh Linux Suggerimento

Puoi controllare il seguente link per saperne di più sull'uso dell'argomento della riga di comando.

https://linuxhint.com/command_line_arguments_bash_script/

Vai all'inizio

Ottieni argomenti dalla riga di comando con i nomi:

Come puoi leggere gli argomenti della riga di comando con i nomi è mostrato nello script seguente. Crea un file chiamato, ' command_line_names.sh' e aggiungere il seguente codice. Qui, due argomenti, X e E vengono letti da questo script e stampano la somma di X e Y.

#!/bin/bash
perarrabbiatoin '[e-mail protetta]'
fare
indice= $(buttato fuori $ argomento | tagliare -f1 -D=)
ore= $(buttato fuori $ argomento | tagliare -f2 -D=)
Astuccio $indice in
X) X=$ ore;;

E) e=$ ore;;

*)
esac
fatto
((risultato= x + y))
buttato fuori 'X + Y =$risultato'

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

$bashcommand_line_namesX=Quattro cinque E=30

Vai all'inizio

Combina variabili stringa:

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

#!/bin/bash

stringa1='Linux'
stringa2='Suggerimento'
buttato fuori '$stringa1$stringa2'
stringa3=$stringa1+$stringa2
stringa3+='è un buon sito di blog tutorial'
buttato fuori $stringa3

Esegui il file con il comando bash.

$bashstring_combine.sh

Vai all'inizio

Ottieni la sottostringa di String:

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

#!/bin/bash
Str='Impara Linux da LinuxHint'
subStr=$ {Str: 6: 5}
buttato fuori $subStr

Esegui il file con il comando bash.

$bashsottostringa_esempio.sh

Vai all'inizio

Aggiungi due numeri:

Puoi eseguire le operazioni aritmetiche in bash in diversi modi. Come puoi aggiungere due numeri interi in bash usando le doppie parentesi è mostrato nello script seguente. Crea un file chiamato ' add_numbers.sh ' con il seguente codice. Due valori interi verranno presi dall'utente e stampato il risultato dell'addizione.

#!/bin/bash
buttato fuori 'Inserisci il primo numero'
leggereX
buttato fuori 'Inserisci il secondo numero'
leggeree
(( somma= x + y))
buttato fuori 'Il risultato dell'addizione=$somma'

Esegui il file con il comando bash.

$bashadd_numbers.sh

Puoi controllare il seguente link per saperne di più sull'aritmetica bash.

https://linuxhint.com/bash_arithmetic_operations/

Vai all'inizio

Crea funzione:

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

#!/bin/bash
funzioneF1()
{
buttato fuori 'Mi piace la programmazione bash'
}

F1

Esegui il file con il comando bash.

$bashesempio_funzione.sh

Vai all'inizio

Crea funzione con parametri:

Bash non può dichiarare parametri o argomenti della funzione al momento della dichiarazione della funzione. Ma puoi usare i parametri in funzione usando un'altra variabile. Se vengono passati due valori al momento della chiamata della funzione, vengono utilizzate le variabili $1 e $2 per leggere i valori. Crea un file chiamato ' funzione|_parametro.sh ' e aggiungi il seguente codice. Qui, la funzione, ' Rettangolo_Area' calcolerà l'area di un rettangolo in base ai valori dei parametri.

#!/bin/bash

Rectangle_Area() {
la zona= $(($ 1 * $ 2))
buttato fuori 'L'area è:$area'
}

Rectangle_Area10 venti

Esegui il file con il comando bash.

$bashparametro_funzione.sh

Vai all'inizio

Passa valore restituito dalla funzione:

La funzione Bash può passare sia valori numerici che stringa. Come è possibile passare un valore stringa dalla funzione è mostrato nell'esempio seguente. Crea un file chiamato, ' function_return.sh ' e aggiungi il seguente codice. La funzione, saluto() restituisce un valore stringa nella variabile, ore che stampa in seguito combinando con un'altra stringa.

#!/bin/bash
funzionesaluto() {

P='Ciao,$nome'
buttato fuori $ str

}

buttato fuori 'Inserisci il tuo nome'
leggerenome

ore= $(saluto)
buttato fuori 'Il valore di ritorno della funzione è$ ore'

Esegui il file con il comando bash.

$bashfunction_return.sh

Puoi controllare il seguente link per saperne di più sull'uso della funzione bash.

https://linuxhint.com/return-string-bash-functions/

Vai all'inizio

Crea directory:

Bash usa ' mkdir ' comando 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, creerà la directory, altrimenti il ​​programma visualizzerà un errore.

#!/bin/bash
buttato fuori 'Inserisci il nome della directory'
leggerenuova directory
``mkdir $ newdir``

Esegui il file con il comando bash.

$bashmake_directory.sh

Vai all'inizio

Crea directory controllando l'esistenza:

Se si desidera verificare l'esistenza della directory nella posizione corrente prima di eseguire il ' mkdir ' allora puoi usare il seguente codice. '-D ' L'opzione viene utilizzata per verificare che una determinata directory esista o meno. Crea un file chiamato, ' directory_exist.sh' e aggiungi il seguente codice per creare una directory controllando l'esistenza.

#!/bin/bash
buttato fuori 'Inserisci il nome della directory'
leggerendr
Se [ -D '$ndir' ]
poi
buttato fuori 'Directory esistente'
altro
``mkdir $ndir``
buttato fuori 'Cartella creata'
essere

Esegui il file con il comando bash.

$bashdirectory_exist.sh

Puoi controllare il seguente link per saperne di più sulla creazione di directory.

https://linuxhint.com/bash_mkdir_not_existent_path/

Vai all'inizio

Leggi un file:

Puoi leggere qualsiasi file riga per riga in bash usando loop. Crea un file chiamato, ' read_file.sh ' e aggiungi il seguente codice per leggere un file esistente denominato, ' libro.txt '.

#!/bin/bash
file='libro.txt'
mentre leggerelinea;fare
buttato fuori $line
fatto < $file

Esegui il file con il comando bash.

$bashread_file.sh

Esegui il seguente comando per controllare il contenuto originale di ' libro.txt ' file.

$gattolibro.txt

Puoi controllare il seguente link per conoscere i diversi modi di leggere il file.

https://linuxhint.com/read_file_line_by_line_bash/

Vai all'inizio

Elimina un file:

' rm ' viene utilizzato in bash per rimuovere qualsiasi file. Crea un file chiamato ' delete_file.sh ' con il seguente codice per prendere il nome del file dall'utente e rimuoverlo. Qui, '-io' L'opzione viene utilizzata per ottenere l'autorizzazione dall'utente prima di rimuovere il file.

#!/bin/bash
buttato fuori 'Inserisci il nome del file da rimuovere'
leggerefn
rm -io $fn

Esegui il file con il comando bash.

$ls
$bashdelete_file.sh
$ls

Vai all'inizio

Aggiungi al file:

È possibile aggiungere nuovi dati a qualsiasi file esistente utilizzando '>>' operatore in bash. Crea un file chiamato ‘append_file.sh ' e aggiungi il seguente codice per aggiungere nuovi contenuti alla fine del file. Qui, ' Imparare Laravel 5 ' sarà aggiunto al di ' libro.txt' file dopo aver eseguito lo script.

#!/bin/bash

buttato fuori 'Prima di aggiungere il file'
gattolibro.txt

buttato fuori 'Imparare Laravel 5'>>libro.txt
buttato fuori 'Dopo aver aggiunto il file'
gattolibro.txt

Esegui il file con il comando bash.

$bashappend_file.sh

Vai all'inizio

Verifica se il file esiste:

Puoi controllare l'esistenza del file in bash usando ‘-e’ o '-F' opzione. '-F' L'opzione viene utilizzata nello script seguente per verificare l'esistenza del file. Crea un file chiamato, ' file_exist.sh ' e aggiungi il seguente codice. Qui, il nome del file passerà dalla riga di comando.

#!/bin/bash
nome del file=$ 1
Se [ -F '$nomefile' ];poi
buttato fuori 'Il file esiste'
altro
buttato fuori 'Il file non esiste'
essere

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

$ls
$bashfile_exist.sh libro.txt
$bashfile_exist.sh book2.txt

Vai all'inizio

Invia una email:

Puoi inviare e-mail utilizzando ' posta ' o ' inviare una mail ' comando. Prima di usare questi comandi, devi installare tutti i pacchetti necessari. Crea un file chiamato, ' mail_esempio.sh ' e aggiungi il seguente codice per inviare l'e-mail.

#!/bin/bash
Destinatario=amministratore@esempio.com
Soggetto=Saluto
Messaggio=Benvenuto nel nostro sito
``posta-S $Soggetto $destinatario <<< $Messaggio``

Esegui il file con il comando bash.

$bashmail_esempio.sh

Vai all'inizio

Ottieni analisi della data corrente:

Puoi ottenere la data e l'ora del sistema corrente usando ` Data ` 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=``Data+%E``
Mese=``Data+%m``
Giorno=``Data+%D``
Ora=``Data+%h``
Minuto=``Data+%m``
Secondo=``Data+%S``
buttato fuori ``Data``
buttato fuori 'La data attuale è:$giorno-$Mese-$anno'
buttato fuori 'L'ora corrente è:$Ora:$Minuto:$Secondo'

Esegui il file con il comando bash.

$bashdate_parse.sh

Vai all'inizio

Comando di attesa:

aspettare è un comando integrato di Linux che attende il completamento di qualsiasi processo in esecuzione. aspettare comando viene utilizzato con un particolare ID processo o ID lavoro. Se non viene fornito alcun ID processo o ID lavoro 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
buttato fuori 'Attendi comando' &
id_processo=$!
aspettare $process_id
buttato fuori 'Esci con stato $?'

Esegui il file con il comando bash.

$bashwait_example.sh

Puoi controllare il seguente link per saperne di più sul comando wait.

Comando di attesa in Linux

Vai all'inizio

Comando di sonno:

Quando vuoi mettere in pausa l'esecuzione di qualsiasi comando per un periodo di tempo specifico, puoi usare dormire comando. È possibile impostare l'importo del ritardo di secondi (s), minuti (m), ore (h) e giorni (d). Crea un file chiamato 'esempio_sleep.sh' e aggiungi il seguente script. Questo script attenderà 5 secondi dopo l'esecuzione.

#!/bin/bash

buttato fuoriAspettareper 5secondi
dormire 5
buttato fuoriCompletato

Esegui il file con il comando bash.

$bashsleep_example.sh

Puoi controllare il seguente link per saperne di più sul comando di sospensione.

https://linuxhint.com/sleep_command_linux/

Vai all'inizio

Spero che dopo aver letto questo articolo tu abbia un concetto di base sul linguaggio di scripting bash e sarai in grado di applicarli in base alle tue esigenze.