30 Bash Script -exempel

30 Bash Script Examples




Bash -skript kan användas för olika ändamål, till exempel att köra ett skalkommando, köra flera kommandon tillsammans, anpassa administrativa uppgifter, utföra uppgiftsautomatisering etc. Så kunskap om grundläggande programmering är viktig för varje Linux -användare. Den här artikeln hjälper dig att få grundtanken om bash programmering. De flesta vanliga operationerna för bash scripting förklaras med mycket enkla exempel här.

Följande ämnen för bash programmering behandlas i denna artikel.







  1. Hej världen
  2. Echo Command
  3. Kommentarer
  4. Flerradig kommentar
  5. Medan Loop
  6. För Loop
  7. Få användarinmatning
  8. If uttalande
  9. Och skick om uttalande
  10. Eller Villkor om uttalande
  11. Annars om och annars skick
  12. Skickets skick
  13. Hämta argument från kommandoraden
  14. Hämta argument från kommandoraden med namn
  15. Kombinera två strängar i en variabel
  16. Skaffa Substring of Strings
  17. Lägg till 2 nummer i en variabel
  18. Skapa en funktion
  19. Använd funktionsparametrar
  20. Skicka returvärde från skript
  21. Skapa katalog
  22. Skapa katalog genom att kontrollera existensen
  23. Läs en fil
  24. Ta bort en fil
  25. Lägg till filen
  26. Testa om filen finns
  27. Skicka e -postexempel
  28. Hämta aktuellt datum
  29. Vänta Kommando
  30. Sömnkommando

Skapa och kör första BASH -programmet:

Du kan köra bash -skript från terminalen eller genom att köra någon bash -fil. Kör följande kommando från terminalen för att köra en mycket enkel bash -sats. Utdata från kommandot kommer att vara ' Hej världen '.



$kastade ut 'Hej världen'



Öppna valfri redigerare för att skapa en bash -fil. Här, nano editor används för att skapa filen och filnamnet är inställt som ' First.sh ’





$nanoFirst.sh

Lägg till följande bash -skript i filen och spara filen.

#!/bin/bash
kastade ut 'Hej världen'



Du kan köra bash -fil på två sätt. Ett sätt är att använda bash -kommandot och ett annat är genom att ställa in execute -behörighet för att bash -filen och köra filen. Båda sätten visas här.

$våldsamt slagFirst.sh

Eller,

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

Gå till toppen

Användning av echo -kommando:

Du kan använda echo -kommandot med olika alternativ. Några användbara alternativ nämns i följande exempel. När du använder ' kastade ut '-Kommando utan något alternativ läggs en ny rad till som standard. '-N' alternativet används för att skriva ut text utan ny rad och '-Och' alternativet används för att ta bort backslash -tecken från utdata. Skapa en ny bash -fil med ett namn, ' echo_example.sh ’Och lägg till följande skript.

#!/bin/bash
kastade ut 'Skriva ut text med ny rad'
kastade ut -n 'Skriva ut text utan ny rad'
kastade ut -Och ' nTa bort tbackslash ttecken n'

Kör filen med kommandot bash.

$våldsamt slagecho_example.sh

Gå till toppen

Användning av kommentar:

'#' symbolen används för att lägga till enradig kommentar i bash -skript. Skapa en ny fil med namnet ' comment_example.sh ’ och lägg till följande skript med enradig kommentar.

#!/bin/bash

# Lägg till två numeriska värden
((belopp=25+35))

#Skriv ut resultatet
kastade ut $ summa

Kör filen med kommandot bash.

$våldsamt slagcomment_example.sh

Gå till toppen

Användning av flera rader:

Du kan använda flerradig kommentar i bash på olika sätt. Ett enkelt sätt visas i följande exempel. Skapa en ny bash som heter 'Multiline-comment.sh' och lägg till följande skript. Här, ':' och ' symboler används för att lägga till flerlinjeskommentarer i bash -skript. Detta följande skript kommer att beräkna kvadraten på 5.

#!/bin/bash
:'
Följande skript beräknar
kvadratvärdet för talet, 5.
'

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

Kör filen med kommandot bash.

$våldsamt slagmultiline-comment.sh

Du kan kontrollera följande länk för att veta mer om användningen av bash -kommentar.

https://linuxhint.com/bash_comments/

Gå till toppen

Använda While Loop:

Skapa en bash -fil med namnet, 'While_example.sh', att veta användningen av medan slinga. I exemplet, medan loop kommer att iterera för 5 gånger. Värdet av räkna variabeln ökar med 1 i varje steg. När värdet av räkna variabel kommer 5 då medan loop kommer att avslutas.

#!/bin/bash
giltig=Sann
räkna=1
medan [ $ giltigt ]
do
kastade ut $ räkna
om [ $ räkna -ekv 5 ];
sedan
ha sönder
vara
((räkna ++))
Gjort

Kör filen med kommandot bash.

$våldsamt slagmedan_exempel.sh

Du kan kontrollera följande länk för att veta mer om användningen av while loop.

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

Gå till toppen

Använd för For Loop:

Det grundläggande för loop -deklaration visas i följande exempel. Skapa en fil med namnet ‘ för_exempel.sh ’Och lägg till följande skript med för slinga. Här, för loop kommer att iterera för 10 gånger och skriv ut alla värden för variabeln, disken på en rad.

#!/bin/bash
för (( disken=10; disken>0; disken--))
do
kastade ut -n '$ räknare'
Gjort
printf ' n'

Kör filen med kommandot bash.

$våldsamt slagför_exempel.sh

Du kan använda för loop för olika ändamål och sätt i ditt bash -skript. Du kan kontrollera följande länk för att veta mer om användningen av for loop.

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

Gå till toppen

Få användarinmatning:

' läsa 'Kommando används för att ta in input från användare i bash. Skapa en fil med namnet ‘ user_input.sh ’Och lägg till följande skript för att ta input från användaren. Här kommer ett strängvärde att tas från användaren och visa värdet genom att kombinera annat strängvärde.

#!/bin/bash
kastade ut 'Ange ditt namn'
läsanamn
kastade ut 'Välkommen$ namntill LinuxHint '

Kör filen med kommandot bash.

$våldsamt slaguser_input.sh

Du kan kontrollera följande länk för att veta mer om användningen av användarinmatning.

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

Gå till toppen

Använda if -uttalande:

Du kan använda if -tillstånd med enstaka eller flera villkor. Start- och slutblock för detta uttalande definieras av 'om' och 'vara' . Skapa en fil med namnet ‘ simple_if.sh 'Med följande skript för att veta användningen om uttalande i bash. Här, 10 tilldelas variabeln, n . om värdet av $ n är mindre än 10 blir utmatningen Det är ett ettsiffrigt nummer , annars blir utmatningen Det är ett tvåsiffrigt tal . För jämförelse, '-Lt' används här. För jämförelse kan du också använda '-Eq' för jämlikhet , '-född' för inte jämlikhet och '-Gt' för större än i bash script.

#!/bin/bash
n=10
om [ $ n -lt 10 ];
sedan
kastade ut 'Det är ett ettsiffrigt nummer'
annan
kastade ut 'Det är ett tvåsiffrigt tal'
vara

Kör filen med kommandot bash.

$våldsamt slagsimple_if.sh

Gå till toppen

Använda if -sats med AND logik:

Olika typer av logiska villkor kan användas i if -sats med två eller flera villkor. Hur du kan definiera flera villkor i if -sats med OCH logik visas i följande exempel. '&&' används för att ansöka OCH logik av om påstående. Skapa en fil med namnet 'If_with_AND.sh' för att kontrollera följande kod. Här är värdet av Användarnamn och Lösenord variabler kommer att tas från användaren och jämföras med ' administration 'Och' hemlighet ’. Om båda värdena matchar kommer utgången att vara giltig användare , annars blir utmatningen ogiltig användare .

! /am/våldsamt slag

kastade ut 'Skriv in ditt användarnamn'
läsaAnvändarnamn
kastade ut 'Skriv in lösenord'
läsaLösenord

om [[ ( $ användarnamn=='administration' && $ lösenord=='hemlighet' ) ]];sedan
kastade ut 'giltig användare'
annan
kastade ut 'ogiltig användare'
vara

Kör filen med kommandot bash.

$våldsamt slagom_med_AND.sh

Gå till toppen

Använda if -sats med OR -logik:

' || ’Används för att definiera ELLER logik in om skick. Skapa en fil med namnet 'If_with_OR.sh' med följande kod för att kontrollera användningen av ELLER logik av om påstående. Här är värdet av n kommer att tas från användaren. Om värdet är lika med femton eller Fyra fem då blir utmatningen Du vann spelet , annars blir utmatningen Du förlorade spelet .

#!/bin/bash

kastade ut 'Ange valfritt nummer'
läsan

om [[ ( $ n -ekv femton || $ n -ekv Fyra fem ) ]]
sedan
kastade ut 'Du vann spelet'
annan
kastade ut 'Du förlorade spelet'
vara

Kör filen med kommandot bash.

$våldsamt slagif_with_OR.sh

Gå till toppen

Använda annat if -uttalande:

Användningen av annat om tillståndet är lite annorlunda i bash än annat programmeringsspråk. ' elif ’Används för att definiera annat om skick i bash. Skapa en fil med namnet ' elseif_example.sh ’Och lägg till följande skript för att kontrollera hur annat om definieras i bash script.

#!/bin/bash

kastade ut 'Ange ditt lyckonummer'
läsan

om [ $ n -ekv 101 ];
sedan
kastade ut 'Du fick 1: a pris'
elif [ $ n -ekv 510 ];
sedan
kastade ut 'Du fick 2: a pris'
elif [ $ n -ekv 999 ];
sedan
kastade ut 'Du fick 3: e pris'

annan
kastade ut 'Förlåt, försök till nästa gång'
vara

Kör filen med kommandot bash.

$våldsamt slagelseif_example.sh

Gå till toppen

Använda fallbesked:

Fall uttalande används som alternativ till if-elseif-else påstående. Start- och slutblocket för detta uttalande definieras av ' fall 'Och' esac ’. Skapa en ny fil med namnet ' case_example.sh ’Och lägg till följande skript. Utdata från följande skript kommer att vara samma som föregående annat om exempel.

#!/bin/bash

kastade ut 'Ange ditt lyckonummer'
läsan
fall $ n i
101)
kastade ut kastade ut 'Du fick 1: a pris' ;;
510)
kastade ut 'Du fick 2: a pris' ;;
999)
kastade ut 'Du fick 3: e pris' ;;
*)
kastade ut 'Förlåt, försök till nästa gång' ;;
esac

Kör filen med kommandot bash.

$våldsamt slagcase_example.sh

Gå till toppen

Hämta argument från kommandoraden:

Bash -skript kan läsa inmatning från kommandoradsargument som andra programmeringsspråk. Till exempel, $ 1 och $ 2 variabel används för att läsa första och andra kommandoradsargument. Skapa en fil med namnet command_line.sh och lägg till följande skript. Två argumentvärden läses av följande skript och skriver ut det totala antalet argument och argumentvärdena som utdata.

#!/bin/bash
kastade ut 'Totala argument: $#'
kastade ut 'Första argumentet = $ 1'
kastade ut '2: a argumentet = $ 2'

Kör filen med kommandot bash.

$våldsamt slagcommand_line.sh Linux Tips

Du kan kontrollera följande länk för att veta mer om användningen av kommandoradsargument.

https://linuxhint.com/command_line_arguments_bash_script/

Gå till toppen

Hämta argument från kommandoraden med namn:

Hur du kan läsa kommandoradsargument med namn visas i följande skript. Skapa en fil med namnet ' command_line_names.sh ’ och lägg till följande kod. Här två argument, X och OCH läses av detta manus och skriver ut summan av X och Y.

#!/bin/bash
förargi '[e -postskyddad]'
do
index= $(kastade ut $arg | skära -f1 -d=)
timmar= $(kastade ut $arg | skära -f2 -d=)
fall $ index i
X) x=$ timmar;;

OCH) och=$ timmar;;

*)
esac
Gjort
((resultat= x + y))
kastade ut 'X + Y =$ resultat'

Kör filen med kommandot bash och med två kommandoradsargument.

$våldsamt slagcommand_line_namesX=Fyra fem OCH=30

Gå till toppen

Kombinera strängvariabler:

Du kan enkelt kombinera strängvariabler i bash. Skapa en fil med namnet string_combine.sh och lägg till följande skript för att kontrollera hur du kan kombinera strängvariabler i bash genom att placera variabler tillsammans eller använda '+' operatör.

#!/bin/bash

sträng1='Linux'
string2='Antydan'
kastade ut '$ string1$ string2'
string3=$ string1+$ string2
string3+='är en bra självstudiebloggsajt'
kastade ut $ string3

Kör filen med kommandot bash.

$våldsamt slagstring_combine.sh

Gå till toppen

Skaffa delsträng för String:

Precis som andra programmeringsspråk har bash ingen inbyggd funktion för att minska värdet från strängdata. Men du kan utföra uppgiften att understränga på ett annat sätt i bash som visas i följande skript. För att testa manuset, skapa en fil med namnet ' substring_example.sh 'Med följande kod. Här är värdet, 6 indikerar startpunkten från var delsträngen kommer att börja och 5 anger längden på delsträngen.

#!/bin/bash
Str='Lär dig Linux från LinuxHint'
subStr=$ {Str: 6: 5}
kastade ut $ subStr

Kör filen med kommandot bash.

$våldsamt slagsubstring_example.sh

Gå till toppen

Lägg till två nummer:

Du kan utföra de aritmetiska operationerna i bash på olika sätt. Hur du kan lägga till två heltal i bash med dubbla parenteser visas i följande skript. Skapa en fil med namnet ‘ add_numbers.sh 'Med följande kod. Två heltalsvärden tas från användaren och skrivs ut resultatet av tillägget.

#!/bin/bash
kastade ut 'Ange första nummer'
läsax
kastade ut 'Ange andra nummer'
läsaoch
(( belopp= x + y))
kastade ut 'Resultatet av tillägg =$ summa'

Kör filen med kommandot bash.

$våldsamt slagadd_numbers.sh

Du kan kontrollera följande länk för att veta mer om bash aritmetik.

https://linuxhint.com/bash_arithmetic_operations/

Gå till toppen

Skapa funktion:

Hur du kan skapa en enkel funktion och anropa funktionen visas i följande skript. Skapa en fil med namnet ‘ function_example.sh ’Och lägg till följande kod. Du kan bara kalla vilken funktion som helst utan att använda någon parentes i bash script.

#!/bin/bash
fungeraF1()
{
kastade ut 'Jag gillar bash programmering'
}

F1

Kör filen med kommandot bash.

$våldsamt slagfunction_example.sh

Gå till toppen

Skapa funktion med parametrar:

Bash kan inte deklarera funktionsparameter eller argument vid funktionsdeklarationen. Men du kan använda parametrar i funktion genom att använda en annan variabel. Om två värden skickas vid funktionstillfället används $ 1 och $ 2 variabel för att läsa värdena. Skapa en fil med namnet ‘ funktion | _parameter.sh ’Och lägg till följande kod. Här är funktionen, ' Rektangel_område ' kommer att beräkna ytan av en rektangel baserat på parametervärdena.

#!/bin/bash

Rektangel_område() {
område= $(($ 1 * $ 2))
kastade ut 'Området är:$ område'
}

Rektangel_område10 tjugo

Kör filen med kommandot bash.

$våldsamt slagfunction_parameter.sh

Gå till toppen

Passera returvärde från funktion:

Bash -funktionen kan passera både numeriska och strängvärden. Hur du kan skicka ett strängvärde från funktionen visas i följande exempel. Skapa en fil med namnet ' function_return.sh ’Och lägg till följande kod. Funktionen, hälsning() returnerar ett strängvärde till variabeln, timmar som skrivs ut senare genom att kombinera med annan sträng.

#!/bin/bash
fungerahälsning() {

sid='Hej,$ namn'
kastade ut $ str

}

kastade ut 'Ange ditt namn'
läsanamn

timmar= $(hälsning)
kastade ut 'Funktionens returvärde är$ timmar'

Kör filen med kommandot bash.

$våldsamt slagfunction_return.sh

Du kan kontrollera följande länk för att veta mer om användningen av bash -funktionen.

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

Gå till toppen

Gör katalog:

Bash använder ' mkdir 'Kommando för att skapa en ny katalog. Skapa en fil med namnet ‘ make_directory.sh ’Och lägg till följande kod för att ta ett nytt katalognamn från användaren. Om katalognamnet inte finns på den aktuella platsen kommer det att skapa katalogen, annars visar programmet fel.

#!/bin/bash
kastade ut 'Ange katalognamn'
läsanewdir
''mkdir $ newdir''

Kör filen med kommandot bash.

$våldsamt slagmake_directory.sh

Gå till toppen

Skapa katalog genom att kontrollera existens:

Om du vill kontrollera förekomsten av katalog på den aktuella platsen innan du kör ' mkdir '-Kommando kan du använda följande kod. ’-D 'Alternativet används för att testa att en viss katalog finns eller inte. Skapa en fil med namnet ' directory_exist.sh ’ och lägg till följande kod för att skapa en katalog genom att kontrollera existensen.

#!/bin/bash
kastade ut 'Ange katalognamn'
läsandr
om [ -d '$ ndir' ]
sedan
kastade ut 'Katalog finns'
annan
''mkdir $ ndir''
kastade ut 'Katalog skapad'
vara

Kör filen med kommandot bash.

$våldsamt slagdirectory_exist.sh

Du kan kolla följande länk för att veta mer om katalogskapande.

https://linuxhint.com/bash_mkdir_not_existent_path/

Gå till toppen

Läs en fil:

Du kan läsa vilken fil som helst rad för rad i bash med hjälp av loop. Skapa en fil med namnet ' read_file.sh 'Och ​​lägg till följande kod för att läsa en befintlig fil med namnet' bok.txt '.

#!/bin/bash
fil='bok.txt'
medan läsalinje;do
kastade ut $ rad
Gjort < $ fil

Kör filen med kommandot bash.

$våldsamt slagread_file.sh

Kör följande kommando för att kontrollera originalinnehållet i ' bok.txt ’Fil.

$kattbok.txt

Du kan kontrollera följande länk för att veta de olika sätten att läsa filen.

https://linuxhint.com/read_file_line_by_line_bash/

Gå till toppen

Ta bort en fil:

' rm '-Kommandot används i bash för att ta bort alla filer. Skapa en fil med namnet ‘ delete_file.sh 'Med följande kod för att ta filnamnet från användaren och ta bort. Här, '-I' alternativet används för att få tillstånd från användaren innan filen tas bort.

#!/bin/bash
kastade ut 'Ange filnamn för att ta bort'
läsafn
rm -i $ fn

Kör filen med kommandot bash.

$ls
$våldsamt slagdelete_file.sh
$ls

Gå till toppen

Lägg till i filen:

Ny data kan läggas till i en befintlig fil med '>>' operatör i bash. Skapa en fil med namnet ‘Append_file.sh ’Och lägg till följande kod för att lägga till nytt innehåll i slutet av filen. Här, ' Lär dig Laravel 5 'Kommer att läggas till vid' book.txt ’ filen efter att manuset har körts.

#!/bin/bash

kastade ut 'Innan du lägger till filen'
kattbok.txt

kastade ut 'Lär dig Laravel 5'>>bok.txt
kastade ut 'Efter att ha lagt till filen'
kattbok.txt

Kör filen med kommandot bash.

$våldsamt slagappend_file.sh

Gå till toppen

Testa om filen finns:

Du kan kontrollera att det finns en fil i bash med '-Och' eller '-F' alternativ. '-F' alternativet används i följande skript för att testa filens existens. Skapa en fil med namnet ' file_exist.sh ’Och lägg till följande kod. Här kommer filnamnet att passera från kommandoraden.

#!/bin/bash
filnamn=$ 1
om [ -f '$ filnamn' ];sedan
kastade ut 'Fil existerar'
annan
kastade ut 'Fil existerar inte'
vara

Kör följande kommandon för att kontrollera att filen finns. Här, bok.txt filen finns och bok2.txt finns inte på den aktuella platsen.

$ls
$våldsamt slagfile_exist.sh book.txt
$våldsamt slagfile_exist.sh book2.txt

Gå till toppen

Skicka epost:

Du kan skicka e -post med ' post 'Eller' skicka brev ’Kommando. Innan du använder dessa kommandon måste du installera alla nödvändiga paket. Skapa en fil med namnet ' mail_example.sh ’Och lägg till följande kod för att skicka e -postmeddelandet.

#!/bin/bash
Mottagare= admin@exempel.com
Ämne= Hälsning
Meddelande= Välkommen till vår webbplats
''post-s $ Ämne $ Mottagare <<< $ Meddelande''

Kör filen med kommandot bash.

$våldsamt slagmail_example.sh

Gå till toppen

Hämta aktuellt datum:

Du kan få det aktuella systemdatumet och tidsvärdet med ` datum `kommando. Varje del av datum- och tidsvärdet kan analyseras med ' Y ',' m ',' d ',' H ',' M ' och ' S ’ . Skapa en ny fil med namnet ' date_parse.sh ’ och lägg till följande kod för att skilja dag, månad, år, timme, minut och andra värden.

#!/bin/bash
År=''datum+%OCH''
Månad=''datum+%m''
Dag=''datum+%d''
Timme=''datum+%H''
Minut=''datum+%M''
Andra=''datum+%S''
kastade ut ''datum''
kastade ut 'Aktuellt datum är:$ Dag-$ Månad-$ År'
kastade ut 'Aktuell tid är:$ Timme:$ Minut:$ Second'

Kör filen med kommandot bash.

$våldsamt slagdate_parse.sh

Gå till toppen

Vänta kommando:

vänta är ett inbyggt kommando för Linux som väntar på att slutföra alla körprocesser. vänta kommando används med ett visst process -id eller jobb -id. Om inget process -id eller jobb -ID ges med väntekommando väntar det på att alla nuvarande underordnade processer ska slutföras och returnerar utgångsstatus. Skapa en fil med namnet ‘ wait_example.sh ’ och lägg till följande skript.

#!/bin/bash
kastade ut 'Vänta kommando' &
process_id=$!
vänta $ process_id
kastade ut 'Avslutad med status $?'

Kör filen med kommandot bash.

$våldsamt slagwait_example.sh

Du kan kolla följande länk för att veta mer om väntarkommando.

Vänta Kommando i Linux

Gå till toppen

Sömnkommando:

När du vill pausa utförandet av ett kommando under en viss tidsperiod kan du använda det sömn kommando. Du kan ange förseningsbeloppet med sekunder (s), minuter (m), timmar (h) och dagar (d). Skapa en fil med namnet 'Sleep_example.sh' och lägg till följande skript. Detta skript väntar i 5 sekunder efter körning.

#!/bin/bash

kastade utVäntaför 5sekunder
sömn 5
kastade utAvslutad

Kör filen med kommandot bash.

$våldsamt slagsleep_example.sh

Du kan kontrollera följande länk för att veta mer om sömnkommando.

https://linuxhint.com/sleep_command_linux/

Gå till toppen

Hoppas, efter att ha läst den här artikeln har du ett grundläggande koncept om bash scripting språk och du kommer att kunna tillämpa dem baserat på dina krav.