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 09:55]
tomas [Promenne]
os:bash [2022/11/01 11:29] (current)
tomas [Promenne]
Line 7: Line 7:
  
 ''promenna="Ahoj svete"'' ... definice promenne\\ ''promenna="Ahoj svete"'' ... definice promenne\\
-echo ${promenna-"vychozi"} ... vypise promennou, kdyz neni definovana, tak text "vychozi", lze pouzit i prikaz `whoami`\\ +'': ${aaa?Promenna neni nadefinovana}'' ... overi, zda je promenna aaa nadefinovana, jinak vyskoci s RC1 a textem: aa: Promenna neni nadefinovana\\ 
-echo ${retezec:-ahoj} ... vypise promennou retezec, pokud je prazdny, nebo nenadefinovany, vypise ahoj\\ +''echo ${ccc:?chyba}'' ... neprovede echo, kdyz promenna ccc nexistuje, nebo je nulova, vyskoci s RC 1 a textem ccc: chyba\\ 
-echo ${retezec:=ahoj} ... vypise promennou retezec. Pokud je prazdny, nebo nenadefinovany, nadefinuje ji na ahoj a vypise ahoj\\ +''echo ${promenna-"vychozi"}'' ... vypise promennou, kdyz je definovana, tak text "vychozi", lze pouzit i prikaz `whoami`, nebo promennou $HOSTNAME.\\ 
-echo ${promenna:3} ... vypise promennou promenna, vynecha prvni 3 znaky\\ +''echo ${retezec:-ahoj}'' ... vypise promennou retezec, pokud je prazdny, nebo nenadefinovany, jinak vypise "ahoj"\\ 
-echo ${promenna:3:3} ... vypise promennou promenna, vynecha prvni 3 znaky, napise jen nasledujici 3 znaky\\ +''echo ${retezec:=ahoj}'' ... vypise promennou retezec. Pokud je prazdny, nebo nenadefinovany, nadefinuje ji na ahoj a vypise ahoj\\ 
-echo ${promenna/svete/chlape} ... vypise promennou promenna, nahradi vyskyt slova svete za chlape\\ +''echo ${retezec:+cau}'' ... vypise cau, pokud je promenna retezec nadefinovana a neprazdna (opak operatoru -)\\ 
-echo ${promenna##A*j} ... smaze pattern ze zacatku textu, vypise jen zbytek\\ +''echo ${promenna:3}'' ... vypise promennou promenna, vynecha prvni 3 znaky\\ 
-echo ${#prommena} ... vypise pocet znaku\\ +''echo ${promenna:3:3}'' ... vypise promennou promenna, vynecha prvni 3 znaky, napise jen nasledujici 3 znaky\\ 
-unset promenna ... smaze (oddefinuje) promennou\\+''echo ${promenna/svete/chlape}'' ... vypise promennou promenna, nahradi vyskyt slova svete za chlape\\ 
 +''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\\ 
 +''unset promenna'' ... smaze (oddefinuje) promennou\\
  
 ===typ pole=== ===typ pole===
Line 30: 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\\