https://tldp.org/LDP/Bash-Beginners-Guide/html/ … Bash pro zacatecniky
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
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 ${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:+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: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#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%%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
declare -p pole
pole=(asi jeden clovek) … definice pole
declare -p pole1=(a v c) … jina definice pole
echo ${pole[1]} … vypise druhy clen pole
declare -p pole … vypise typ promenne a jeji hodnotu
declare -i cislo=10
readonly PI=3.14 … definice konstatny, neda se zmenit
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