V tejto téme sme demonštrovali základy bash funkcií a ako fungujú v bash shell skriptovaní.
Funkcie v skriptovaní bash sú skvelou možnosťou opätovného použitia kódu. Funkciu Bash možno definovať ako množinu príkazov, ktoré možno v rámci skriptu bash volať niekoľkokrát. Účelom funkcie v bash je pomôcť vám urobiť vaše skripty čitateľnejšími a vyhnúť sa opakovanému písaniu rovnakého kódu. Umožňuje tiež vývojárom rozložiť komplikovaný a zdĺhavý kód na malé časti, ktoré môžu byť volané kedykoľvek je to potrebné. Funkcie je možné volať kedykoľvek a opakovane, čo nám umožní opätovne použiť, optimalizovať a minimalizovať kód.
Nasleduje niekoľko kľúčových bodov o funkciách bash:
- Funkcia musí byť deklarovaná v skripte shellu, aby sme ju mohli použiť.
- Argumenty možno odovzdať funkciám a pristupovať k nim vo funkcii ako , atď.
- V rámci funkcie je možné priradiť lokálne premenné a rozsahom takýchto premenných bude len táto konkrétna funkcia.
- Vstavané príkazy shellu Bash možno prepísať pomocou funkcií.
Syntax
Syntax pre deklaráciu bash funkcie možno definovať v dvoch formátoch:
1. Prvá metóda začína názvom funkcie, za ktorým nasledujú zátvorky. Je to najobľúbenejšia a najpoužívanejšia metóda:
function_name () { commands }
Jednoriadková verzia môže byť uvedená nižšie:
function_name () { commands; }
2. Druhá metóda začína vyhradeným slovom funkcie, za ktorým nasleduje názov funkcie:
c štruktúra v štruktúre
function function_name { commands }
Jednoriadková verzia môže byť uvedená nižšie:
function function_name { commands; }
V porovnaní s väčšinou programovacích jazykov sú funkcie Bash trochu obmedzené. Poďme pochopiť tento koncept pomocou niekoľkých príkladov:
Príklad: Metóda 1
#!/bin/bash JTP () { echo 'Welcome to Javatpoint.' } JTP
Výkon
Welcome to Javatpoint.
Príklad: Metóda 2
#!/bin/bash function JTP { echo 'Welcome to Javatpoint.' } JTP
Výkon
Welcome to Javatpoint.
Podávanie argumentov
Rovnako ako väčšina programovacích jazykov, môžeme tiež odovzdať argumenty a spracovať údaje vo funkciách bash. Dáta do funkcie môžeme vložiť podobným spôsobom ako argumenty príkazového riadku odovzdávania do bash skriptu.
čo je mac os
Aby sme funkcii bash odovzdali ľubovoľný počet argumentov, musíme ich vložiť hneď za názov funkcie. Medzi názvom funkcie a argumentmi musíme použiť medzery. Skvelou voľbou bude aj použitie dvojitých úvodzoviek okolo argumentov, aby sa zabránilo nesprávnemu spracovaniu argumentov s medzerami.
Nasleduje niekoľko kľúčových bodov o odovzdávaní argumentov funkciám bash:
- K daným argumentom sa pristupuje ako , , ... $n, čo zodpovedá pozícii argumentov za názvom funkcie.
- Premenná
je rezervovaná pre názov funkcie.V tejto téme sme demonštrovali základy bash funkcií a ako fungujú v bash shell skriptovaní.
Funkcie v skriptovaní bash sú skvelou možnosťou opätovného použitia kódu. Funkciu Bash možno definovať ako množinu príkazov, ktoré možno v rámci skriptu bash volať niekoľkokrát. Účelom funkcie v bash je pomôcť vám urobiť vaše skripty čitateľnejšími a vyhnúť sa opakovanému písaniu rovnakého kódu. Umožňuje tiež vývojárom rozložiť komplikovaný a zdĺhavý kód na malé časti, ktoré môžu byť volané kedykoľvek je to potrebné. Funkcie je možné volať kedykoľvek a opakovane, čo nám umožní opätovne použiť, optimalizovať a minimalizovať kód.
Nasleduje niekoľko kľúčových bodov o funkciách bash:
- Funkcia musí byť deklarovaná v skripte shellu, aby sme ju mohli použiť.
- Argumenty možno odovzdať funkciám a pristupovať k nim vo funkcii ako $1, $2 atď.
- V rámci funkcie je možné priradiť lokálne premenné a rozsahom takýchto premenných bude len táto konkrétna funkcia.
- Vstavané príkazy shellu Bash možno prepísať pomocou funkcií.
Syntax
Syntax pre deklaráciu bash funkcie možno definovať v dvoch formátoch:
1. Prvá metóda začína názvom funkcie, za ktorým nasledujú zátvorky. Je to najobľúbenejšia a najpoužívanejšia metóda:
function_name () { commands }
Jednoriadková verzia môže byť uvedená nižšie:
function_name () { commands; }
2. Druhá metóda začína vyhradeným slovom funkcie, za ktorým nasleduje názov funkcie:
function function_name { commands }
Jednoriadková verzia môže byť uvedená nižšie:
function function_name { commands; }
V porovnaní s väčšinou programovacích jazykov sú funkcie Bash trochu obmedzené. Poďme pochopiť tento koncept pomocou niekoľkých príkladov:
Príklad: Metóda 1
#!/bin/bash JTP () { echo 'Welcome to Javatpoint.' } JTP
Výkon
Welcome to Javatpoint.
Príklad: Metóda 2
#!/bin/bash function JTP { echo 'Welcome to Javatpoint.' } JTP
Výkon
Welcome to Javatpoint.
Podávanie argumentov
Rovnako ako väčšina programovacích jazykov, môžeme tiež odovzdať argumenty a spracovať údaje vo funkciách bash. Dáta do funkcie môžeme vložiť podobným spôsobom ako argumenty príkazového riadku odovzdávania do bash skriptu.
Aby sme funkcii bash odovzdali ľubovoľný počet argumentov, musíme ich vložiť hneď za názov funkcie. Medzi názvom funkcie a argumentmi musíme použiť medzery. Skvelou voľbou bude aj použitie dvojitých úvodzoviek okolo argumentov, aby sa zabránilo nesprávnemu spracovaniu argumentov s medzerami.
Nasleduje niekoľko kľúčových bodov o odovzdávaní argumentov funkciám bash:
- K daným argumentom sa pristupuje ako $1, $2, $3 ... $n, čo zodpovedá pozícii argumentov za názvom funkcie.
- Premenná $0 je rezervovaná pre názov funkcie.
- Premenná $# sa používa na uloženie počtu pozičných argumentov/parametrov zadaných funkcii.
- Premenné $* a $@ sa používajú na uchovávanie všetkých argumentov/parametrov zadaných funkcii.
- Keď sa $* použije s dvojitými úvodzovkami (t. j. '$*' ), rozšíri sa na jeden reťazec oddelený medzerou. Napríklad '$1 $2 $n atď'.
- Keď sa $@ použije s dvojitými úvodzovkami (t. j. '$@' ), rozšíri sa na samostatný reťazec. Napríklad '$1' '$2' '$n' atď.
- Keď $* a $# nie sú použité s dvojitými úvodzovkami, obe sú rovnaké.
Nasleduje kód, ktorý ilustruje postup odovzdávania argumentov funkciám a prístupu k argumentom vo funkcii.
Bash skript
#!/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.'
Výkon
Do tohto skriptu sme pridali hodnoty 'We', 'welcome', 'you', 'on' a 'Javatpoint' potom, čo sme zavolali argumenty funkcie. Tieto hodnoty sa prenášajú do argumenty_funkcie ako parametre a uložené v lokálnej premennej. Na rozdiel od iných jazykov však tlmočník ukladá odovzdané hodnoty do preddefinovaných premenných, ktoré sú následne pomenované podľa postupnosti odovzdávania parametrov.
Napríklad,
'my' slovo sa uloží do premennej 1 .
'vitajte' slovo sa uloží do premennej 2 .
'ty' slovo sa uloží do premennej 3 .
'zap' slovo sa uloží do premennej 4 .
„Javatpoint“ slovo sa uloží do premennej 5 .Variabilný rozsah
Globálne premenné sú definované ako premenné, ku ktorým je možné pristupovať kdekoľvek v rámci skriptu bez ohľadu na rozsah. Štandardne sú všetky premenné definované ako globálne premenné, aj keď sú deklarované vo funkcii. Premenné môžeme vytvárať aj ako lokálnu premennú. Lokálne premenné môžu byť deklarované v tele funkcie pomocou ?local? pri prvom priradení. Sú prístupné iba v rámci tejto funkcie. V rôznych funkciách môžeme vytvárať lokálne premenné s rovnakým názvom. Na pridanie lokálnej premennej môžeme použiť nasledujúcu syntax:
local var_name=
Ak chcete lepšie pochopiť, ako funguje rozsah premenných v skriptovaní Bash, pozrite si nasledujúci príklad:
Bash skript
#!/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.'
Výkon
Podľa výstupu, ak nastavíme lokálnu premennú v tele funkcie s rovnakým názvom ako existujúca globálna premenná, potom bude mať prednosť pred globálnou premennou. Globálne premenné je možné v rámci funkcie upravovať.
Návratové hodnoty
Väčšina programovacích jazykov má koncepciu vrátenia hodnoty pre funkcie. To znamená, že funkcia musí poslať dáta späť na pôvodné miesto volania. Na rozdiel od funkcií v „skutočných“ programovacích jazykoch funkcia Bash neposkytuje podporu na vrátenie hodnoty, keď je volaná. Umožňujú nám však nastaviť návratový stav, ktorý je podobný tomu, ako ukončí program alebo príkaz so stavom ukončenia. Keď sa funkcia bash dokončí, jej návratovou hodnotou je stav posledného vykonaného príkazu vo funkcii. V prípade úspešného stavu vráti 0 a v prípade zlyhania vráti nenulové desiatkové číslo v rozsahu 1-255.
Návratový stav možno indikovať pomocou kľúčového slova „návrat“ a je priradený k premennej $?. Príkaz return ukončí funkciu a funguje ako stav ukončenia funkcie.
Napríklad, zvážte nasledujúci kód:
Bash skript
#!/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 $?
Výkon
Ďalšou lepšou možnosťou na vrátenie hodnoty z funkcie je odoslanie hodnoty stdout použitím ozvena alebo printf príkazy, ako je uvedené nižšie:
Bash skript
#!/bin/bash print_it () { local my_greet='Welcome to Javatpoint.' echo '$my_greet' } my_greet='$(print_it)' echo $my_greet
Výkon
Welcome to Javatpoint.
Prevažujúce príkazy
Máme možnosť prepísať príkazy bash vytvorením funkcie s rovnakým názvom ako príkaz, ktorý sa chystáme prepísať. Napríklad, ak chceme prepísať príkaz 'echo', musíme vytvoriť funkciu s názvom 'echo'.
Tento koncept prepísania príkazov bash môže byť užitočný v niektorých scenároch, napríklad keď chceme použiť príkaz so špecifickými možnosťami. Tiež, keď sa nám nepáči poskytnúť celému príkazu niekoľko možností v rámci skriptu. V takýchto prípadoch môžeme prepísať vstavaný príkaz bash pre príkaz s možnosťami. Teraz pochopme koncept prepísania príkazov v Bash Shell Scripting pomocou niekoľkých príkladov:
Príklad
V tomto príklade sme prepísali príkaz 'echo' a pridali časovú pečiatku vo forme argumentu k príkazu 'echo'.
Bash skript
#!/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.'
Výkon
Záver
V tejto téme sme demonštrovali funkciu Bash. Funkcia Bash sa považuje za blok opätovne použiteľného kódu vyvinutého na vykonanie špecifickej operácie. Akonáhle je definovaný, môže byť volaný niekoľkokrát v rámci skriptu.
- Premenná $# sa používa na uloženie počtu pozičných argumentov/parametrov zadaných funkcii.
- Premenné $* a $@ sa používajú na uchovávanie všetkých argumentov/parametrov zadaných funkcii.
- Keď sa $* použije s dvojitými úvodzovkami (t. j. '$*' ), rozšíri sa na jeden reťazec oddelený medzerou. Napríklad ' $n atď'.
- Keď sa $@ použije s dvojitými úvodzovkami (t. j. '$@' ), rozšíri sa na samostatný reťazec. Napríklad '' '' '$n' atď.
- Keď $* a $# nie sú použité s dvojitými úvodzovkami, obe sú rovnaké.
Nasleduje kód, ktorý ilustruje postup odovzdávania argumentov funkciám a prístupu k argumentom vo funkcii.
Bash skript
#!/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.'
Výkon
Do tohto skriptu sme pridali hodnoty 'We', 'welcome', 'you', 'on' a 'Javatpoint' potom, čo sme zavolali argumenty funkcie. Tieto hodnoty sa prenášajú do argumenty_funkcie ako parametre a uložené v lokálnej premennej. Na rozdiel od iných jazykov však tlmočník ukladá odovzdané hodnoty do preddefinovaných premenných, ktoré sú následne pomenované podľa postupnosti odovzdávania parametrov.
Napríklad,
'my' slovo sa uloží do premennej 1 .
'vitajte' slovo sa uloží do premennej 2 .
'ty' slovo sa uloží do premennej 3 .
'zap' slovo sa uloží do premennej 4 .
„Javatpoint“ slovo sa uloží do premennej 5 .
vyhľadávač a príklady
Variabilný rozsah
Globálne premenné sú definované ako premenné, ku ktorým je možné pristupovať kdekoľvek v rámci skriptu bez ohľadu na rozsah. Štandardne sú všetky premenné definované ako globálne premenné, aj keď sú deklarované vo funkcii. Premenné môžeme vytvárať aj ako lokálnu premennú. Lokálne premenné môžu byť deklarované v tele funkcie pomocou ?local? pri prvom priradení. Sú prístupné iba v rámci tejto funkcie. V rôznych funkciách môžeme vytvárať lokálne premenné s rovnakým názvom. Na pridanie lokálnej premennej môžeme použiť nasledujúcu syntax:
local var_name=
Ak chcete lepšie pochopiť, ako funguje rozsah premenných v skriptovaní Bash, pozrite si nasledujúci príklad:
Bash skript
#!/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.'
Výkon
Podľa výstupu, ak nastavíme lokálnu premennú v tele funkcie s rovnakým názvom ako existujúca globálna premenná, potom bude mať prednosť pred globálnou premennou. Globálne premenné je možné v rámci funkcie upravovať.
Návratové hodnoty
Väčšina programovacích jazykov má koncepciu vrátenia hodnoty pre funkcie. To znamená, že funkcia musí poslať dáta späť na pôvodné miesto volania. Na rozdiel od funkcií v „skutočných“ programovacích jazykoch funkcia Bash neposkytuje podporu na vrátenie hodnoty, keď je volaná. Umožňujú nám však nastaviť návratový stav, ktorý je podobný tomu, ako ukončí program alebo príkaz so stavom ukončenia. Keď sa funkcia bash dokončí, jej návratovou hodnotou je stav posledného vykonaného príkazu vo funkcii. V prípade úspešného stavu vráti 0 a v prípade zlyhania vráti nenulové desiatkové číslo v rozsahu 1-255.
Návratový stav možno indikovať pomocou kľúčového slova „návrat“ a je priradený k premennej $?. Príkaz return ukončí funkciu a funguje ako stav ukončenia funkcie.
Napríklad, zvážte nasledujúci kód:
ako otvoriť súbor pomocou java
Bash skript
#!/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 $?
Výkon
Ďalšou lepšou možnosťou na vrátenie hodnoty z funkcie je odoslanie hodnoty stdout použitím ozvena alebo printf príkazy, ako je uvedené nižšie:
čo je hashset v jave
Bash skript
#!/bin/bash print_it () { local my_greet='Welcome to Javatpoint.' echo '$my_greet' } my_greet='$(print_it)' echo $my_greet
Výkon
Welcome to Javatpoint.
Prevažujúce príkazy
Máme možnosť prepísať príkazy bash vytvorením funkcie s rovnakým názvom ako príkaz, ktorý sa chystáme prepísať. Napríklad, ak chceme prepísať príkaz 'echo', musíme vytvoriť funkciu s názvom 'echo'.
Tento koncept prepísania príkazov bash môže byť užitočný v niektorých scenároch, napríklad keď chceme použiť príkaz so špecifickými možnosťami. Tiež, keď sa nám nepáči poskytnúť celému príkazu niekoľko možností v rámci skriptu. V takýchto prípadoch môžeme prepísať vstavaný príkaz bash pre príkaz s možnosťami. Teraz pochopme koncept prepísania príkazov v Bash Shell Scripting pomocou niekoľkých príkladov:
Príklad
V tomto príklade sme prepísali príkaz 'echo' a pridali časovú pečiatku vo forme argumentu k príkazu 'echo'.
Bash skript
#!/bin/bash #Script to override command using function echo () { builtin echo -n `date +'[%m-%d %H:%M:%S]'` ': ' builtin echo } echo 'Welcome to Javatpoint.'
Výkon
Záver
V tejto téme sme demonštrovali funkciu Bash. Funkcia Bash sa považuje za blok opätovne použiteľného kódu vyvinutého na vykonanie špecifickej operácie. Akonáhle je definovaný, môže byť volaný niekoľkokrát v rámci skriptu.