Uživatelské nástroje

Nástroje pro tento web


skripty-a-funkce

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
skripty-a-funkce [2019/10/07 22:58]
Miroslav Bernát
skripty-a-funkce [2019/10/08 00:32] (aktuální)
Miroslav Bernát
Řádek 13: Řádek 13:
 | **break** (<n>) | ukončí daný cyklus, //n// určí počet cyklů\\ ''#​!/​bin/​bash''​\\ ''#​ Skript se ukončí, pokud hodnota proměnné se rovná 3.''​\\ ''​for myloop in 1 2 3 4 5; do''​\\ <​tab>''​echo "​$myloop"''​\\ <​tab>''​if [ "​$myloop"​ -eq 3 ]; then''​\\ <​tab>''​break # This line will break out of the loop; fi''​\\ ''​done''​ | | **break** (<n>) | ukončí daný cyklus, //n// určí počet cyklů\\ ''#​!/​bin/​bash''​\\ ''#​ Skript se ukončí, pokud hodnota proměnné se rovná 3.''​\\ ''​for myloop in 1 2 3 4 5; do''​\\ <​tab>''​echo "​$myloop"''​\\ <​tab>''​if [ "​$myloop"​ -eq 3 ]; then''​\\ <​tab>''​break # This line will break out of the loop; fi''​\\ ''​done''​ |
 | **continue** (<n>) | opakuje další cyklus, //n// určí počet cyklů\\ ''#​!/​bin/​bash''​\\ ''#​ Skript povolí v názvech souborů jen malá písmena.''​\\ ''​LIST="​$(ls)"''​\\ ''​for name in "​$LIST";​ do''​\\ <​tab>''​if %%[[ "​$name"​ != *[[:​upper:​]]* ]]%%; then''​\\ <​tab>''​continue;​ fi''​\\ \\ ''​ORIG="​$name"''​\\ ''​NEW=$(echo $name | tr '​A-Z'​ '​a-z'​)''​\\ ''​mv "​$ORIG"​ "​$NEW"''​\\ ''​echo "new name for $ORIG is $NEW"''​\\ ''​done''​ | | **continue** (<n>) | opakuje další cyklus, //n// určí počet cyklů\\ ''#​!/​bin/​bash''​\\ ''#​ Skript povolí v názvech souborů jen malá písmena.''​\\ ''​LIST="​$(ls)"''​\\ ''​for name in "​$LIST";​ do''​\\ <​tab>''​if %%[[ "​$name"​ != *[[:​upper:​]]* ]]%%; then''​\\ <​tab>''​continue;​ fi''​\\ \\ ''​ORIG="​$name"''​\\ ''​NEW=$(echo $name | tr '​A-Z'​ '​a-z'​)''​\\ ''​mv "​$ORIG"​ "​$NEW"''​\\ ''​echo "new name for $ORIG is $NEW"''​\\ ''​done''​ |
-| **exit** (<n>) | ukončí skript s daným návratovým kódem, není-li uveden, návratovým kódem skriptu je návratový kód posledního příkazu uvnitř skriptu |+| **exit** (<n>) | ukončí skript s daným návratovým kódem, není-li uveden, návratovým kódem skriptu je návratový kód posledního příkazu ​spuštěného ​uvnitř skriptu |
 \\ \\
 ^ FUNKCE ^ ^ ^ FUNKCE ^ ^
 | **function** <​jmeno_funkce>​ **{** <​seznam>​**;​}** / <​jmeno_funkce>​ **()** **{** <​seznam>​**;​}** | definuje funkci, jejíž obsah je uzavřen do složených závorek; funkce se provádí v běžném shellu a využívá se zejména v případech,​ kdy je třeba provést danou operaci (posloupnost příkazů) opakovaně, spustí se zadáním jejího názvu a standardně vrací návratový kód posledního provedeného příkazu, není-li stanoveno jinak příkazem „return“;​ uvnitř funkce lze příkazem „local“ definovat lokální proměnnou (ta se dědí i do vnořených funkcí), pokud existuje globální proměnná stejného názvu, je ve funkci potlačena; funkci lze používat trvale (i po dalším spuštění shellu) jejím uvedením v //​.bashrc//;​ informace o předaných argumentech skriptům či funkcím jsou uloženy ve zvláštních proměnných („$#“ celkový počet argumentů, „$<​n>​“ daný argument v pořadí v rozmezí 1–9, „${<​n>​}“ libovolný argument v pořadí, „$*“ všechny argumenty)\\ ''#​ Funkce „test“ vytvoří soubor, který je zadán jako argument a nastaví mu daná přístupová\\ # práva. Pokud soubor stejného jména již existuje nebo zadaný název obsahuje pouze mezeru\\ # či zcela chybí, vypíše se chybová hláška.''​\\ ''​$ function test''​\\ ''>​ {''​\\ ''>​ if ! [ -e $* || $* = ('​)('​) ]; then''​\\ ''>''<​tab>''​touch $*; chmod 755 $*''​\\ ''>​ else''​\\ ''>''<​tab>''​echo "​Error"''​\\ ''>​ fi''​\\ ''>​ echo "​Počet argumentů: $#"''​\\ ''>​ echo "​Všechny argumenty: $*"''​\\ ''>​ echo "​Pátý argument: $5"''​\\ ''>​ }''​\\ \\ ''#​ Funkce „user“ zjistí, zda uživatel, který je zadán jako argument, existuje v systému,\\ # a pokud ano, vypíše o něm podrobné informace.''​\\ ''​$ user ()''​\\ ''>​ {''​\\ ''>​ if [ $(grep -ic ''''​^$1''​ ''/​etc/​passwd) -eq 0 ]; then''​\\ ''>''<​tab>''​echo "​Uzivatel $1 neexistuje."''​\\ ''>​ else''​\\ ''>''<​tab>''​echo "​Uzivatel $1 existuje."​ && finger $1''​\\ ''>​ fi''​\\ ''>​ }''​\\ \\ ''#​ Funkce „poc“ vypočítá procentuální hodnotu druhého číselného argumentu z prvního,\\ # přičemž první argument představuje hodnotu 100 %.''​\\ ''​$ poc () {''​\\ ''>​ local x=$1 y=$2''​\\ ''>​ echo "$x = 100%, $y = x%"''​\\ ''>​ echo "$y = $[$%%(( 100 * $y ))%% / $x]% z $x"''​\\ ''>​ }''​ | | **function** <​jmeno_funkce>​ **{** <​seznam>​**;​}** / <​jmeno_funkce>​ **()** **{** <​seznam>​**;​}** | definuje funkci, jejíž obsah je uzavřen do složených závorek; funkce se provádí v běžném shellu a využívá se zejména v případech,​ kdy je třeba provést danou operaci (posloupnost příkazů) opakovaně, spustí se zadáním jejího názvu a standardně vrací návratový kód posledního provedeného příkazu, není-li stanoveno jinak příkazem „return“;​ uvnitř funkce lze příkazem „local“ definovat lokální proměnnou (ta se dědí i do vnořených funkcí), pokud existuje globální proměnná stejného názvu, je ve funkci potlačena; funkci lze používat trvale (i po dalším spuštění shellu) jejím uvedením v //​.bashrc//;​ informace o předaných argumentech skriptům či funkcím jsou uloženy ve zvláštních proměnných („$#“ celkový počet argumentů, „$<​n>​“ daný argument v pořadí v rozmezí 1–9, „${<​n>​}“ libovolný argument v pořadí, „$*“ všechny argumenty)\\ ''#​ Funkce „test“ vytvoří soubor, který je zadán jako argument a nastaví mu daná přístupová\\ # práva. Pokud soubor stejného jména již existuje nebo zadaný název obsahuje pouze mezeru\\ # či zcela chybí, vypíše se chybová hláška.''​\\ ''​$ function test''​\\ ''>​ {''​\\ ''>​ if ! [ -e $* || $* = ('​)('​) ]; then''​\\ ''>''<​tab>''​touch $*; chmod 755 $*''​\\ ''>​ else''​\\ ''>''<​tab>''​echo "​Error"''​\\ ''>​ fi''​\\ ''>​ echo "​Počet argumentů: $#"''​\\ ''>​ echo "​Všechny argumenty: $*"''​\\ ''>​ echo "​Pátý argument: $5"''​\\ ''>​ }''​\\ \\ ''#​ Funkce „user“ zjistí, zda uživatel, který je zadán jako argument, existuje v systému,\\ # a pokud ano, vypíše o něm podrobné informace.''​\\ ''​$ user ()''​\\ ''>​ {''​\\ ''>​ if [ $(grep -ic ''''​^$1''​ ''/​etc/​passwd) -eq 0 ]; then''​\\ ''>''<​tab>''​echo "​Uzivatel $1 neexistuje."''​\\ ''>​ else''​\\ ''>''<​tab>''​echo "​Uzivatel $1 existuje."​ && finger $1''​\\ ''>​ fi''​\\ ''>​ }''​\\ \\ ''#​ Funkce „poc“ vypočítá procentuální hodnotu druhého číselného argumentu z prvního,\\ # přičemž první argument představuje hodnotu 100 %.''​\\ ''​$ poc () {''​\\ ''>​ local x=$1 y=$2''​\\ ''>​ echo "$x = 100%, $y = x%"''​\\ ''>​ echo "$y = $[$%%(( 100 * $y ))%% / $x]% z $x"''​\\ ''>​ }''​ |
-| **return** (<n>) | ukončí funkci daným návratovým kódem, není-li uveden, ​bere se v úvahu ​návratový kód posledního ​provedeného ​příkazu uvnitř funkce |+| **return** (<n>) | ukončí funkci ​daným návratovým kódem, není-li uveden, ​návratovým kódem funkce je návratový kód posledního příkazu ​spuštěného ​uvnitř funkce |
Poslední úprava: 2019/10/08 00:32 autor: Miroslav Bernát

počet návštěv: