30 Bash Script -eksempler

30 Bash Script Examples




Bash -skript kan brukes til forskjellige formål, for eksempel å kjøre en skallkommando, kjøre flere kommandoer sammen, tilpasse administrative oppgaver, utføre oppgaveautomatisering osv. Så kunnskap om grunnleggende programmering er viktig for hver Linux -bruker. Denne artikkelen vil hjelpe deg med å få den grunnleggende ideen om bash -programmering. De fleste vanlige operasjonene med bash scripting er forklart med veldig enkle eksempler her.

Følgende emner for bash programmering er dekket i denne artikkelen.







  1. Hei Verden
  2. Echo Command
  3. Kommentarer
  4. Kommentar på flere linjer
  5. Mens Loop
  6. For Loop
  7. Få brukerinput
  8. Hvis uttalelse
  9. Og tilstand hvis uttalelse
  10. Eller betingelse hvis uttalelse
  11. Ellers hvis og ellers tilstand
  12. Sakstilstand
  13. Få argumenter fra kommandolinjen
  14. Få argumenter fra kommandolinjen med navn
  15. Kombiner to strenger i en variabel
  16. Få Substring of Strings
  17. Legg til 2 tall i en variabel
  18. Lag en funksjon
  19. Bruk funksjonsparametere
  20. Send returverdien fra skriptet
  21. Lag katalog
  22. Lag katalog ved å kontrollere eksistensen
  23. Les en fil
  24. Slett en fil
  25. Legg til fil
  26. Test om filen finnes
  27. Send e -posteksempel
  28. Få analyser gjeldende dato
  29. Vent kommando
  30. Søvnkommando

Lag og kjør første BASH -program:

Du kan kjøre bash -skript fra terminalen eller ved å kjøre en hvilken som helst bash -fil. Kjør følgende kommando fra terminalen for å utføre en veldig enkel bash -setning. Utdataene fra kommandoen vil være ' Hei Verden '.



$kastet ut 'Hei Verden'



Åpne en hvilken som helst editor for å lage en bash -fil. Her, nano editor brukes til å lage filen og filnavnet er satt til ‘ First.sh ’





$nanoFirst.sh

Legg til følgende bash -skript i filen og lagre filen.

#!/bin/bash
kastet ut 'Hei Verden'



Du kan kjøre bash -fil på to måter. En måte er å bruke bash -kommandoen, og en annen er ved å angi kjøringstillatelse for å bash -filen og kjøre filen. Begge måter er vist her.

$bashFirst.sh

Eller,

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

Gå til toppen

Bruk av ekkokommando:

Du kan bruke ekkokommando med forskjellige alternativer. Noen nyttige alternativer er nevnt i det følgende eksemplet. Når du bruker ‘ kastet ut '-Kommando uten noe alternativ, blir en ny linje lagt til som standard. '-N' alternativet brukes til å skrive ut tekst uten ny linje og '-Og' alternativet brukes til å fjerne backslash -tegn fra utdataene. Lag en ny bash -fil med navnet ' echo_example.sh 'Og legg til følgende skript.

#!/bin/bash
kastet ut 'Skrive ut tekst med ny linje'
kastet ut -n 'Skrive ut tekst uten ny linje'
kastet ut -Og ' nFjerner ttilbakeslag ttegn n'

Kjør filen med bash -kommandoen.

$bashecho_example.sh

Gå til toppen

Bruk av kommentar:

'#' symbolet brukes til å legge til én linje kommentar i bash script. Lag en ny fil med navnet ' comment_example.sh ’ og legg til følgende skript med kommentar på én linje.

#!/bin/bash

# Legg til to numeriske verdier
((sum=25+35))

#Skriv ut resultatet
kastet ut $ sum

Kjør filen med bash -kommandoen.

$bashcomment_example.sh

Gå til toppen

Bruk av flerlinjes kommentar:

Du kan bruke flerlinjekommentar i bash på forskjellige måter. En enkel måte er vist i følgende eksempel. Lag en ny bash med navnet, ‘Multiline-comment.sh’ og legg til følgende skript. Her, ':' og ' symboler brukes til å legge til flerlinjes kommentar i bash script. Dette følgende skriptet beregner kvadratet på 5.

#!/bin/bash
:'
Følgende skript beregner
kvadratverdien av tallet, 5.
'

((område=5*5))
kastet ut $ område

Kjør filen med bash -kommandoen.

$bashmultiline-comment.sh

Du kan sjekke følgende lenke for å vite mer om bruk av bash -kommentar.

https://linuxhint.com/bash_comments/

Gå til toppen

Bruke While Loop:

Lag en bash -fil med navnet, 'While_example.sh', å vite bruken av samtidig som Løkke. I eksemplet, samtidig som loop vil iterere for 5 ganger. Verdien av telle variabelen vil øke med 1 i hvert trinn. Når verdien av telle variabel vil 5 deretter samtidig som loop vil avsluttes.

#!/bin/bash
gyldig=ekte
telle=1
samtidig som [ $ gyldig ]
gjøre
kastet ut $ telle
hvis [ $ telle -ekv 5 ];
deretter
gå i stykker
være
((telle ++))
gjort

Kjør filen med bash -kommandoen.

$bashmens_eksempel.sh

Du kan sjekke følgende lenke for å vite mer om bruk av while loop.

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

Gå til toppen

Bruke For Loop:

Det grunnleggende til sløyfedeklarasjon er vist i følgende eksempel. Lag en fil som heter ‘ for_eksempel.sh 'Og legg til følgende skript ved hjelp av til Løkke. Her, til loop vil iterere for 10 ganger og skriv ut alle verdiene til variabelen, disk på en linje.

#!/bin/bash
til (( disk=10; disk>0; disk--))
gjøre
kastet ut -n '$ teller'
gjort
printf ' n'

Kjør filen med bash -kommandoen.

$bashfor_eksempel.sh

Du kan bruke til loop for forskjellige formål og måter i bash -skriptet ditt. Du kan sjekke følgende lenke for å vite mer om bruken av for loop.

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

Gå til toppen

Få brukerinput:

' lese 'Kommando brukes til å ta input fra bruker i bash. Lag en fil som heter ‘ user_input.sh 'Og legg til følgende skript for å ta innspill fra brukeren. Her vil en strengverdi bli tatt fra brukeren og vise verdien ved å kombinere annen strengverdi.

#!/bin/bash
kastet ut 'Skriv inn navnet ditt'
leseNavn
kastet ut 'Velkommen$ navntil LinuxHint '

Kjør filen med bash -kommandoen.

$bashuser_input.sh

Du kan sjekke følgende lenke for å vite mer om bruk av brukerinngang.

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

Gå til toppen

Bruke if -setning:

Du kan bruke if -tilstanden med enkle eller flere forhold. Start- og sluttblokken for denne setningen defineres med 'hvis' og 'være' . Lag en fil som heter ‘ simple_if.sh 'Med følgende skript for å vite bruken hvis uttalelse i bash. Her, 10 er tilordnet variabelen, n . hvis verdien av $ n er mindre enn 10, vil utgangen være Det er et ett siffer tall , ellers blir utgangen Det er et tosifret tall . Til sammenligning, '-Lt' brukes her. Til sammenligning kan du også bruke '-Eq' til likestilling , '-Født' til ikke likestilling og '-Gt' til større enn i bash script.

#!/bin/bash
n=10
hvis [ $ n -lt 10 ];
deretter
kastet ut 'Det er et ett siffer'
ellers
kastet ut 'Det er et tosifret tall'
være

Kjør filen med bash -kommandoen.

$bashsimple_if.sh

Gå til toppen

Bruke if -setning med AND logikk:

Ulike typer logiske forhold kan brukes i if -setning med to eller flere betingelser. Hvordan du kan definere flere forhold i if -setning ved hjelp av OG logikk er vist i følgende eksempel. '&&' brukes til å søke OG logikken til hvis uttalelse. Lag en fil med navnet ‘If_with_AND.sh’ for å sjekke følgende kode. Her er verdien av brukernavn og passord variabler vil bli tatt fra brukeren og sammenlignet med ' admin 'Og' hemmelig '. Hvis begge verdiene samsvarer, vil utgangen være gyldig bruker , ellers blir utgangen ugyldig bruker .

! /er/bash

kastet ut 'Skriv inn brukernavn'
lesebrukernavn
kastet ut 'Oppgi passord'
lesepassord

hvis [[ ( $ brukernavn=='admin' && $ passord=='hemmelig' ) ]];deretter
kastet ut 'gyldig bruker'
ellers
kastet ut 'ugyldig bruker'
være

Kjør filen med bash -kommandoen.

$bashif_with_AND.sh

Gå til toppen

Bruke if -setning med OR -logikk:

' || ’Brukes til å definere ELLER logikk inn hvis tilstand. Lag en fil med navnet ‘If_with_OR.sh’ med følgende kode for å kontrollere bruken av ELLER logikken til hvis uttalelse. Her er verdien av n vil bli tatt fra brukeren. Hvis verdien er lik femten eller Fire fem da blir utgangen Du vant kampen , ellers blir utgangen Du tapte kampen .

#!/bin/bash

kastet ut 'Skriv inn et hvilket som helst nummer'
lesen

hvis [[ ( $ n -ekv femten || $ n -ekv Fire fem ) ]]
deretter
kastet ut 'Du vant kampen'
ellers
kastet ut 'Du tapte kampen'
være

Kjør filen med bash -kommandoen.

$bashif_with_OR.sh

Gå til toppen

Bruker else if -setning:

Bruken av eller hvis tilstanden er litt annerledes i bash enn annet programmeringsspråk. ' elif ’Brukes til å definere eller hvis tilstand i bash. Lag en fil med navnet ' elseif_example.sh 'Og legg til følgende skript for å sjekke hvordan eller hvis er definert i bash script.

#!/bin/bash

kastet ut 'Skriv inn ditt lykketall'
lesen

hvis [ $ n -ekv 101 ];
deretter
kastet ut 'Du fikk 1. premie'
elif [ $ n -ekv 510 ];
deretter
kastet ut 'Du har 2. premie'
elif [ $ n -ekv 999 ];
deretter
kastet ut 'Du fikk 3. premie'

ellers
kastet ut 'Beklager, prøv til neste gang'
være

Kjør filen med bash -kommandoen.

$bashelseif_example.sh

Gå til toppen

Bruke saksuttalelse:

Sak setning brukes som alternativ til hvis-ellers-annet uttalelse. Start- og sluttblokken til denne setningen er definert av ' sak 'Og' esac '. Lag en ny fil med navnet ' case_example.sh 'Og legg til følgende skript. Utdataene fra det følgende skriptet vil være det samme som det forrige eller hvis eksempel.

#!/bin/bash

kastet ut 'Skriv inn ditt lykketall'
lesen
sak $ n i
101)
kastet ut kastet ut 'Du fikk 1. premie' ;;
510)
kastet ut 'Du har 2. premie' ;;
999)
kastet ut 'Du fikk 3. premie' ;;
*)
kastet ut 'Beklager, prøv til neste gang' ;;
esac

Kjør filen med bash -kommandoen.

$bashcase_example.sh

Gå til toppen

Få argumenter fra kommandolinjen:

Bash -skript kan lese input fra kommandolinjeargument som andre programmeringsspråk. For eksempel, $ 1 og $ 2 variabel brukes til å lese første og andre kommandolinjeargument. Lag en fil med navnet command_line.sh og legg til følgende skript. To argumentverdier leses av følgende script og skriver ut det totale antallet argumenter og argumentverdiene som output.

#!/bin/bash
kastet ut 'Totalt antall argumenter: $#'
kastet ut 'Første argument = $ 1'
kastet ut 'Andre argument = $ 2'

Kjør filen med bash -kommandoen.

$bashcommand_line.sh Linux Hint

Du kan sjekke følgende lenke for å vite mer om bruk av kommandolinjeargument.

https://linuxhint.com/command_line_arguments_bash_script/

Gå til toppen

Få argumenter fra kommandolinjen med navn:

Hvordan du kan lese kommandolinjeargumenter med navn, vises i følgende skript. Lag en fil med navnet ' command_line_names.sh ’ og legg til følgende kode. Her to argumenter, X og OG blir lest av dette manuset og skriver ut summen av X og Y.

#!/bin/bash
tilsinti '[e -postbeskyttet]'
gjøre
indeks= $(kastet ut $ arg | skjære -f1 -d=)
timer= $(kastet ut $ arg | skjære -f2 -d=)
sak $ indeks i
X) x=$ timer;;

OG) og=$ timer;;

*)
esac
gjort
((resultat= x + y))
kastet ut 'X + Y =$ resultat'

Kjør filen med bash -kommandoen og med to kommandolinjeargumenter.

$bashcommand_line_namesX=Fire fem OG=30

Gå til toppen

Kombiner strengvariabler:

Du kan enkelt kombinere strengvariabler i bash. Lag en fil med navnet string_combine.sh og legg til følgende skript for å sjekke hvordan du kan kombinere strengvariabler i bash ved å plassere variabler sammen eller bruke '+' operatør.

#!/bin/bash

streng1='Linux'
streng2='Hint'
kastet ut '$ string1$ string2'
streng3=$ string1+$ string2
string3+='er en god opplæringsbloggside'
kastet ut $ string3

Kjør filen med bash -kommandoen.

$bashstring_combine.sh

Gå til toppen

Skaff substring av String:

I likhet med andre programmeringsspråk har bash ingen innebygd funksjon for å kutte verdi fra strengen data. Men du kan gjøre oppgaven med delstreng på en annen måte i bash som er vist i det følgende skriptet. For å teste skriptet, opprett en fil med navnet ' substring_example.sh 'Med følgende kode. Her er verdien, 6 indikerer utgangspunktet fra hvor delstrengen vil starte og 5 angir lengden på delstrengen.

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

Kjør filen med bash -kommandoen.

$bashsubstring_example.sh

Gå til toppen

Legg til to tall:

Du kan utføre de aritmetiske operasjonene på forskjellige måter. Hvordan du kan legge til to heltall i bash ved hjelp av doble parenteser, er vist i følgende skript. Lag en fil som heter ‘ add_numbers.sh 'Med følgende kode. To heltallsverdier blir tatt fra brukeren og skrevet ut resultatet av tillegg.

#!/bin/bash
kastet ut 'Skriv inn første nummer'
lesex
kastet ut 'Skriv inn andre nummer'
leseog
(( sum= x + y))
kastet ut 'Resultatet av tillegg =$ sum'

Kjør filen med bash -kommandoen.

$bashadd_numbers.sh

Du kan sjekke følgende lenke for å vite mer om bash aritmetikk.

https://linuxhint.com/bash_arithmetic_operations/

Gå til toppen

Opprett funksjon:

Hvordan du kan lage en enkel funksjon og kalle funksjonen, er vist i følgende skript. Lag en fil som heter ‘ function_example.sh 'Og legg til følgende kode. Du kan bare kalle hvilken som helst funksjon ved navn uten å bruke en parentes i bash -skript.

#!/bin/bash
funksjonF1()
{
kastet ut 'Jeg liker bash programmering'
}

F1

Kjør filen med bash -kommandoen.

$bashfunction_example.sh

Gå til toppen

Opprett funksjon med parametere:

Bash kan ikke deklarere funksjonsparameter eller argumenter på tidspunktet for funksjonserklæring. Men du kan bruke parametere i funksjon ved å bruke en annen variabel. Hvis to verdier passeres på tidspunktet for funksjonskall, brukes $ 1 og $ 2 variabel for å lese verdiene. Lag en fil som heter ‘ funksjon | _parameter.sh 'Og legg til følgende kode. Her er funksjonen, ' Rektangel_område ' vil beregne arealet til et rektangel basert på parameterverdiene.

#!/bin/bash

Rektangel_område() {
område= $(($ 1 * $ 2))
kastet ut 'Området er:$ område'
}

Rektangel_område10 tjue

Kjør filen med bash -kommandoen.

$bashfunction_parameter.sh

Gå til toppen

Pass retur verdi fra funksjon:

Bash -funksjonen kan passere både numeriske og strengverdier. Hvordan du kan sende en strengverdi fra funksjonen er vist i følgende eksempel. Lag en fil med navnet ' function_return.sh 'Og legg til følgende kode. Funksjonen, hilsen() returnerer en strengverdi til variabelen, timer som skrives ut senere ved å kombinere med en annen streng.

#!/bin/bash
funksjonhilsen() {

s. s='Hallo,$ navn'
kastet ut $ str

}

kastet ut 'Skriv inn navnet ditt'
leseNavn

timer= $(hilsen)
kastet ut 'Returverdi for funksjonen er$ timer'

Kjør filen med bash -kommandoen.

$bashfunction_return.sh

Du kan sjekke følgende lenke for å vite mer om bruk av bash -funksjon.

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

Gå til toppen

Lag katalog:

Bash bruker ‘ mkdir '-Kommando for å opprette en ny katalog. Lag en fil som heter ‘ make_directory.sh ’Og legg til følgende kode for å ta et nytt katalognavn fra brukeren. Hvis katalognavnet ikke eksisterer på gjeldende plassering, vil det opprette katalogen, ellers vil programmet vise feil.

#!/bin/bash
kastet ut 'Skriv inn katalognavn'
lesenewdir
``mkdir $ newdir``

Kjør filen med bash -kommandoen.

$bashmake_directory.sh

Gå til toppen

Lag katalog ved å sjekke eksistens:

Hvis du vil kontrollere eksistensen av katalogen på den nåværende plasseringen før du utfører ‘ mkdir '-Kommandoen, kan du bruke følgende kode. ‘-D 'Alternativet brukes til å teste at en bestemt katalog eksisterer eller ikke. Lag en fil med navnet ' directory_exist.sh ’ og legg til følgende kode for å opprette en katalog ved å kontrollere eksistensen.

#!/bin/bash
kastet ut 'Skriv inn katalognavn'
lesendr
hvis [ -d '$ ndir' ]
deretter
kastet ut 'Katalog eksisterer'
ellers
``mkdir $ ndir``
kastet ut 'Katalog opprettet'
være

Kjør filen med bash -kommandoen.

$bashdirectory_exist.sh

Du kan sjekke følgende lenke for å vite mer om katalogopprettelse.

https://linuxhint.com/bash_mkdir_not_existent_path/

Gå til toppen

Les en fil:

Du kan lese hvilken som helst fil linje for linje i bash ved å bruke loop. Lag en fil med navnet ' read_file.sh 'Og legg til følgende kode for å lese en eksisterende fil med navnet' bok.txt '.

#!/bin/bash
fil='bok.txt'
samtidig som leselinje;gjøre
kastet ut $ linje
gjort < $ fil

Kjør filen med bash -kommandoen.

$bashread_file.sh

Kjør følgende kommando for å sjekke det opprinnelige innholdet i ' bok.txt ’Fil.

$kattbok.txt

Du kan sjekke følgende lenke for å kjenne de forskjellige måtene å lese filen.

https://linuxhint.com/read_file_line_by_line_bash/

Gå til toppen

Slett en fil:

' rm '-Kommandoen brukes i bash for å fjerne filer. Lag en fil som heter ‘ delete_file.sh 'Med følgende kode for å ta filnavnet fra brukeren og fjerne. Her, '-Jeg' alternativet brukes for å få tillatelse fra brukeren før du fjerner filen.

#!/bin/bash
kastet ut 'Skriv inn filnavn for å fjerne'
lesefn
rm -Jeg $ fn

Kjør filen med bash -kommandoen.

$ls
$bashdelete_file.sh
$ls

Gå til toppen

Legg til fil:

Nye data kan legges til i en eksisterende fil ved å bruke '>>' operatør i bash. Lag en fil med navnet ‘Append_file.sh ’Og legg til følgende kode for å legge til nytt innhold på slutten av filen. Her, ' Lære Laravel 5 'Vil bli lagt til ved' book.txt ' filen etter at skriptet er utført.

#!/bin/bash

kastet ut 'Før du legger til filen'
kattbok.txt

kastet ut 'Lær Laravel 5'>>bok.txt
kastet ut 'Etter at filen er lagt til'
kattbok.txt

Kjør filen med bash -kommandoen.

$bashappend_file.sh

Gå til toppen

Test om filen finnes:

Du kan kontrollere eksistensen av filen i bash ved å bruke '-Og' eller '-F' alternativ. '-F' alternativet brukes i det følgende skriptet for å teste fileksistensen. Lag en fil med navnet ' file_exist.sh 'Og legg til følgende kode. Her vil filnavnet passere fra kommandolinjen.

#!/bin/bash
filnavn=$ 1
hvis [ -f '$ filnavn' ];deretter
kastet ut 'Filen eksisterer'
ellers
kastet ut 'Filen eksisterer ikke'
være

Kjør følgende kommandoer for å kontrollere eksistensen av filen. Her, bok.txt filen finnes og bok2.txt finnes ikke på det nåværende stedet.

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

Gå til toppen

Send e-post:

Du kan sende e -post ved å bruke ‘ post 'Eller' sendmail ’Kommando. Før du bruker disse kommandoene, må du installere alle nødvendige pakker. Lag en fil med navnet ' mail_example.sh 'Og legg til følgende kode for å sende e -posten.

#!/bin/bash
Mottaker= admin@example.com
Emne= Hilsen
Beskjed= Velkommen til nettstedet vårt
``post-s $ Emne $ Mottaker <<< $ Melding``

Kjør filen med bash -kommandoen.

$bashmail_example.sh

Gå til toppen

Få analyser gjeldende dato:

Du kan få gjeldende systemdato og klokkeslettverdi ved å bruke ` Dato `kommando. Hver del av dato og klokkeslettverdi kan analyseres ved hjelp av ‘ Y ',' m ',' d ',' H ',' M ' og ' S ’ . Lag en ny fil med navnet ' date_parse.sh ' og legg til følgende kode for å skille verdier for dag, måned, år, time, minutt og sekund.

#!/bin/bash
År=``Dato+%OG``
Måned=``Dato+%m``
Dag=``Dato+%d``
Time=``Dato+%H``
Minutt=``Dato+%M``
Sekund=``Dato+%S``
kastet ut ``Dato``
kastet ut 'Gjeldende dato er:$ Dag-$ Måned-$ År'
kastet ut 'Nåværende tid er:$ Time:$ Minutt:$ Second'

Kjør filen med bash -kommandoen.

$bashdate_parse.sh

Gå til toppen

Vent kommando:

vente er en innebygd kommando for Linux som venter på å fullføre en hvilken som helst kjørende prosess. vente kommandoen brukes med en bestemt prosess -ID eller jobb -ID. Hvis ingen prosess -ID eller jobb -ID er gitt med ventekommando, vil den vente på at alle nåværende underordnede prosesser er fullført og returnerer utgangsstatus. Lag en fil som heter ‘ wait_example.sh ’ og legg til følgende skript.

#!/bin/bash
kastet ut 'Vent kommando' &
prosess_id=$!
vente $ prosess_id
kastet ut 'Avsluttet med status $?'

Kjør filen med bash -kommandoen.

$bashwait_example.sh

Du kan sjekke følgende lenke for å vite mer om ventekommando.

Vent kommando i Linux

Gå til toppen

Søvnkommando:

Når du vil stoppe utførelsen av en hvilken som helst kommando i en bestemt periode, kan du bruke den søvn kommando. Du kan angi forsinkelsesbeløpet med sekunder (r), minutter (m), timer (t) og dager (d). Lag en fil med navnet ‘Sleep_example.sh’ og legg til følgende skript. Dette skriptet vil vente i 5 sekunder etter at det er kjørt.

#!/bin/bash

kastet utVentetil 5sekunder
søvn 5
kastet utFullført

Kjør filen med bash -kommandoen.

$bashsleep_example.sh

Du kan sjekke følgende lenke for å vite mer om søvnkommando.

https://linuxhint.com/sleep_command_linux/

Gå til toppen

Håper, etter å ha lest denne artikkelen har du et grunnleggende konsept om bash scripting språk, og du vil kunne bruke dem basert på dine krav.