30 Bash Script -eksempler

30 Bash Script Examples




Bash -scripts kan bruges til forskellige formål, såsom at udføre en shell -kommando, køre flere kommandoer sammen, tilpasse administrative opgaver, udføre opgaveautomatisering osv. Så kendskab til bash programmering er vigtigt for hver Linux -bruger. Denne artikel hjælper dig med at få den grundlæggende idé om bash -programmering. De fleste af de almindelige operationer ved bash scripting forklares med meget enkle eksempler her.

Følgende emner for bash programmering er dækket i denne artikel.







  1. Hej Verden
  2. Ekkokommando
  3. Kommentarer
  4. Kommentar på flere linjer
  5. Mens Loop
  6. Til Loop
  7. Få brugerinput
  8. Hvis erklæring
  9. Og tilstand hvis erklæring
  10. Eller Betingelse hvis erklæring
  11. Ellers hvis og ellers tilstand
  12. Sagens tilstand
  13. Hent argumenter fra kommandolinjen
  14. Hent argumenter fra kommandolinje med navne
  15. Kombiner to strenge i en variabel
  16. Få Substring of Strings
  17. Tilføj 2 tal til en variabel
  18. Opret en funktion
  19. Brug funktionsparametre
  20. Send returværdi fra script
  21. Lav bibliotek
  22. Lav bibliotek ved at kontrollere eksistensen
  23. Læs en fil
  24. Slet en fil
  25. Tilføj til fil
  26. Test om filen findes
  27. Send eksempel på e -mail
  28. Hent aktuel dato
  29. Vent kommando
  30. Sleep -kommando

Opret og udfør første BASH -program:

Du kan køre bash -script fra terminalen eller ved at udføre en bash -fil. Kør følgende kommando fra terminalen for at udføre en meget simpel bash -sætning. Udgangen af ​​kommandoen vil være ' Hej Verden '.



$smed ud 'Hej Verden'



Åbn en hvilken som helst editor for at oprette en bash -fil. Her, nano editor bruges til at oprette filen, og filnavn er angivet som ' First.sh ’





$nanoFirst.sh

Tilføj følgende bash -script til filen, og gem filen.

#!/bin/bash
smed ud 'Hej Verden'



Du kan køre bash -fil på to måder. En måde er ved at bruge bash -kommando, og en anden er ved at angive execute -tilladelse til at bash -fil og køre filen. Begge måder er vist her.

$bashFirst.sh

Eller,

$chmoda+x First.sh
$./First.sh

Gå til toppen

Brug af ekkokommando:

Du kan bruge ekkokommando med forskellige muligheder. Nogle nyttige muligheder er nævnt i det følgende eksempel. Når du bruger ‘ smed ud '-Kommando uden mulighed, tilføjes der som standard en ny linje. '-N' indstilling bruges til at udskrive enhver tekst uden ny linje og '-Og' indstilling bruges til at fjerne backslash -tegn fra output. Opret en ny bash -fil med et navn, ' echo_example.sh 'Og tilføj følgende script.

#!/bin/bash
smed ud 'Udskrivning af tekst med ny linje'
smed ud -n 'Udskrivning af tekst uden ny linje'
smed ud -Og ' nFjernelse tomvendt skråstreg ttegn n'

Kør filen med kommandoen bash.

$bashecho_example.sh

Gå til toppen

Brug af kommentar:

'#' symbol bruges til at tilføje kommentar til en enkelt linje i bash script. Opret en ny fil med navnet ' comment_example.sh ’ og tilføj følgende script med kommentar til en enkelt linje.

#!/bin/bash

# Tilføj to numeriske værdier
((sum=25+35))

#Udskriv resultatet
smed ud $ sum

Kør filen med kommandoen bash.

$bashcomment_example.sh

Gå til toppen

Brug af multi-line kommentar:

Du kan bruge flere linjers kommentarer i bash på forskellige måder. En enkel måde er vist i det følgende eksempel. Opret en ny bash ved navn, 'Multiline-comment.sh' og tilføj følgende script. Her, ':' og ' symboler bruges til at tilføje flerlinjes kommentar i bash script. Dette følgende script beregner kvadratet på 5.

#!/bin/bash
:'
Følgende script beregner
kvadratets værdi af tallet, 5.
'

((areal=5*5))
smed ud $ område

Kør filen med kommandoen bash.

$bashmultiline-comment.sh

Du kan kontrollere følgende link for at vide mere om brugen af ​​bash -kommentar.

https://linuxhint.com/bash_comments/

Gå til toppen

Brug af While Loop:

Opret en bash -fil med navnet, 'While_example.sh', at kende brugen af mens sløjfe. I eksemplet, mens loop vil iterere for 5 gange. Værdien af tælle variabel øges med 1 i hvert trin. Når værdien af tælle variabel vil 5 derefter mens loop slutter.

#!/bin/bash
gyldig=sand
tælle=1
mens [ $ gyldig ]
gøre
smed ud $ tæller
hvis [ $ tæller -ækv 5 ];
derefter
pause
være
((tæl ++))
Færdig

Kør filen med kommandoen bash.

$bashmens_eksempel.sh

Du kan kontrollere følgende link for at vide mere om brugen af ​​while loop.

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

Gå til toppen

Brug af For Loop:

Det basale til loop -deklaration er vist i følgende eksempel. Opret en fil med navnet ' for_eksempel.sh 'Og tilføj følgende script vha til sløjfe. Her, til loop vil iterere for 10 gange og udskriv alle værdier af variablen, tæller i en enkelt linje.

#!/bin/bash
til (( tæller=10; tæller>0; tæller--))
gøre
smed ud -n '$ tæller'
Færdig
printf ' n'

Kør filen med kommandoen bash.

$bashfor_eksempel.sh

Du kan bruge til loop til forskellige formål og måder i dit bash script. Du kan kontrollere følgende link for at vide mere om brugen af ​​for loop.

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

Gå til toppen

Få brugerinput:

' Læs 'Kommando bruges til at tage input fra bruger i bash. Opret en fil med navnet ' user_input.sh 'Og tilføj følgende script til at tage input fra brugeren. Her vil en strengværdi blive taget fra brugeren og vise værdien ved at kombinere anden strengværdi.

#!/bin/bash
smed ud 'Indtast dit navn'
Læsnavn
smed ud 'Velkommen$ navntil LinuxHint '

Kør filen med kommandoen bash.

$bashuser_input.sh

Du kan kontrollere følgende link for at vide mere om brugen af ​​brugerinput.

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

Gå til toppen

Brug af if -sætning:

Du kan bruge if -tilstand med enkelte eller flere betingelser. Start- og slutblok for denne erklæring defineres af 'hvis' og 'være' . Opret en fil med navnet ' simple_if.sh 'Med følgende script for at kende brugen hvis udsagn i bash. Her, 10 er tildelt variablen, n . hvis værdien af $ n er mindre end 10, vil output være Det er et etcifret tal , ellers bliver output Det er et tocifret tal . Til sammenligning, '-Lt' bruges her. Til sammenligning kan du også bruge '-Eq' til lighed , '-Født' til ikke ligestilling og '-Gt' til bedre end i bash script.

#!/bin/bash
n=10
hvis [ $ n -lt 10 ];
derefter
smed ud 'Det er et etcifret tal'
andet
smed ud 'Det er et tocifret tal'
være

Kør filen med kommandoen bash.

$bashsimple_if.sh

Gå til toppen

Brug af if -sætning med AND -logik:

Forskellige typer af logiske betingelser kan bruges i if -sætning med to eller flere betingelser. Hvordan kan du definere flere betingelser i if -sætning ved hjælp af OG logik er vist i følgende eksempel. '&&' bruges til at ansøge OG logik af hvis udmelding. Opret en fil med navnet 'If_with_AND.sh' for at kontrollere følgende kode. Her er værdien af brugernavn og adgangskode variabler vil blive taget fra brugeren og sammenlignet med ' admin 'Og' hemmelighed ’. Hvis begge værdier matcher, vil output være gyldig bruger , ellers bliver output ugyldig bruger .

! /er/bash

smed ud 'Indtast brugernavn'
Læsbrugernavn
smed ud 'Indtast adgangskode'
Læsadgangskode

hvis [[ ( $ brugernavn=='admin' && $ adgangskode=='hemmelighed' ) ]];derefter
smed ud 'gyldig bruger'
andet
smed ud 'ugyldig bruger'
være

Kør filen med kommandoen bash.

$bashhvis_med_AND.sh

Gå til toppen

Brug af if -sætning med OR -logik:

' || ’Bruges til at definere ELLER logik ind hvis tilstand. Opret en fil med navnet 'If_with_OR.sh' med følgende kode for at kontrollere brugen af ELLER logik af hvis udmelding. Her er værdien af n vil blive taget fra brugeren. Hvis værdien er lig med femten eller Fire. Fem så bliver output Du vandt spillet , ellers bliver output Du tabte spillet .

#!/bin/bash

smed ud 'Indtast et vilkårligt nummer'
Læsn

hvis [[ ( $ n -ækv femten || $ n -ækv Fire. Fem ) ]]
derefter
smed ud 'Du vandt spillet'
andet
smed ud 'Du tabte spillet'
være

Kør filen med kommandoen bash.

$bashhvis_med_OR.sh

Gå til toppen

Brug af else if -sætning:

Brugen af ellers hvis tilstand er lidt anderledes i bash end andet programmeringssprog. ' elif ’Bruges til at definere ellers hvis tilstand i bash. Opret en fil med navnet ' elseif_example.sh 'Og tilføj følgende script for at kontrollere, hvordan ellers hvis er defineret i bash script.

#!/bin/bash

smed ud 'Indtast dit lykketal'
Læsn

hvis [ $ n -ækv 101 ];
derefter
smed ud 'Du fik 1. præmie'
elif [ $ n -ækv 510 ];
derefter
smed ud 'Du fik 2. præmie'
elif [ $ n -ækv 999 ];
derefter
smed ud 'Du fik 3. præmie'

andet
smed ud 'Undskyld, prøv til næste gang'
være

Kør filen med kommandoen bash.

$bashelseif_example.sh

Gå til toppen

Brug af sagserklæring:

Sag udsagn bruges som alternativ til hvis-elseif-else udmelding. Start- og slutblokken for denne erklæring er defineret af ' sag 'Og' esac ’. Opret en ny fil med navnet ' case_example.sh 'Og tilføj følgende script. Outputtet af det følgende script vil være det samme som det forrige ellers hvis eksempel.

#!/bin/bash

smed ud 'Indtast dit lykketal'
Læsn
sag $ n i
101)
smed ud smed ud 'Du fik 1. præmie' ;;
510)
smed ud 'Du fik 2. præmie' ;;
999)
smed ud 'Du fik 3. præmie' ;;
*)
smed ud 'Undskyld, prøv til næste gang' ;;
esac

Kør filen med kommandoen bash.

$bashcase_example.sh

Gå til toppen

Hent argumenter fra kommandolinjen:

Bash -script kan læse input fra kommandolinjeargument som et andet programmeringssprog. For eksempel, $ 1 og $ 2 variabel bruges til at læse første og anden kommandolinjeargument. Opret en fil med navnet command_line.sh og tilføj følgende script. To argumentværdier læses af følgende script og udskriver det samlede antal argumenter og argumentværdierne som output.

#!/bin/bash
smed ud 'Samlede argumenter: $#'
smed ud '1. argument = $ 1'
smed ud '2. argument = $ 2'

Kør filen med kommandoen bash.

$bashcommand_line.sh Linux tip

Du kan kontrollere følgende link for at vide mere om brugen af ​​kommandolinjeargument.

https://linuxhint.com/command_line_arguments_bash_script/

Gå til toppen

Få argumenter fra kommandolinjen med navne:

Hvordan du kan læse kommandolinjeargumenter med navne, vises i det følgende script. Opret en fil med navnet ' command_line_names.sh ’ og tilføj følgende kode. Her to argumenter, x og OG læses af dette script og udskriver summen af ​​X og Y.

#!/bin/bash
tilvredi '[email protected]'
gøre
indeks= $(smed ud $ arg | skære -f1 -d=)
timer= $(smed ud $ arg | skære -f2 -d=)
sag $ indeks i
x) x=$ timer;;

OG) og=$ timer;;

*)
esac
Færdig
((resultat= x + y))
smed ud 'X + Y =$ resultat'

Kør filen med bash -kommando og med to kommandolinjeargumenter.

$bashcommand_line_namesx=Fire. Fem OG=30

Gå til toppen

Kombiner strengvariabler:

Du kan nemt kombinere strengvariabler i bash. Opret en fil med navnet string_combine.sh og tilføj følgende script for at kontrollere, hvordan du kan kombinere strengvariabler i bash ved at placere variabler sammen eller bruge '+' operatør.

#!/bin/bash

streng 1='Linux'
streng2='Antydning'
smed ud '$ streng1$ string2'
streng3=$ streng1+$ string2
string3+='er en god tutorial blog site'
smed ud $ string3

Kør filen med kommandoen bash.

$bashstring_combine.sh

Gå til toppen

Hent understring af String:

Ligesom andre programmeringssprog har bash ingen indbygget funktion til at skære værdi fra strengen data. Men du kan udføre opgaven med understring på en anden måde i bash, der er vist i det følgende script. For at teste scriptet skal du oprette en fil med navnet ' substring_eksempel.sh 'Med følgende kode. Her er værdien, 6 angiver udgangspunktet, hvorfra understrengen starter og 5 angiver længden af ​​delstrengen.

#!/bin/bash
Str='Lær Linux fra LinuxHint'
subStr=$ {Str: 6: 5}
smed ud $ subStr

Kør filen med kommandoen bash.

$bashsubstring_eksempel.sh

Gå til toppen

Tilføj to tal:

Du kan udføre de aritmetiske operationer i bash på forskellige måder. Hvordan du kan tilføje to heltal i bash ved hjælp af dobbelte parenteser er vist i det følgende script. Opret en fil med navnet ' tilføj_numre.sh 'Med følgende kode. To heltalsværdier tages fra brugeren og udskrives resultatet af tilføjelse.

#!/bin/bash
smed ud 'Indtast første nummer'
Læsx
smed ud 'Indtast andet nummer'
Læsog
(( sum= x + y))
smed ud 'Resultatet af tilføjelse =$ sum'

Kør filen med kommandoen bash.

$bashtilføj_numre.sh

Du kan kontrollere følgende link for at vide mere om bash aritmetik.

https://linuxhint.com/bash_arithmetic_operations/

Gå til toppen

Opret funktion:

Hvordan du kan oprette en simpel funktion og kalde funktionen, er vist i følgende script. Opret en fil med navnet ' function_example.sh 'Og tilføj følgende kode. Du kan kun kalde enhver funktion ved navn uden at bruge en parentes i bash script.

#!/bin/bash
fungereF1()
{
smed ud 'Jeg kan godt lide bash programmering'
}

F1

Kør filen med kommandoen bash.

$bashfunction_example.sh

Gå til toppen

Opret funktion med parametre:

Bash kan ikke erklære funktionsparameter eller argumenter på tidspunktet for funktionsdeklaration. Men du kan bruge parametre i funktion ved at bruge en anden variabel. Hvis to værdier passeres på tidspunktet for funktionskald, bruges $ 1 og $ 2 variabel til at læse værdierne. Opret en fil med navnet ' funktion | _parameter.sh 'Og tilføj følgende kode. Her er funktionen ' Rektangel_område ' vil beregne arealet af et rektangel baseret på parameterværdierne.

#!/bin/bash

Rektangel_område() {
areal= $(($ 1 * $ 2))
smed ud 'Området er:$ område'
}

Rektangel_område10 tyve

Kør filen med kommandoen bash.

$bashfunction_parameter.sh

Gå til toppen

Pass Return -værdi fra funktion:

Bash -funktionen kan overføre både numeriske værdier og strengværdier. Hvordan du kan videregive en strengværdi fra funktionen er vist i følgende eksempel. Opret en fil med navnet ' function_return.sh 'Og tilføj følgende kode. Funktionen, hilsen() returnerer en strengværdi til variablen, timer som udskrives senere ved at kombinere med anden streng.

#!/bin/bash
fungerehilsen() {

s='Hej,$ navn'
smed ud $ str

}

smed ud 'Indtast dit navn'
Læsnavn

timer= $(hilsen)
smed ud 'Funktionens returværdi er$ timer'

Kør filen med kommandoen bash.

$bashfunction_return.sh

Du kan kontrollere følgende link for at vide mere om brugen af ​​bash -funktion.

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

Gå til toppen

Lav bibliotek:

Bash bruger ‘ mkdir 'Kommando for at oprette en ny mappe. Opret en fil med navnet ' make_directory.sh 'Og tilføj følgende kode for at tage et nyt biblioteksnavn fra brugeren. Hvis biblioteksnavnet ikke findes på den aktuelle placering, vil det oprette biblioteket, ellers viser programmet fejl.

#!/bin/bash
smed ud 'Indtast biblioteksnavn'
Læsnewdir
``mkdir $ newdir``

Kør filen med kommandoen bash.

$bashmake_directory.sh

Gå til toppen

Opret bibliotek ved at kontrollere eksistensen:

Hvis du vil kontrollere eksistensen af ​​bibliotek på den aktuelle placering, før du udfører ‘ mkdir 'Kommando, så kan du bruge følgende kode. ’-D 'Bruges til at teste, at en bestemt mappe findes eller ej. Opret en fil med navnet ' directory_exist.sh ’ og tilføj følgende kode for at oprette et bibliotek ved at kontrollere eksistensen.

#!/bin/bash
smed ud 'Indtast biblioteksnavn'
Læsndr
hvis [ -d '$ ndir' ]
derefter
smed ud 'Register findes'
andet
``mkdir $ ndir``
smed ud 'Directory oprettet'
være

Kør filen med kommandoen bash.

$bashbibliotek_eksist.sh

Du kan kontrollere følgende link for at vide mere om oprettelse af biblioteker.

https://linuxhint.com/bash_mkdir_not_existent_path/

Gå til toppen

Læs en fil:

Du kan læse enhver fil linje for linje i bash ved hjælp af loop. Opret en fil med navnet ' read_file.sh 'Og tilføj følgende kode for at læse en eksisterende fil med navnet' bog.txt '.

#!/bin/bash
fil='book.txt'
mens Læslinje;gøre
smed ud $ linje
Færdig < $ fil

Kør filen med kommandoen bash.

$bashread_file.sh

Kør følgende kommando for at kontrollere det originale indhold af ' bog.txt ’Fil.

$katbog.txt

Du kan kontrollere følgende link for at kende de forskellige måder at læse fil på.

https://linuxhint.com/read_file_line_by_line_bash/

Gå til toppen

Slet en fil:

' rm 'Kommando bruges i bash til at fjerne enhver fil. Opret en fil med navnet ' delete_file.sh 'Med følgende kode for at tage filnavnet fra brugeren og fjerne. Her, '-jeg' option bruges til at få tilladelse fra brugeren, før filen fjernes.

#!/bin/bash
smed ud 'Indtast filnavn for at fjerne'
Læsfn
rm -jeg $ fn

Kør filen med kommandoen bash.

$ls
$bashdelete_file.sh
$ls

Gå til toppen

Tilføj til fil:

Nye data kan tilføjes til enhver eksisterende fil ved hjælp af '>>' operatør i bash. Opret en fil med navnet ‘Append_file.sh 'Og tilføj følgende kode for at tilføje nyt indhold i slutningen af ​​filen. Her, ' Lær Laravel 5 'Tilføjes ved' book.txt ’ fil efter udførelse af scriptet.

#!/bin/bash

smed ud 'Inden filen tilføjes'
katbog.txt

smed ud 'Lær Laravel 5'>>bog.txt
smed ud 'Efter tilføjelse af filen'
katbog.txt

Kør filen med kommandoen bash.

$bashappend_file.sh

Gå til toppen

Test om filen findes:

Du kan kontrollere eksistensen af ​​fil i bash ved hjælp af '-Og' eller '-F' mulighed. '-F' option bruges i det følgende script til at teste fileksistensen. Opret en fil med navnet ' file_exist.sh 'Og tilføj følgende kode. Her vil filnavnet passere fra kommandolinjen.

#!/bin/bash
filnavn=$ 1
hvis [ -f '$ filnavn' ];derefter
smed ud 'Filen findes'
andet
smed ud 'Filen eksisterer ikke'
være

Kør følgende kommandoer for at kontrollere filens eksistens. Her, bog.txt filen findes og bog2.txt findes ikke på den aktuelle placering.

$ls
$bashfile_exist.sh book.txt
$bashfile_exist.sh book2.txt

Gå til toppen

Send e-mail:

Du kan sende e -mail ved at bruge ' post 'Eller' Send mail ’Kommando. Inden du bruger disse kommandoer, skal du installere alle nødvendige pakker. Opret en fil med navnet ' mail_eksempel.sh 'Og tilføj følgende kode for at sende e -mailen.

#!/bin/bash
Modtager= admin@eksempel.com
Emne= Hilsen
Besked= Velkommen til vores websted
``post-s $ Emne $ Modtager <<< $ Besked``

Kør filen med kommandoen bash.

$bashmail_eksempel.sh

Gå til toppen

Hent aktuel dato:

Du kan få den aktuelle systemdato og klokkeslætværdi ved hjælp af ` dato `kommando. Hver del af dato- og tidsværdi kan analyseres ved hjælp af ' Y ',' m ',' d ',' H ',' M ' og ' S ’ . Opret en ny fil med navnet ' date_parse.sh ’ og tilføj følgende kode til at adskille værdierne dag, måned, år, time, minut og anden.

#!/bin/bash
År=``dato+%OG``
Måned=``dato+%m``
Dag=``dato+%d``
Time=``dato+%H``
Minut=``dato+%M``
Sekund=``dato+%S``
smed ud ``dato``
smed ud 'Aktuel dato er:$ Dag-$ Måned-$ År'
smed ud 'Aktuel tid er:$ Time:$ Minut:$ Andet'

Kør filen med kommandoen bash.

$bashdate_parse.sh

Gå til toppen

Vent kommando:

vente er en indbygget kommando over Linux, der venter på at fuldføre enhver kørende proces. vente kommando bruges med et bestemt proces -id eller job -id. Hvis der ikke gives noget proces -id eller job -id med ventekommando, venter det på, at alle aktuelle underordnede processer er fuldført og returnerer exit -status. Opret en fil med navnet ' wait_example.sh ’ og tilføj følgende script.

#!/bin/bash
smed ud 'Vent kommando' &
proces_id=$!
vente $ proces_id
smed ud 'Forladt med status $?'

Kør filen med kommandoen bash.

$bashwait_example.sh

Du kan kontrollere følgende link for at vide mere om ventekommando.

Vent kommando i Linux

Gå til toppen

Sleep -kommando:

Når du vil stoppe udførelsen af ​​en hvilken som helst kommando i en bestemt periode, kan du bruge den søvn kommando. Du kan indstille forsinkelsesbeløbet med sekunder (r), minutter (m), timer (h) og dage (d). Opret en fil med navnet 'Sleep_example.sh' og tilføj følgende script. Dette script venter i 5 sekunder efter kørsel.

#!/bin/bash

smed udVentetil 5sekunder
søvn 5
smed udAfsluttet

Kør filen med kommandoen bash.

$bashsleep_example.sh

Du kan kontrollere følgende link for at vide mere om søvnkommando.

https://linuxhint.com/sleep_command_linux/

Gå til toppen

Håber, efter at have læst denne artikel har du et grundlæggende koncept om bash scripting sprog, og du vil være i stand til at anvende dem baseret på dine krav.