I dette emnet har vi demonstrert det grunnleggende om bash-funksjoner og hvordan de fungerer i bash-shell-skripting.
Funksjoner i bash-skripting er et flott alternativ for å gjenbruke kode. En Bash-funksjon kan defineres som et sett med kommandoer som kan kalles flere ganger i bash-skriptet. Hensikten med funksjon i bash er å hjelpe deg med å gjøre skriptene dine mer lesbare og unngå å skrive den samme koden igjen og igjen. Det lar også utviklerne bryte en komplisert og lang kode til små deler som kan kalles når det er nødvendig. Funksjoner kan kalles når som helst og gjentatte ganger, noe som vil gjøre oss i stand til å gjenbruke, optimalisere og minimere koden.
Følgende er noen viktige punkter om bash-funksjoner:
- En funksjon må deklareres i shell-skriptet før vi kan bruke den.
- Argumenter kan sendes til funksjonene og åpnes inne i funksjonen som , , etc.
- Lokale variabler kan tilordnes innenfor funksjonen, og omfanget av slike variabler vil kun være den bestemte funksjonen.
- Innebygde kommandoer i Bash-skall kan overstyres ved hjelp av funksjoner.
Syntaks
Syntaksen for å deklarere en bash-funksjon kan defineres i to formater:
1. Den første metoden starter med funksjonsnavnet, etterfulgt av parenteser. Det er den mest foretrukne og mest brukte metoden:
function_name () { commands }
Enkeltlinjeversjon kan nevnes som nedenfor:
function_name () { commands; }
2. Den andre metoden starter med funksjonsreservert ord, etterfulgt av funksjonsnavnet:
java programmeringsmatriser
function function_name { commands }
Enkeltlinjeversjon kan nevnes som nedenfor:
function function_name { commands; }
Sammenlignet med de fleste programmeringsspråkene er Bash-funksjonene noe begrenset. La oss forstå konseptet ved hjelp av noen eksempler:
Eksempel: Metode 1
#!/bin/bash JTP () { echo 'Welcome to Javatpoint.' } JTP
Produksjon
Welcome to Javatpoint.
Eksempel: Metode 2
#!/bin/bash function JTP { echo 'Welcome to Javatpoint.' } JTP
Produksjon
Welcome to Javatpoint.
Beståtte argumenter
Som de fleste programmeringsspråk kan vi også sende argumentene og behandle dataene i bash-funksjoner. Vi kan sette inn dataene til funksjonen på en lignende måte som å sende kommandolinjeargumenter til et bash-skript.
quicksort-algoritme
For å sende et hvilket som helst antall argumenter til bash-funksjonen, må vi sette dem inn like etter funksjonens navn. Vi må bruke mellomrom mellom funksjonsnavn og argumenter. Det vil også være et godt valg å bruke doble anførselstegn rundt argumentene for å forhindre feilparsing av argumentene med mellomrom i.
Følgende er noen viktige punkter om å sende argumenter til bash-funksjonene:
- De gitte argumentene er tilgjengelige som , , ... $n, tilsvarende plasseringen av argumentene etter funksjonens navn.
-variabelen holdes reservert for funksjonens navn.I dette emnet har vi demonstrert det grunnleggende om bash-funksjoner og hvordan de fungerer i bash-shell-skripting.
Funksjoner i bash-skripting er et flott alternativ for å gjenbruke kode. En Bash-funksjon kan defineres som et sett med kommandoer som kan kalles flere ganger i bash-skriptet. Hensikten med funksjon i bash er å hjelpe deg med å gjøre skriptene dine mer lesbare og unngå å skrive den samme koden igjen og igjen. Det lar også utviklerne bryte en komplisert og lang kode til små deler som kan kalles når det er nødvendig. Funksjoner kan kalles når som helst og gjentatte ganger, noe som vil gjøre oss i stand til å gjenbruke, optimalisere og minimere koden.
Følgende er noen viktige punkter om bash-funksjoner:
- En funksjon må deklareres i shell-skriptet før vi kan bruke den.
- Argumenter kan sendes til funksjonene og åpnes inne i funksjonen som $1, $2, etc.
- Lokale variabler kan tilordnes innenfor funksjonen, og omfanget av slike variabler vil kun være den bestemte funksjonen.
- Innebygde kommandoer i Bash-skall kan overstyres ved hjelp av funksjoner.
Syntaks
Syntaksen for å deklarere en bash-funksjon kan defineres i to formater:
1. Den første metoden starter med funksjonsnavnet, etterfulgt av parenteser. Det er den mest foretrukne og mest brukte metoden:
function_name () { commands }
Enkeltlinjeversjon kan nevnes som nedenfor:
function_name () { commands; }
2. Den andre metoden starter med funksjonsreservert ord, etterfulgt av funksjonsnavnet:
function function_name { commands }
Enkeltlinjeversjon kan nevnes som nedenfor:
function function_name { commands; }
Sammenlignet med de fleste programmeringsspråkene er Bash-funksjonene noe begrenset. La oss forstå konseptet ved hjelp av noen eksempler:
Eksempel: Metode 1
#!/bin/bash JTP () { echo 'Welcome to Javatpoint.' } JTP
Produksjon
Welcome to Javatpoint.
Eksempel: Metode 2
#!/bin/bash function JTP { echo 'Welcome to Javatpoint.' } JTP
Produksjon
Welcome to Javatpoint.
Beståtte argumenter
Som de fleste programmeringsspråk kan vi også sende argumentene og behandle dataene i bash-funksjoner. Vi kan sette inn dataene til funksjonen på en lignende måte som å sende kommandolinjeargumenter til et bash-skript.
For å sende et hvilket som helst antall argumenter til bash-funksjonen, må vi sette dem inn like etter funksjonens navn. Vi må bruke mellomrom mellom funksjonsnavn og argumenter. Det vil også være et godt valg å bruke doble anførselstegn rundt argumentene for å forhindre feilparsing av argumentene med mellomrom i.
Følgende er noen viktige punkter om å sende argumenter til bash-funksjonene:
- De gitte argumentene er tilgjengelige som $1, $2, $3 ... $n, tilsvarende plasseringen av argumentene etter funksjonens navn.
- $0-variabelen holdes reservert for funksjonens navn.
- Variabelen $# brukes til å holde antall posisjonsargument/parameter gitt til funksjonen.
- Variablene $* og $@ brukes til å holde alle argumentene/parametrene gitt til funksjonen.
- Når $* brukes med doble anførselstegn (dvs. '$*' ), utvides den til en enkelt streng atskilt med mellomrom. For eksempel '$1 $2 $n etc'.
- Når $@ brukes med doble anførselstegn (dvs. '$@' ), utvides den til den separate strengen. For eksempel '$1' '$2' '$n' osv.
- Når $* og $# ikke brukes med doble anførselstegn, er begge de samme.
Følgende er koden som illustrerer prosedyren for hvordan du sender argumenter til funksjoner, og får tilgang til argumentene inne i funksjonen.
Bash Script
#!/bin/bash #Script to pass and access arguments function_arguments() { echo $1 echo $2 echo $3 echo $4 echo $5 } #Calling function_arguments function_arguments 'We''welcome''you''on''Javatpoint.'
Produksjon
I dette skriptet har vi lagt til verdiene 'Vi', 'velkommen', 'du', 'på' og 'Javatpoint' etter at vi har kalt funksjonsargumentene. Disse verdiene sendes til funksjonsargumenter som parametere og lagret i en lokal variabel. Men i motsetning til andre språk, lagrer tolken de beståtte verdiene i forhåndsdefinerte variabler, som deretter blir navngitt i henhold til sekvensen av bestått parametere.
For eksempel,
'Vi' ordet lagres til variabelen 1 .
'Velkommen' ordet lagres til variabelen 2 .
'du' ordet lagres til variabelen 3 .
'på' ord lagres til variabelen 4 .
'Javatpoint' ordet lagres til variabelen 5 .Variabelt omfang
Globale variabler er definert som variablene som kan nås hvor som helst i skriptet uavhengig av omfanget. Som standard er alle variablene definert som globale variabler, selv om de er deklarert inne i funksjonen. Vi kan også lage variabler som en lokal variabel. Lokale variabler kan deklareres i funksjonskroppen med ?local? nøkkelord når de tildeles for første gang. De er bare tilgjengelige innenfor denne funksjonen. Vi kan lage lokale variabler med samme navn i forskjellige funksjoner. For å legge til en lokal variabel kan vi bruke følgende syntaks:
local var_name=
For bedre å forstå hvordan variabelomfang fungerer i Bash Scripting, sjekk ut følgende eksempel:
Bash Script
#!/bin/bash v1='A' v2='B' my_var () { local v1='C' v2='D' echo 'Inside Function' echo 'v1 is $v1.' echo 'v2 is $v2.' } echo 'Before Executing the Function' echo 'v1 is $v1.' echo 'v2 is $v2.' my_var echo 'After Executing the Function' echo 'v1 is $v1.' echo 'v2 is $v2.'
Produksjon
I henhold til utdata, hvis vi setter en lokal variabel i funksjonskroppen med samme navn som en eksisterende global variabel, vil den ha forrang over den globale variabelen. Globale variabler kan endres i funksjonen.
Returverdier
De fleste programmeringsspråk har konseptet med å returnere en verdi for funksjonene. Det betyr at funksjonen må sende dataene tilbake til det opprinnelige anropsstedet. I motsetning til funksjoner i 'ekte' programmeringsspråk, gir ikke Bash-funksjonen støtte for å returnere en verdi når den kalles. Imidlertid lar de oss angi en returstatus som ligner på hvordan et program eller kommando avsluttes med en utgangsstatus. Når en bash-funksjon fullføres, er returverdien statusen til den sist utførte setningen i funksjonen. Den returnerer 0 for suksessstatus og ikke-null desimaltall i området 1-255 for feil.
Returstatusen kan angis ved å bruke nøkkelordet 'retur', og den tilordnes variabelen $?. Retursetningen avslutter funksjonen og fungerer som funksjonens utgangsstatus.
For eksempel, vurder følgende kode:
Bash Script
#!/bin/bash #Setting up a return status for a function print_it () { echo Hello $1 return 5 } print_it User print_it Reader echo The previous function returned a value of $?
Produksjon
Et annet bedre alternativ for å returnere en verdi fra en funksjon er å sende verdien til stdout ved hjelp av ekko eller printf kommandoer, som vist nedenfor:
Bash Script
#!/bin/bash print_it () { local my_greet='Welcome to Javatpoint.' echo '$my_greet' } my_greet='$(print_it)' echo $my_greet
Produksjon
Welcome to Javatpoint.
Overstyre kommandoer
Vi har en mulighet til å overstyre bash-kommandoene ved å lage en funksjon med samme navn som kommandoen vi skal overstyre. For eksempel, hvis vi ønsker å overstyre 'echo'-kommandoen, må vi lage en funksjon med navnet 'echo'.
Dette konseptet med å overstyre bash-kommandoene kan være nyttig i noen scenarier som når vi vil bruke en kommando med spesifikke alternativer. Også når vi ikke liker å gi hele kommandoen med alternativer for flere ganger i skriptet. I slike tilfeller kan vi overstyre den innebygde bash-kommandoen for kommando med alternativer. La oss nå forstå konseptet med å overstyre kommandoene i Bash Shell Scripting ved hjelp av noen eksempler:
Eksempel
I dette eksemplet har vi overstyrt 'echo'-kommandoen og lagt til tidsstemplet i form av argumentet til 'echo'-kommandoen.
Bash Script
#!/bin/bash #Script to override command using function echo () { builtin echo -n `date +'[%m-%d %H:%M:%S]'` ': ' builtin echo $1 } echo 'Welcome to Javatpoint.'
Produksjon
Konklusjon
I dette emnet demonstrerte vi om Bash Function. En Bash-funksjon betraktes som en blokk med gjenbrukbar kode utviklet for å utføre en spesifikk operasjon. Når det er definert, kan det kalles opp flere ganger i et skript.
- Variabelen $# brukes til å holde antall posisjonsargument/parameter gitt til funksjonen.
- Variablene $* og $@ brukes til å holde alle argumentene/parametrene gitt til funksjonen.
- Når $* brukes med doble anførselstegn (dvs. '$*' ), utvides den til en enkelt streng atskilt med mellomrom. For eksempel ' $n etc'.
- Når $@ brukes med doble anførselstegn (dvs. '$@' ), utvides den til den separate strengen. For eksempel '' '' '$n' osv.
- Når $* og $# ikke brukes med doble anførselstegn, er begge de samme.
Følgende er koden som illustrerer prosedyren for hvordan du sender argumenter til funksjoner, og får tilgang til argumentene inne i funksjonen.
Bash Script
#!/bin/bash #Script to pass and access arguments function_arguments() { echo echo echo echo echo } #Calling function_arguments function_arguments 'We''welcome''you''on''Javatpoint.'
Produksjon
I dette skriptet har vi lagt til verdiene 'Vi', 'velkommen', 'du', 'på' og 'Javatpoint' etter at vi har kalt funksjonsargumentene. Disse verdiene sendes til funksjonsargumenter som parametere og lagret i en lokal variabel. Men i motsetning til andre språk, lagrer tolken de beståtte verdiene i forhåndsdefinerte variabler, som deretter blir navngitt i henhold til sekvensen av bestått parametere.
c-streng i array
For eksempel,
'Vi' ordet lagres til variabelen 1 .
'Velkommen' ordet lagres til variabelen 2 .
'du' ordet lagres til variabelen 3 .
'på' ord lagres til variabelen 4 .
'Javatpoint' ordet lagres til variabelen 5 .
Variabelt omfang
Globale variabler er definert som variablene som kan nås hvor som helst i skriptet uavhengig av omfanget. Som standard er alle variablene definert som globale variabler, selv om de er deklarert inne i funksjonen. Vi kan også lage variabler som en lokal variabel. Lokale variabler kan deklareres i funksjonskroppen med ?local? nøkkelord når de tildeles for første gang. De er bare tilgjengelige innenfor denne funksjonen. Vi kan lage lokale variabler med samme navn i forskjellige funksjoner. For å legge til en lokal variabel kan vi bruke følgende syntaks:
local var_name=
For bedre å forstå hvordan variabelomfang fungerer i Bash Scripting, sjekk ut følgende eksempel:
Bash Script
#!/bin/bash v1='A' v2='B' my_var () { local v1='C' v2='D' echo 'Inside Function' echo 'v1 is $v1.' echo 'v2 is $v2.' } echo 'Before Executing the Function' echo 'v1 is $v1.' echo 'v2 is $v2.' my_var echo 'After Executing the Function' echo 'v1 is $v1.' echo 'v2 is $v2.'
Produksjon
I henhold til utdata, hvis vi setter en lokal variabel i funksjonskroppen med samme navn som en eksisterende global variabel, vil den ha forrang over den globale variabelen. Globale variabler kan endres i funksjonen.
string.compareto c#
Returverdier
De fleste programmeringsspråk har konseptet med å returnere en verdi for funksjonene. Det betyr at funksjonen må sende dataene tilbake til det opprinnelige anropsstedet. I motsetning til funksjoner i 'ekte' programmeringsspråk, gir ikke Bash-funksjonen støtte for å returnere en verdi når den kalles. Imidlertid lar de oss angi en returstatus som ligner på hvordan et program eller kommando avsluttes med en utgangsstatus. Når en bash-funksjon fullføres, er returverdien statusen til den sist utførte setningen i funksjonen. Den returnerer 0 for suksessstatus og ikke-null desimaltall i området 1-255 for feil.
Returstatusen kan angis ved å bruke nøkkelordet 'retur', og den tilordnes variabelen $?. Retursetningen avslutter funksjonen og fungerer som funksjonens utgangsstatus.
For eksempel, vurder følgende kode:
Bash Script
#!/bin/bash #Setting up a return status for a function print_it () { echo Hello return 5 } print_it User print_it Reader echo The previous function returned a value of $?
Produksjon
Et annet bedre alternativ for å returnere en verdi fra en funksjon er å sende verdien til stdout ved hjelp av ekko eller printf kommandoer, som vist nedenfor:
java hei verden
Bash Script
#!/bin/bash print_it () { local my_greet='Welcome to Javatpoint.' echo '$my_greet' } my_greet='$(print_it)' echo $my_greet
Produksjon
Welcome to Javatpoint.
Overstyre kommandoer
Vi har en mulighet til å overstyre bash-kommandoene ved å lage en funksjon med samme navn som kommandoen vi skal overstyre. For eksempel, hvis vi ønsker å overstyre 'echo'-kommandoen, må vi lage en funksjon med navnet 'echo'.
Dette konseptet med å overstyre bash-kommandoene kan være nyttig i noen scenarier som når vi vil bruke en kommando med spesifikke alternativer. Også når vi ikke liker å gi hele kommandoen med alternativer for flere ganger i skriptet. I slike tilfeller kan vi overstyre den innebygde bash-kommandoen for kommando med alternativer. La oss nå forstå konseptet med å overstyre kommandoene i Bash Shell Scripting ved hjelp av noen eksempler:
Eksempel
I dette eksemplet har vi overstyrt 'echo'-kommandoen og lagt til tidsstemplet i form av argumentet til 'echo'-kommandoen.
Bash Script
#!/bin/bash #Script to override command using function echo () { builtin echo -n `date +'[%m-%d %H:%M:%S]'` ': ' builtin echo } echo 'Welcome to Javatpoint.'
Produksjon
Konklusjon
I dette emnet demonstrerte vi om Bash Function. En Bash-funksjon betraktes som en blokk med gjenbrukbar kode utviklet for å utføre en spesifikk operasjon. Når det er definert, kan det kalles opp flere ganger i et skript.