În acest subiect, am demonstrat elementele de bază ale funcțiilor bash și modul în care acestea funcționează în scriptingul shell bash.
Funcțiile din scripting-ul bash sunt o opțiune excelentă pentru a reutiliza codul. O funcție Bash poate fi definită ca un set de comenzi care pot fi apelate de mai multe ori în scriptul bash. Scopul funcției în bash este să vă ajute să vă faceți scripturile mai lizibile și să evitați să scrieți același cod din nou și din nou. De asemenea, permite dezvoltatorilor să spargă un cod complicat și lung în părți mici, care pot fi apelate oricând este necesar. Funcțiile pot fi apelate oricând și în mod repetat, ceea ce ne va permite să reutilizam, să optimizăm și să minimizăm codul.
Următoarele sunt câteva puncte cheie despre funcțiile bash:
- O funcție trebuie să fie declarată în scriptul shell înainte de a o putea folosi.
- Argumentele pot fi transmise funcțiilor și accesate în interiorul funcției ca , etc.
- Variabilele locale pot fi alocate în cadrul funcției, iar domeniul de aplicare al acestor variabile va fi doar acea funcție particulară.
- Comenzile încorporate ale shell-ului Bash pot fi suprascrise folosind funcții.
Sintaxă
Sintaxa pentru declararea unei funcții bash poate fi definită în două formate:
1. Prima metodă începe cu numele funcției, urmat de paranteze. Este cea mai preferată și utilizată metodă:
function_name () { commands }
Versiunea cu o singură linie poate fi menționată mai jos:
function_name () { commands; }
2. A doua metodă începe cu cuvântul rezervat funcției, urmat de numele funcției:
document.queryselector
function function_name { commands }
Versiunea cu o singură linie poate fi menționată mai jos:
function function_name { commands; }
În comparație cu majoritatea limbajelor de programare, funcțiile Bash sunt oarecum limitate. Să înțelegem conceptul cu ajutorul unor exemple:
Exemplu: metoda 1
#!/bin/bash JTP () { echo 'Welcome to Javatpoint.' } JTP
Ieșire
Welcome to Javatpoint.
Exemplu: Metoda 2
#!/bin/bash function JTP { echo 'Welcome to Javatpoint.' } JTP
Ieșire
Welcome to Javatpoint.
Argumente de trecere
La fel ca majoritatea limbajelor de programare, putem de asemenea să transmitem argumentele și să procesăm datele în funcții bash. Putem insera datele în funcție într-un mod similar cu transmiterea argumentelor din linia de comandă la un script bash.
împărțit prin șir de caractere java
Pentru a transmite orice număr de argumente funcției bash, trebuie să le inserăm imediat după numele funcției. Trebuie să aplicăm spații între numele funcției și argumente. De asemenea, va fi o alegere excelentă să folosiți ghilimele duble în jurul argumentelor pentru a preveni interpretarea greșită a argumentelor cu spații în ele.
Următoarele sunt câteva puncte cheie despre transmiterea de argumente la funcțiile bash:
- Argumentele date sunt accesate ca , , ... $n, corespunzând poziției argumentelor după numele funcției.
- Variabila
este păstrată rezervată pentru numele funcției.În acest subiect, am demonstrat elementele de bază ale funcțiilor bash și modul în care acestea funcționează în scriptingul shell bash.
Funcțiile din scripting-ul bash sunt o opțiune excelentă pentru a reutiliza codul. O funcție Bash poate fi definită ca un set de comenzi care pot fi apelate de mai multe ori în scriptul bash. Scopul funcției în bash este să vă ajute să vă faceți scripturile mai lizibile și să evitați să scrieți același cod din nou și din nou. De asemenea, permite dezvoltatorilor să spargă un cod complicat și lung în părți mici, care pot fi apelate oricând este necesar. Funcțiile pot fi apelate oricând și în mod repetat, ceea ce ne va permite să reutilizam, să optimizăm și să minimizăm codul.
Următoarele sunt câteva puncte cheie despre funcțiile bash:
- O funcție trebuie să fie declarată în scriptul shell înainte de a o putea folosi.
- Argumentele pot fi transmise funcțiilor și accesate în interiorul funcției ca $1, $2 etc.
- Variabilele locale pot fi alocate în cadrul funcției, iar domeniul de aplicare al acestor variabile va fi doar acea funcție particulară.
- Comenzile încorporate ale shell-ului Bash pot fi suprascrise folosind funcții.
Sintaxă
Sintaxa pentru declararea unei funcții bash poate fi definită în două formate:
1. Prima metodă începe cu numele funcției, urmat de paranteze. Este cea mai preferată și utilizată metodă:
function_name () { commands }
Versiunea cu o singură linie poate fi menționată mai jos:
function_name () { commands; }
2. A doua metodă începe cu cuvântul rezervat funcției, urmat de numele funcției:
function function_name { commands }
Versiunea cu o singură linie poate fi menționată mai jos:
function function_name { commands; }
În comparație cu majoritatea limbajelor de programare, funcțiile Bash sunt oarecum limitate. Să înțelegem conceptul cu ajutorul unor exemple:
Exemplu: metoda 1
#!/bin/bash JTP () { echo 'Welcome to Javatpoint.' } JTP
Ieșire
Welcome to Javatpoint.
Exemplu: Metoda 2
#!/bin/bash function JTP { echo 'Welcome to Javatpoint.' } JTP
Ieșire
Welcome to Javatpoint.
Argumente de trecere
La fel ca majoritatea limbajelor de programare, putem de asemenea să transmitem argumentele și să procesăm datele în funcții bash. Putem insera datele în funcție într-un mod similar cu transmiterea argumentelor din linia de comandă la un script bash.
Pentru a transmite orice număr de argumente funcției bash, trebuie să le inserăm imediat după numele funcției. Trebuie să aplicăm spații între numele funcției și argumente. De asemenea, va fi o alegere excelentă să folosiți ghilimele duble în jurul argumentelor pentru a preveni interpretarea greșită a argumentelor cu spații în ele.
Următoarele sunt câteva puncte cheie despre transmiterea de argumente la funcțiile bash:
- Argumentele date sunt accesate ca $1, $2, $3 ... $n, corespunzând poziției argumentelor după numele funcției.
- Variabila $0 este păstrată rezervată pentru numele funcției.
- Variabila $# este folosită pentru a menține numărul de argument/parametru pozițional dat funcției.
- Variabilele $* și $@ sunt folosite pentru a păstra toate argumentele/parametrii dați funcției.
- Când $* este folosit cu ghilimele duble (adică, „$*” ), se extinde la un singur șir separat de spațiu. De exemplu, „$1 $2 $n etc”.
- Când $@ este folosit cu ghilimele duble (adică, „$@” ), se extinde la șirul separat. De exemplu, „$1” „$2” „$n” etc.
- Când $* și $# nu sunt folosite cu ghilimele duble, ambele sunt la fel.
Urmează codul care ilustrează procedura despre cum să transmiteți argumente funcțiilor și să accesați argumentele din interiorul funcției.
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.'
Ieșire
În acest script, am adăugat valorile „Noi”, „binevenit”, „tu”, „on” și „Javatpoint” după ce am apelat funcția_argumente. Aceste valori sunt transmise către argumente_funcție ca parametri și stocate într-o variabilă locală. Cu toate acestea, spre deosebire de alte limbi, interpretul stochează valorile transmise în variabile predefinite, care sunt apoi denumite în funcție de succesiunea parametrilor de trecere.
De exemplu,
'Noi' cuvântul este stocat în variabilă 1 .
'Bine ati venit' cuvântul este stocat în variabilă 2 .
'tu' cuvântul este stocat în variabilă 3 .
'pe' cuvântul este stocat în variabilă 4 .
„Javatpoint” cuvântul este stocat în variabilă 5 .Domeniu variabil
Variabilele globale sunt definite ca variabilele care pot fi accesate oriunde în cadrul scriptului, indiferent de domeniul de aplicare. În mod implicit, toate variabilele sunt definite ca variabile globale, chiar dacă sunt declarate în interiorul funcției. De asemenea, putem crea variabile ca variabilă locală. Variabilele locale pot fi declarate în corpul funcției cu ?local? cuvânt cheie atunci când sunt atribuite pentru prima dată. Ele sunt accesibile numai în cadrul acestei funcții. Putem crea variabile locale cu același nume în diferite funcții. Pentru a adăuga o variabilă locală, putem folosi următoarea sintaxă:
local var_name=
Pentru a înțelege mai bine cum funcționează domeniul de aplicare al variabilelor în Bash Scripting, consultați următorul exemplu:
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.'
Ieșire
Conform rezultatelor, dacă setăm o variabilă locală în corpul funcției cu același nume ca o variabilă globală existentă, atunci aceasta va avea prioritate față de variabila globală. Variabilele globale pot fi modificate în cadrul funcției.
Valori returnate
Majoritatea limbajelor de programare au conceptul de a returna o valoare pentru funcții. Înseamnă că funcția trebuie să trimită datele înapoi la locația inițială a apelării. Spre deosebire de funcțiile din limbaje de programare „reale”, funcția Bash nu oferă suport pentru a returna o valoare atunci când este apelată. Cu toate acestea, ele ne permit să setăm o stare de revenire care este similară modului în care un program sau o comandă iese cu o stare de ieșire. Când o funcție bash se finalizează, valoarea ei returnată este starea ultimei instrucțiuni executate în funcție. Returnează 0 pentru starea de succes și un număr zecimal diferit de zero în intervalul 1-255 pentru eșec.
Starea returnării poate fi indicată utilizând cuvântul cheie „retur” și este atribuită variabilei $?. Declarația return termină funcția și funcționează ca stare de ieșire a funcției.
De exemplu, luați în considerare următorul cod:
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 $?
Ieșire
O altă opțiune mai bună de a returna o valoare dintr-o funcție este să trimiteți valoarea către stdout folosind ecou sau printf comenzi, după cum se arată mai jos:
Bash Script
#!/bin/bash print_it () { local my_greet='Welcome to Javatpoint.' echo '$my_greet' } my_greet='$(print_it)' echo $my_greet
Ieșire
Welcome to Javatpoint.
Comenzi de suprascrie
Avem o opțiune de a suprascrie comenzile bash prin crearea unei funcții cu același nume ca și comanda pe care o vom înlocui. De exemplu, dacă vrem să suprascriem comanda „echo”, atunci trebuie să creăm o funcție cu numele „echo”.
Acest concept de suprascriere a comenzilor bash poate fi util în unele scenarii, cum ar fi atunci când dorim să folosim o comandă cu opțiuni specifice. De asemenea, când nu ne place să oferim opțiuni întregii comenzi de mai multe ori în cadrul scriptului. În astfel de cazuri, putem suprascrie comanda bash încorporată pentru comandă cu opțiuni. Acum, să înțelegem conceptul de înlocuire a comenzilor din Bash Shell Scripting cu ajutorul unor exemple:
Exemplu
În acest exemplu, am suprascris comanda „echo” și am adăugat marcajul de timp sub forma argumentului la comanda „echo”.
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.'
Ieșire
Concluzie
În acest subiect, am demonstrat despre Funcția Bash. O funcție Bash este considerată un bloc de cod reutilizabil dezvoltat pentru a efectua o anumită operație. Odată definit, poate fi apelat de mai multe ori în cadrul unui script.
- Variabila $# este folosită pentru a menține numărul de argument/parametru pozițional dat funcției.
- Variabilele $* și $@ sunt folosite pentru a păstra toate argumentele/parametrii dați funcției.
- Când $* este folosit cu ghilimele duble (adică, „$*” ), se extinde la un singur șir separat de spațiu. De exemplu, „ $n etc”.
- Când $@ este folosit cu ghilimele duble (adică, „$@” ), se extinde la șirul separat. De exemplu, „” „” „$n” etc.
- Când $* și $# nu sunt folosite cu ghilimele duble, ambele sunt la fel.
Urmează codul care ilustrează procedura despre cum să transmiteți argumente funcțiilor și să accesați argumentele din interiorul funcției.
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.'
Ieșire
În acest script, am adăugat valorile „Noi”, „binevenit”, „tu”, „on” și „Javatpoint” după ce am apelat funcția_argumente. Aceste valori sunt transmise către argumente_funcție ca parametri și stocate într-o variabilă locală. Cu toate acestea, spre deosebire de alte limbi, interpretul stochează valorile transmise în variabile predefinite, care sunt apoi denumite în funcție de succesiunea parametrilor de trecere.
picioare vs picior
De exemplu,
'Noi' cuvântul este stocat în variabilă 1 .
'Bine ati venit' cuvântul este stocat în variabilă 2 .
'tu' cuvântul este stocat în variabilă 3 .
'pe' cuvântul este stocat în variabilă 4 .
„Javatpoint” cuvântul este stocat în variabilă 5 .
Domeniu variabil
Variabilele globale sunt definite ca variabilele care pot fi accesate oriunde în cadrul scriptului, indiferent de domeniul de aplicare. În mod implicit, toate variabilele sunt definite ca variabile globale, chiar dacă sunt declarate în interiorul funcției. De asemenea, putem crea variabile ca variabilă locală. Variabilele locale pot fi declarate în corpul funcției cu ?local? cuvânt cheie atunci când sunt atribuite pentru prima dată. Ele sunt accesibile numai în cadrul acestei funcții. Putem crea variabile locale cu același nume în diferite funcții. Pentru a adăuga o variabilă locală, putem folosi următoarea sintaxă:
local var_name=
Pentru a înțelege mai bine cum funcționează domeniul de aplicare al variabilelor în Bash Scripting, consultați următorul exemplu:
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.'
Ieșire
Conform rezultatelor, dacă setăm o variabilă locală în corpul funcției cu același nume ca o variabilă globală existentă, atunci aceasta va avea prioritate față de variabila globală. Variabilele globale pot fi modificate în cadrul funcției.
primavara si primavara mvc
Valori returnate
Majoritatea limbajelor de programare au conceptul de a returna o valoare pentru funcții. Înseamnă că funcția trebuie să trimită datele înapoi la locația inițială a apelării. Spre deosebire de funcțiile din limbaje de programare „reale”, funcția Bash nu oferă suport pentru a returna o valoare atunci când este apelată. Cu toate acestea, ele ne permit să setăm o stare de revenire care este similară modului în care un program sau o comandă iese cu o stare de ieșire. Când o funcție bash se finalizează, valoarea ei returnată este starea ultimei instrucțiuni executate în funcție. Returnează 0 pentru starea de succes și un număr zecimal diferit de zero în intervalul 1-255 pentru eșec.
Starea returnării poate fi indicată utilizând cuvântul cheie „retur” și este atribuită variabilei $?. Declarația return termină funcția și funcționează ca stare de ieșire a funcției.
De exemplu, luați în considerare următorul cod:
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 $?
Ieșire
O altă opțiune mai bună de a returna o valoare dintr-o funcție este să trimiteți valoarea către stdout folosind ecou sau printf comenzi, după cum se arată mai jos:
listează java în matrice
Bash Script
#!/bin/bash print_it () { local my_greet='Welcome to Javatpoint.' echo '$my_greet' } my_greet='$(print_it)' echo $my_greet
Ieșire
Welcome to Javatpoint.
Comenzi de suprascrie
Avem o opțiune de a suprascrie comenzile bash prin crearea unei funcții cu același nume ca și comanda pe care o vom înlocui. De exemplu, dacă vrem să suprascriem comanda „echo”, atunci trebuie să creăm o funcție cu numele „echo”.
Acest concept de suprascriere a comenzilor bash poate fi util în unele scenarii, cum ar fi atunci când dorim să folosim o comandă cu opțiuni specifice. De asemenea, când nu ne place să oferim opțiuni întregii comenzi de mai multe ori în cadrul scriptului. În astfel de cazuri, putem suprascrie comanda bash încorporată pentru comandă cu opțiuni. Acum, să înțelegem conceptul de înlocuire a comenzilor din Bash Shell Scripting cu ajutorul unor exemple:
Exemplu
În acest exemplu, am suprascris comanda „echo” și am adăugat marcajul de timp sub forma argumentului la comanda „echo”.
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.'
Ieșire
Concluzie
În acest subiect, am demonstrat despre Funcția Bash. O funcție Bash este considerată un bloc de cod reutilizabil dezvoltat pentru a efectua o anumită operație. Odată definit, poate fi apelat de mai multe ori în cadrul unui script.