Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
os:bash [2022/11/01 10:13]
tomas [Promenne]
os:bash [2022/11/01 11:29] (current)
tomas [Promenne]
Line 8: Line 8:
 ''promenna="Ahoj svete"'' ... definice promenne\\ ''promenna="Ahoj svete"'' ... definice promenne\\
 '': ${aaa?Promenna neni nadefinovana}'' ... overi, zda je promenna aaa nadefinovana, jinak vyskoci s RC1 a textem: aa: Promenna neni nadefinovana\\ '': ${aaa?Promenna neni nadefinovana}'' ... overi, zda je promenna aaa nadefinovana, jinak vyskoci s RC1 a textem: aa: Promenna neni nadefinovana\\
 +''echo ${ccc:?chyba}'' ... neprovede echo, kdyz promenna ccc nexistuje, nebo je nulova, vyskoci s RC 1 a textem ccc: chyba\\
 ''echo ${promenna-"vychozi"}'' ... vypise promennou, kdyz je definovana, tak text "vychozi", lze pouzit i prikaz `whoami`, nebo promennou $HOSTNAME.\\ ''echo ${promenna-"vychozi"}'' ... vypise promennou, kdyz je definovana, tak text "vychozi", lze pouzit i prikaz `whoami`, nebo promennou $HOSTNAME.\\
 ''echo ${retezec:-ahoj}'' ... vypise promennou retezec, pokud je prazdny, nebo nenadefinovany, jinak vypise "ahoj"\\ ''echo ${retezec:-ahoj}'' ... vypise promennou retezec, pokud je prazdny, nebo nenadefinovany, jinak vypise "ahoj"\\
 ''echo ${retezec:=ahoj}'' ... vypise promennou retezec. Pokud je prazdny, nebo nenadefinovany, nadefinuje ji na ahoj a vypise ahoj\\ ''echo ${retezec:=ahoj}'' ... vypise promennou retezec. Pokud je prazdny, nebo nenadefinovany, nadefinuje ji na ahoj a vypise ahoj\\
 +''echo ${retezec:+cau}'' ... vypise cau, pokud je promenna retezec nadefinovana a neprazdna (opak operatoru -)\\
 ''echo ${promenna:3}'' ... vypise promennou promenna, vynecha prvni 3 znaky\\ ''echo ${promenna:3}'' ... vypise promennou promenna, vynecha prvni 3 znaky\\
 ''echo ${promenna:3:3}'' ... vypise promennou promenna, vynecha prvni 3 znaky, napise jen nasledujici 3 znaky\\ ''echo ${promenna:3:3}'' ... vypise promennou promenna, vynecha prvni 3 znaky, napise jen nasledujici 3 znaky\\
 ''echo ${promenna/svete/chlape}'' ... vypise promennou promenna, nahradi vyskyt slova svete za chlape\\ ''echo ${promenna/svete/chlape}'' ... vypise promennou promenna, nahradi vyskyt slova svete za chlape\\
-''echo ${promenna##A*j}'' ... smaze pattern ze zacatku textu, vypise jen zbytek\\+''echo ${promenna#A*j}'' ... smaze z textu pocatecni nejkratsi mozny pattern ze zacatku textu, vypise jen konec bez patternu\\ 
 +''echo ${promenna##A*j}'' ... smaze z textu pocatecni nejdelsi mozny pattern ze zacatku textu, vypise jen konec\\ 
 +''echo ${promenna%A*j}'' ... smaze z textu koncovy nejkratsi mozny pattern ze zacatku textu, vypise jen zacatek bez patternu\\ 
 +''echo ${promenna<nowiki>%%</nowiki>A*j}'' ... smaze z textu koncovy nejdelsi mozny pattern ze zacatku textu, vypise jen zacatek\\ 
 +''echo ${promenna/aaa/j}'' ... v promenne promenna nahradi jeden vyskyt podretezce aaa za j\\ 
 +''%%echo ${promenna//aaa/j}%%'' ... v promenne promenna nahradi vsechny vyskyty podretezce aaa za j\\ 
 +''echo ${promenna/#*a/j}'' ... v promenne promenna nahradi zacatecni vyskyt podretezce aaa za j, ekvivalent ^*a\\ 
 +''echo ${promenna/%*a/j}'' ... v promenne promenna nahradi koncovy vyskyt podretezce aaa za j, ekvivalent *a$\\ 
 +''echo ${!a*}'' ... vypise vsechny promenne, ktere zacinaji na a\\ 
 +''echo ${!aaa}'' ... kdyz promenna aaa obsahuje nazev jine promenne, tak vypise hodnotu odkazovane jine promenne\\
 ''echo ${#prommena}'' ... vypise pocet znaku\\ ''echo ${#prommena}'' ... vypise pocet znaku\\
 ''unset promenna'' ... smaze (oddefinuje) promennou\\ ''unset promenna'' ... smaze (oddefinuje) promennou\\
Line 31: Line 42:
 readonly PI=3.14 ... definice konstatny, neda se zmenit\\ readonly PI=3.14 ... definice konstatny, neda se zmenit\\
  
 +====specialni zarizeni====
 +cat </dev/tcp/time.nist.gov/13 ... otevre spojeni na server time.nist.gov port 13, vypise cas\\
 +
 +echo "HEAD / HTTP/1.0" >/dev/tcp/tomas.lipensky.cz/80 ... ping na URL\\
 +
 +exec 5<>/dev/tcp/www.net.cn/80\\
 +echo -e "GET / HTTP/1.0\n" >&5\\
 +cat <&5 ... tako telnet\\