Video Matematik Differentialkvotient for lineære funktioner
Indholdsfortegnelse:
- Bash-funktionserklæring
- Variabler Omfang
- Returværdier
- Overførsel af argumenter til bash-funktioner
- Konklusion
En Bash-funktion er i det væsentlige et sæt kommandoer, der kan kaldes adskillige gange. Formålet med en funktion er at hjælpe dig med at gøre dine bash-scripts mere læsbare og undgå at skrive den samme kode igen og igen.
Sammenlignet med de fleste programmeringssprog er Bash-funktioner noget begrænset. I denne tutorial vil vi dække det grundlæggende i Bash-funktioner og vise dig, hvordan du bruger dem i dine shell-scripts.
Bash-funktionserklæring
Syntaxen til at erklære en bash-funktion er meget enkel. De kan deklareres i to forskellige formater:
-
Det første format starter med funktionsnavnet efterfulgt af parenteser. Dette er det foretrukne og mere anvendte format.
function_name () { commands }
Single line version:
function_name () { commands; }
Det andet format starter med det reserverede
function
efterfulgt af funktionsnavnet.function function_name { commands }
Single line version:
function function_name { commands; }
Få punkter, der skal bemærkes:
- Kommandolisten mellem krøllede seler
{}
er funktionen. De krøllede seler, der omgiver funktionskroppen, skal adskilles fra kroppen ved mellemrum eller nye linjer. Definition af en funktion udfører den ikke. For at påkalde en bash-funktion skal du blot bruge funktionsnavnet. Kommandoer mellem de krøllede seler udføres, når funktionen kaldes i shell-scriptet. Funktionsdefinitionen skal placeres inden eventuelle opkald til funktionen. Når der bruges en-linjes “komprimerede” funktioner, en semikolon;
skal følge den sidste kommando i funktionen. Du skal altid prøve at holde dine funktionsnavne beskrivende.
For at forstå dette bedre skal du tage et kig på følgende eksempel:
~ / Hello_world.sh
#!/bin/bash hello_world () { echo 'hello, world' } hello_world
Lad os analysere koden linje for linje:
- I linje
3
definerer vi funktionen ved at give den et navn og åbne den krøllede stag{
der markerer starten af funktionens krop. Linie4
er funktionskroppen. Funktionskroppen kan indeholde flere kommandoer og variabel erklæringer.hello_world
5
, den lukke krøllede beslag}
, definerer slutningen afhello_world
funktionen. I linje7
udfører vi funktionen. Du kan udføre funktionen så mange gange du har brug for.
Hvis du kører scriptet, udskrives det
hello, world
.
Variabler Omfang
Globale variabler er variabler, der kan fås adgang til hvor som helst i scriptet uanset omfanget. I Bash defineres alle variabler som standard som globale, selvom deklareres inden for funktionen.
Lokale variabler kan deklareres i funktionslegemet med det
local
nøgleord og kan kun bruges inden for denne funktion. Du kan have lokale variabler med samme navn i forskellige funktioner.
For bedre at illustrere, hvordan variablerne fungerer i Bash, lad os overveje et eksempel:
~ / Variables_scope.sh
#!/bin/bash var1='A' var2='B' my_function () { local var1='C' var2='D' echo "Inside function: var1: $var1, var2: $var2" } echo "Before executing function: var1: $var1, var2: $var2" my_function echo "After executing function: var1: $var1, var2: $var2"
Scriptet starter med at definere to globale variabler
var1
og
var2
. Derefter en funktion, der indstiller en lokal variabel
var1
og ændrer den globale variabel
var2
.
Before executing function: var1: A, var2: B Inside function: var1: C, var2: D After executing function: var1: A, var2: D
Fra output ovenfor kan vi konkludere, at:
- Hvis du indstiller en lokal variabel i funktionslegemet med samme navn som en eksisterende global variabel, vil den have forrang for den globale variabel. Globale variabler kan ændres fra funktionen.
Returværdier
I modsætning til funktioner i "rigtige" programmeringssprog tillader Bash-funktioner ikke dig at returnere en værdi, når du ringer til den. Når en bash-funktion er afsluttet, er dens returneringsværdi status for den sidste sætning, der er udført i funktionen,
0
for succes og ikke-nul decimal i området 1 - 255 for fejl.
Returstatus kan specificeres ved hjælp af
return
, og det tildeles variablen
$?
.
return
erklæringen afslutter funktionen. Du kan tænke på det som funktionens exit-status.
#!/bin/bash my_function () { echo "some result" return 55 } my_function echo $?
some result 55
For faktisk at returnere en vilkårlig værdi fra en funktion, er vi nødt til at bruge andre metoder. Den enkleste mulighed er at tildele resultatet af funktionen til en global variabel:
~ / Return_values.sh
#!/bin/bash my_function () { func_result="some result" } my_function echo $func_result
some result
En anden, bedre mulighed for at returnere en værdi fra en funktion er at sende værdien til
stdout
ved hjælp af ekko eller
printf
som vist nedenfor:
#!/bin/bash my_function () { local func_result="some result" echo "$func_result" } func_result="$(my_function)" echo $func_result
some result
I stedet for blot at udføre den funktion, der udskriver meddelelsen til stdout, tildeler vi funktionsoutput til
func_result
variablen ved hjælp af kommandosubstitutionen
$()
. Variablen kan senere bruges efter behov.
Overførsel af argumenter til bash-funktioner
For at videregive et hvilket som helst antal argumenter til bash-funktionen skal du blot placere dem lige efter funktionens navn adskilt med et mellemrum. Det er en god praksis at dobbeltcitere argumenterne for at undgå forkert fordeling af et argument med mellemrum i det.
- De bestilte parametre er
$1
,$2
,$3
…$n
, svarende til parameterens placering efter funktionens navn.$0
variablen er forbeholdt funktionens navn$#
Variablen$#
indeholder antallet af positionsparametre / argumenter, der er sendt til funktion. Variablerne$*
og$@
indeholder alle positionsparametre / argumenter, der er videregivet til funktionen.- Når det dobbeltciteres, udvides
"$*"
til en enkelt streng adskilt med mellemrum (den første karakter af IFS) -"$1 $2 $n"
Når dobbeltciteret udvides"$@"
til separate strenge -"$1" "$2" "$n"
Når ikke dobbeltciteret, er$*
og$@
de samme.
- Når det dobbeltciteres, udvides
Her er et eksempel:
~ / Passing_arguments.sh
#!/bin/bash greeting () { echo "Hello $1" } greeting "Joe"
Konklusion
En Bash-funktion er en blok genanvendelig kode designet til at udføre en bestemt operation. Når den er defineret, kan funktionen kaldes flere gange i et script.
Du vil måske også læse om, hvordan du bruger en Bash-funktion til at oprette en mindeværdig genvejskommando til en længere kommando.
bash terminalSådan kører du Bash på Ubuntu på Windows 10

Aktivering af Windows Subsystem til Linux giver dig mulighed for at køre Bash på Ubuntu på Windows 10, Bash scripts , Linux-kommandolinjeværktøjer, Linux-første værktøjer.
Bash arrays

Arrays er en af de mest anvendte og grundlæggende datastrukturer. I denne artikel dækker vi Bash-matriserne og forklarer, hvordan du bruger dem i dine Bash-scripts.
Bash til løkke

Der er 3 grundlæggende løkkekonstruktioner i Bash-scripting, til loop, while loop og indtil loop. I denne tutorial vil vi dække det grundlæggende for løkker i Bash såvel som pausen og fortsætte udsagn for at ændre strømmen af en løkke.