30 Exemple de scripturi Bash

30 Bash Script Examples




Scripturile Bash pot fi utilizate în diverse scopuri, cum ar fi executarea unei comenzi shell, rularea mai multor comenzi împreună, personalizarea sarcinilor administrative, efectuarea automatizării sarcinilor etc. Deci, cunoașterea elementelor de bază ale programării bash este importantă pentru fiecare utilizator Linux. Acest articol vă va ajuta să obțineți ideea de bază despre programarea bash. Majoritatea operațiunilor obișnuite ale scripturilor bash sunt explicate cu exemple foarte simple aici.

Următoarele subiecte de programare bash sunt tratate în acest articol.







  1. Salut Lume
  2. Comanda Echo
  3. Comentarii
  4. Comentariu pe mai multe linii
  5. În timp ce Loop
  6. Pentru Loop
  7. Obțineți introducerea de utilizator
  8. Dacă afirmație
  9. Și condiția if statement
  10. Sau condiția if statement
  11. Altfel dacă și altceva condiție
  12. Starea cazului
  13. Obțineți argumente din linia de comandă
  14. Obțineți argumente din linia de comandă cu nume
  15. Combinați două șiruri într-o variabilă
  16. Obține Substring de șiruri
  17. Adăugați 2 numere într-o variabilă
  18. Creați o funcție
  19. Utilizați parametrii funcției
  20. Treceți valoarea returnată din script
  21. Creați director
  22. Creați director verificând existența
  23. Citiți un fișier
  24. Ștergeți un fișier
  25. Atașați la fișier
  26. Testați dacă fișierul există
  27. Trimiteți un exemplu de e-mail
  28. Obțineți data curentă de analiză
  29. Așteptați comanda
  30. Comandă Sleep

Creați și executați primul program BASH:

Puteți rula script bash de la terminal sau executând orice fișier bash. Rulați următoarea comandă de la terminal pentru a executa o instrucțiune bash foarte simplă. Ieșirea comenzii va fi „ Salut Lume '.



$aruncat 'Salut Lume'



Deschideți orice editor pentru a crea un fișier bash. Aici, nano editorul este folosit pentru a crea fișierul și numele fișierului este setat ca „ First.sh '





$nanoÎn primul rând

Adăugați următorul script bash în fișier și salvați fișierul.

#! / bin / bash
aruncat 'Salut Lume'



Puteți rula fișierul bash în două moduri. O modalitate este prin utilizarea comenzii bash și alta este prin setarea permisiunii de execuție pentru a bash fișierul și a rula fișierul. Ambele moduri sunt prezentate aici.

$bashÎn primul rând

Sau,

$chmoda + x First.sh
$./În primul rând

Mergi sus

Utilizarea comenzii ecou:

Puteți utiliza comanda echo cu diverse opțiuni. Unele opțiuni utile sunt menționate în exemplul următor. Când folosești „ aruncat 'Fără nicio opțiune, apoi se adaugă o linie nouă în mod implicit. „-N” opțiunea este utilizată pentru a imprima orice text fără linie nouă și '-Și' opțiunea este utilizată pentru a elimina caracterele bare oblice din ieșire. Creați un nou fișier bash cu un nume, „ echo_example.sh ’Și adăugați următorul script.

#! / bin / bash
aruncat „Tipărirea textului cu linie nouă”
aruncat -n „Tipărirea textului fără linie nouă”
aruncat -Și ' nSe elimină tbackslash tpersonaje n'

Rulați fișierul cu comanda bash.

$bashecho_example.sh

Mergi sus

Utilizarea comentariului:

„#” simbolul este folosit pentru a adăuga un singur comentariu de linie în scriptul bash. Creați un fișier nou numit „ comentariu_exemplu.sh ” și adăugați următorul script cu comentariu pe o singură linie.

#! / bin / bash

# Adăugați două valori numerice
((sumă=25+35))

#Printați rezultatul
aruncat suma $

Rulați fișierul cu comanda bash.

$bashcomentariu_exemplu.sh

Mergi sus

Utilizarea comentariului pe mai multe linii:

Puteți utiliza comentariile pe mai multe linii în bash în diferite moduri. O modalitate simplă este prezentată în exemplul următor. Creați un nou bash numit, „Multiline-comment.sh” și adăugați următorul script. Aici, „:” și ' simbolurile sunt folosite pentru a adăuga comentarii pe mai multe linii în scriptul bash. Acest script următor va calcula pătratul de 5.

#! / bin / bash
:'
Următorul script se calculează
valoarea pătrată a numărului, 5.
'

((zonă=5*5))
aruncat zona $

Rulați fișierul cu comanda bash.

$bashcomentariu multiliniu.sh

Puteți verifica următorul link pentru a afla mai multe despre utilizarea comentariului bash.

https://linuxhint.com/bash_comments/

Mergi sus

Utilizarea While Loop:

Creați un fișier bash cu numele, „While_example.sh”, să cunoască folosirea in timp ce buclă. În exemplu, in timp ce bucla va itera pentru 5 ori. Valoarea a numara variabila va crește cu 1 în fiecare pas. Când valoarea de numara variabila va 5 apoi in timp ce bucla se va termina.

#! / bin / bash
valabil=Adevărat
numara=1
in timp ce [ $ valabil ]
do
aruncat $ conta
dacă [ $ conta -eq 5 ];
atunci
pauză
fi
((numără ++))
Terminat

Rulați fișierul cu comanda bash.

$bashwhile_example.sh

Puteți verifica următorul link pentru a afla mai multe despre utilizarea buclei while.

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

Mergi sus

Utilizarea pentru buclă:

Baza pentru declarația buclei este prezentată în exemplul următor. Creați un fișier numit „ for_example.sh 'Și adăugați următorul script folosind pentru buclă. Aici, pentru bucla va itera pentru 10 ori și tipăriți toate valorile variabilei, tejghea într-o singură linie.

#! / bin / bash
pentru (( tejghea=10; tejghea>0; tejghea--))
do
aruncat -n '$ contor'
Terminat
printf ' n'

Rulați fișierul cu comanda bash.

$bashfor_example.sh

Puteți utiliza bucla pentru diferite scopuri și moduri în scriptul bash. Puteți verifica linkul următor pentru a afla mai multe despre utilizarea buclei for.

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

Mergi sus

Obțineți introducerea utilizatorului:

' citit 'Comanda este utilizată pentru a prelua datele de la utilizator în bash. Creați un fișier numit „ user_input.sh 'Și adăugați următorul script pentru a primi informații de la utilizator. Aici, o valoare de șir va fi preluată de la utilizator și va afișa valoarea prin combinarea altei valori de șir.

#! / bin / bash
aruncat 'Introdu numele tau'
cititNume
aruncat 'Bine ati venit$ numela LinuxHint '

Rulați fișierul cu comanda bash.

$bashuser_input.sh

Puteți verifica următorul link pentru a afla mai multe despre utilizarea datelor introduse de utilizator.

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

Mergi sus

Folosind declarația if:

Puteți utiliza condiția if cu condiții unice sau multiple. Blocul inițial și final al acestei afirmații este definit de 'dacă' și ‘fi’ . Creați un fișier numit „ simplu_if.sh 'Cu următorul script pentru a cunoaște utilizarea dacă declarație în bash. Aici, 10 este atribuit variabilei, n . dacă valoarea $ n este mai mic de 10, atunci ieșirea va fi Este un număr dintr-o cifră , altfel rezultatul va fi Este un număr din două cifre . Pentru comparație, „-Lt” este folosit aici. Pentru comparație, puteți utiliza și „-Eq” pentru egalitate , '-născut' pentru nu egalitatea și „-Gt” pentru mai mare ca în script bash.

#! / bin / bash
n=10
dacă [ $ n -Lt 10 ];
atunci
aruncat „Este un număr dintr-o cifră”
altceva
aruncat „Este un număr din două cifre”
fi

Rulați fișierul cu comanda bash.

$bashsimplu_if.sh

Mergi sus

Folosind declarația if cu logică ȘI:

Diferite tipuri de condiții logice pot fi utilizate în instrucțiunea if cu două sau mai multe condiții. Cum puteți defini mai multe condiții în instrucțiunea if folosind ȘI logica este prezentată în exemplul următor. „&&” se folosește pentru a aplica ȘI logica de dacă afirmație. Creați un fișier numit „If_with_AND.sh” pentru a verifica următorul cod. Aici, valoarea nume de utilizator și parola variabilele vor fi preluate de la utilizator și comparate cu „ admin ' și ' secret '. Dacă ambele valori se potrivesc, rezultatul va fi utilizator valid , altfel rezultatul va fi Utilizator incorect .

! /a.m/bash

aruncat 'Introduceti numele de utilizator'
cititnume de utilizator
aruncat 'Introdu parola'
cititparola

dacă [[ ( $ nume de utilizator==„administrator” && $ parola=='secret' ) ]];atunci
aruncat „utilizator valid”
altceva
aruncat 'Utilizator incorect'
fi

Rulați fișierul cu comanda bash.

$bashdacă_cu_ȘI.sh

Mergi sus

Folosind instrucțiunea if cu logică OR:

' || 'Este folosit pentru a defini SAU logică în dacă condiție. Creați un fișier numit „If_with_OR.sh” cu următorul cod pentru a verifica utilizarea SAU logica de dacă afirmație. Aici, valoarea n va fi preluat de la utilizator. Dacă valoarea este egală cu cincisprezece sau Patru cinci atunci ieșirea va fi Ai câștigat jocul , altfel rezultatul va fi Ai pierdut jocul .

#! / bin / bash

aruncat „Introduceți orice număr”
cititn

dacă [[ ( $ n -eq cincisprezece || $ n -eq Patru cinci ) ]]
atunci
aruncat „Ai câștigat jocul”
altceva
aruncat „Ai pierdut jocul”
fi

Rulați fișierul cu comanda bash.

$bashdacă_cu_OR.sh

Mergi sus

Folosind instruciunea else if:

Utilizarea altfel dacă condiția este puțin diferită în bash decât în ​​alte limbaje de programare. ‘ elif 'Este folosit pentru a defini altfel dacă stare în bash. Creați un fișier numit „ elseif_example.sh 'Și adăugați următorul script pentru a verifica cum altfel dacă este definit în scriptul bash.

#! / bin / bash

aruncat „Introduceți numărul norocos”
cititn

dacă [ $ n -eq 101 ];
atunci
aruncat „Ai primit premiul 1”
elif [ $ n -eq 510 ];
atunci
aruncat „Ai primit premiul 2”
elif [ $ n -eq 999 ];
atunci
aruncat „Ai primit premiul 3”

altceva
aruncat „Îmi pare rău, încearcă pentru data viitoare”
fi

Rulați fișierul cu comanda bash.

$bashelseif_example.sh

Mergi sus

Utilizarea declarației de caz:

Caz declarația este utilizată ca alternativă a if-elseif-else afirmație. Blocul de început și de sfârșit al acestei afirmații este definit de „ caz ' și ' esac '. Creați un fișier nou numit „ case_example.sh ’Și adăugați următorul script. Rezultatul următorului script va fi același cu cel anterior altfel dacă exemplu.

#! / bin / bash

aruncat „Introduceți numărul norocos”
cititn
caz $ n în
101)
aruncat aruncat „Ai primit premiul 1” ;;
510)
aruncat „Ai primit premiul 2” ;;
999)
aruncat „Ai primit premiul 3” ;;
*)
aruncat „Îmi pare rău, încearcă pentru data viitoare” ;;
esac

Rulați fișierul cu comanda bash.

$bashcase_example.sh

Mergi sus

Obțineți argumente din linia de comandă:

Scriptul Bash poate citi intrările din argumentul liniei de comandă ca și alte limbaje de programare. De exemplu, 1 $ și 2 USD variabile sunt utilizate pentru a citi primul și al doilea argument de linie de comandă. Creați un fișier numit command_line.sh și adăugați următorul script. Două valori de argument citite de următorul script și imprimă numărul total de argumente și valorile argumentului ca ieșire.

#! / bin / bash
aruncat „Total argumente: $ #”
aruncat „Primul argument = 1 USD”
aruncat „Al doilea argument = 2 USD”

Rulați fișierul cu comanda bash.

$bashcommand_line.sh Linux Sugestie

Puteți verifica următorul link pentru a afla mai multe despre utilizarea argumentului liniei de comandă.

https://linuxhint.com/command_line_arguments_bash_script/

Mergi sus

Obțineți argumente din linia de comandă cu nume:

Cum puteți citi argumentele din linia de comandă cu nume este prezentat în următorul script. Creați un fișier numit „ command_line_names.sh ' și adăugați următorul cod. Aici, două argumente, X și ȘI sunt citite de acest script și imprimă suma lui X și Y.

#! / bin / bash
pentrufuriosîn „[email protected]”
do
index= $(aruncat $ arg | a tăia -f1 -d=)
ore= $(aruncat $ arg | a tăia -f2 -d=)
caz $ index în
X) X=$ ore;;

ȘI) și=$ ore;;

*)
esac
Terminat
((rezultat= x + y))
aruncat 'X + Y =$ rezultat'

Rulați fișierul cu comanda bash și cu două argumente de linie de comandă.

$bashcommand_line_namesX=Patru cinci ȘI=30

Mergi sus

Combinați variabilele șirului:

Puteți combina cu ușurință variabilele șirului în bash. Creați un fișier numit string_combine.sh și adăugați următorul script pentru a verifica cum puteți combina variabilele șirului în bash plasând variabile împreună sau folosind „+” operator.

#! / bin / bash

șirul 1=„Linux”
șir2='Aluzie'
aruncat '$ string1$ string2'
șirul 3=$ string1+$ string2
șir3 + =„este un bun site de blog tutorial”
aruncat $ string3

Rulați fișierul cu comanda bash.

$bashstring_combine.sh

Mergi sus

Obțineți șir de șiruri:

Ca și alte limbaje de programare, bash nu are nicio funcție încorporată pentru a reduce valoarea din orice șir de date. Dar puteți efectua sarcina de sub șir într-un alt mod în bash, care este prezentat în scriptul următor. Pentru a testa scriptul, creați un fișier numit „ substring_example.sh ’Cu următorul cod. Aici, valoarea, 6 indică punctul de plecare de unde va începe șirul și 5 indică lungimea șirului.

#! / bin / bash
Str=„Aflați Linux din LinuxHint”
subStr=${Str:6:5}
aruncat $ subStr

Rulați fișierul cu comanda bash.

$bashsubstring_example.sh

Mergi sus

Adăugați două numere:

Puteți face operațiuni aritmetice în bash în diferite moduri. Cum puteți adăuga două numere întregi în bash folosind paranteze duble este prezentat în următorul script. Creați un fișier numit „ add_numbers.sh ’Cu următorul cod. Două valori întregi vor fi luate de la utilizator și vor fi tipărite rezultatul adăugării.

#! / bin / bash
aruncat „Introduceți primul număr”
cititX
aruncat „Introduceți al doilea număr”
cititși
(( sumă= x + y))
aruncat 'Rezultatul adunării =suma $'

Rulați fișierul cu comanda bash.

$bashadd_numbers.sh

Puteți verifica următorul link pentru a afla mai multe despre aritmetica bash.

https://linuxhint.com/bash_arithmetic_operations/

Mergi sus

Funcție de creare:

Modul în care puteți crea o funcție simplă și să apelați funcția este prezentat în următorul script. Creați un fișier numit „ function_example.sh ’Și adăugați următorul cod. Puteți apela orice funcție numai după nume, fără a utiliza orice paranteză în scriptul bash.

#! / bin / bash
funcţieF1()
{
aruncat „Îmi place programarea bash”
}

F1

Rulați fișierul cu comanda bash.

$bashfunction_example.sh

Mergi sus

Creați funcția cu parametri:

Bash nu poate declara parametrii funcției sau argumentele în momentul declarării funcției. Dar puteți utiliza parametrii în funcție utilizând altă variabilă. Dacă sunt trecute două valori în momentul apelării funcției, atunci se utilizează variabile $ 1 și $ 2 pentru citirea valorilor. Creați un fișier numit „ function | _parameter.sh ’Și adăugați următorul cod. Aici, funcția „ Rectangle_Area ' va calcula aria unui dreptunghi pe baza valorilor parametrilor.

#! / bin / bash

Rectangle_Area() {
zonă= $((1 $ * 2 USD))
aruncat „Zona este:zona $'
}

Rectangle_Area10 douăzeci

Rulați fișierul cu comanda bash.

$bashfunction_parameter.sh

Mergi sus

Treceți valoarea returnată din funcție:

Funcția Bash poate transmite atât valori numerice, cât și valori de șir. Cum puteți trece o valoare șir din funcție este prezentat în exemplul următor. Creați un fișier numit „ function_return.sh ’Și adăugați următorul cod. Functia, Salut() returnează o valoare șir în variabilă, ore care tipărește mai târziu prin combinarea cu alte șiruri.

#! / bin / bash
funcţieSalut() {

str='Buna ziua,$ nume'
aruncat $str

}

aruncat 'Introdu numele tau'
cititNume

ore= $(Salut)
aruncat 'Valoarea returnată a funcției este$ ore'

Rulați fișierul cu comanda bash.

$bashfunction_return.sh

Puteți verifica următorul link pentru a afla mai multe despre utilizarea funcției bash.

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

Mergi sus

Creați directorul:

Bash folosește „ mkdir ’Pentru a crea un nou director. Creați un fișier numit „ make_directory.sh 'Și adăugați următorul cod pentru a prelua un nou nume de director de la utilizator. Dacă numele directorului nu există în locația curentă, atunci acesta va crea directorul, altfel programul va afișa erori.

#! / bin / bash
aruncat „Introduceți numele directorului”
cititnewdir
mkdir $ newdir

Rulați fișierul cu comanda bash.

$bashmake_directory.sh

Mergi sus

Creați director verificând existența:

Dacă doriți să verificați existența directorului în locația curentă înainte de a executa „ mkdir ’, Atunci puteți utiliza următorul cod. ‘-D 'Opțiunea este utilizată pentru a testa un anumit director există sau nu. Creați un fișier numit „ director_exist.sh ” și adăugați următorul cod pentru a crea un director verificând existența.

#! / bin / bash
aruncat „Introduceți numele directorului”
cititndr
dacă [ -d '$ ndir' ]
atunci
aruncat „Director există”
altceva
mkdir $ ndir
aruncat „Director creat”
fi

Rulați fișierul cu comanda bash.

$bashdirector_exist.sh

Puteți verifica următorul link pentru a afla mai multe despre crearea de directoare.

https://linuxhint.com/bash_mkdir_not_existent_path/

Mergi sus

Citiți un fișier:

Puteți citi orice fișier linie cu linie în bash folosind bucla. Creați un fișier numit „ read_file.sh Și adăugați următorul cod pentru a citi un fișier existent numit „ book.txt '.

#! / bin / bash
fişier=„book.txt”
in timp ce cititlinia;do
aruncat $ linie
Terminat < $ fișier

Rulați fișierul cu comanda bash.

$bashread_file.sh

Rulați următoarea comandă pentru a verifica conținutul original al „ book.txt ’Fișier.

$pisicăbook.txt

Puteți verifica următorul link pentru a afla diferitele moduri de a citi fișierul.

https://linuxhint.com/read_file_line_by_line_bash/

Mergi sus

Ștergeți un fișier:

' rm 'Comanda este utilizată în bash pentru a elimina orice fișier. Creați un fișier numit „ delete_file.sh 'Cu următorul cod pentru a prelua numele fișierului de la utilizator și a-l elimina. Aici, „-I” opțiunea este utilizată pentru a obține permisiunea utilizatorului înainte de a elimina fișierul.

#! / bin / bash
aruncat „Introduceți numele fișierului pentru a-l elimina”
cititfn
rm -i $ fn

Rulați fișierul cu comanda bash.

$eu sunt
$bashdelete_file.sh
$eu sunt

Mergi sus

Atașați la fișier:

Datele noi pot fi adăugate în orice fișier existent folosind „>>” operator în bash. Creați un fișier numit ‘Append_file.sh ’Și adăugați următorul cod pentru a adăuga conținut nou la sfârșitul fișierului. Aici, ' Învățarea Laravel 5 „Va fi adăugat la„ book.txt ” după executarea scriptului.

#! / bin / bash

aruncat „Înainte de a adăuga fișierul”
pisicăbook.txt

aruncat „Învățarea Laravel 5”>>book.txt
aruncat „După adăugarea fișierului”
pisicăbook.txt

Rulați fișierul cu comanda bash.

$bashappend_file.sh

Mergi sus

Testați dacă fișierul există:

Puteți verifica existența fișierului în bash folosind '-Și' sau „-F” opțiune. „-F” opțiunea este utilizată în următorul script pentru a testa existența fișierului. Creați un fișier numit „ file_exist.sh ’Și adăugați următorul cod. Aici, numele fișierului va trece de pe linia de comandă.

#! / bin / bash
nume de fișier=1 $
dacă [ -f '$ nume de fișier' ];atunci
aruncat 'Fisierul exista'
altceva
aruncat 'Fisierul nu exista'
fi

Rulați următoarele comenzi pentru a verifica existența fișierului. Aici, book.txt fișier există și book2.txt nu există în locația curentă.

$eu sunt
$bashfile_exist.sh book.txt
$bashfile_exist.sh book2.txt

Mergi sus

Trimite email:

Puteți trimite e-mail utilizând „ Poștă 'Sau' sendmail ’Comanda. Înainte de a utiliza aceste comenzi, trebuie să instalați toate pachetele necesare. Creați un fișier numit „ mail_example.sh ’Și adăugați următorul cod pentru a trimite e-mailul.

#! / bin / bash
Destinatar= admin@example.com
Subiect= Salut
Mesaj= Bun venit pe site-ul nostru
Poștă-s $ Subiect $ Destinatar <<< $ Mesaj

Rulați fișierul cu comanda bash.

$bashmail_example.sh

Mergi sus

Obțineți data curentă de analiză:

Puteți obține data și ora curente ale sistemului folosind ` Data `comanda. Fiecare parte a valorii datei și orei poate fi analizată folosind „ Y ',' m ',' d ',' H ',' M ' și ' S ’ . Creați un fișier nou numit „ date_parse.sh ” și adăugați următorul cod pentru a separa valorile de zi, lună, an, oră, minut și secundă.

#! / bin / bash
An=Data+%ȘI
Lună=Data+%m
Zi=Data+%d
Ora=Data+%H
Minut=Data+%M
Al doilea=Data+%S
aruncat Data
aruncat „Data curentă este:$ Ziua-$ Luna-$ An'
aruncat „Ora curentă este:$ Oră:$ Minut:$ Al doilea'

Rulați fișierul cu comanda bash.

$bashdate_parse.sh

Mergi sus

Așteptați comanda:

aștepta este o comandă încorporată a Linux care așteaptă finalizarea oricărui proces de rulare. aștepta comanda este utilizată cu un anumit id de proces sau un ID de job. Dacă nu este dat niciun ID de proces sau ID de job cu comanda de așteptare, acesta va aștepta finalizarea tuturor proceselor secundare curente și va returna starea de ieșire. Creați un fișier numit „ wait_example.sh ” și adăugați următorul script.

#! / bin / bash
aruncat „Așteptați comanda” &
proces_id=$!
aștepta $ proces_id
aruncat „Ați ieșit cu starea $?”

Rulați fișierul cu comanda bash.

$bashwait_example.sh

Puteți verifica următorul link pentru a afla mai multe despre comanda de așteptare.

Așteptați comanda în Linux

Mergi sus

Comandă de somn:

Când doriți să întrerupeți executarea oricărei comenzi pentru o anumită perioadă de timp, atunci puteți utiliza dormi comanda. Puteți seta valoarea întârzierii până la secunde (s), minute (m), ore (h) și zile (d). Creați un fișier numit „Sleep_example.sh” și adăugați următorul script. Acest script va aștepta 5 secunde după rulare.

#! / bin / bash

aruncatAșteptapentru 5secunde
dormi 5
aruncatEfectuat

Rulați fișierul cu comanda bash.

$bashsomn_exemplu.sh

Puteți verifica următorul link pentru a afla mai multe despre comanda de somn.

https://linuxhint.com/sleep_command_linux/

Mergi sus

Sper că, după ce ați citit acest articol, ați primit un concept de bază despre limbajul de scriptare bash și le veți putea aplica pe baza cerințelor dvs.