sh <meno suboru> <parametre>alebo ak chceme script debugovat:
sh -x <meno suboru> <parametre>
Shell script je jednoducho textovy subor do ktoreho si ulozime
postupnost prikazov. Spustenim shell scriptu sa tieto prikazy zacnu
vykonavat akoby sme ich pisali interaktivne v prikazovom riadku.
Ak naprikald subor ahoj.sh obsahuje riadky:
sh ahoj.shvypise hello world |
Shell je aj program s ktorym komunikujete v prikazovom riadku. Pri spusteni takehoto shell-u sa zvycajne najskor zinterpretuje initializacny subor, tento subor je v domovskom adresari uzivatela a vola sa (podla shellu): '.profile' alebo '.bashrc' alebo '.cshrc' alebo 'bash_profile', ... Priklad mojho suboru .bashrc. |
premenne sa pouzivaju bez deklaracie, vsetky premenne su interpretovane ako retazce. Nepriradene premenne obsahuju prazdny retazec. |
xx=value | Priradenie hodnoty value do premennej xx |
read xx | Nacita riadok z klavesnice a priradi ho do premennej xx. Ak nacita znak "koniec suboru", tak vrati chybovy navratovy kod. |
${xx} | Hodnota premennej xx. |
$n | Hodnota n-teho parametra. |
$* | Hodnoty vsetkych parametrov. |
$! | PID poslednej ulohy spustenej na pozadi. |
$$ | PID prave beziaceho (tohto) shellu. |
$? | Navratovy kod posledne vykonaneho prikazu. |
PWD | Path to Working Directory (meno sucasneho pracovneho adresara) |
HOME | Meno domovskeho adresara |
PATH | Zoznam ciest kde sa nachadzaju vykonatelne programy |
USER | Meno prihlaseneho uzivatela (moje meno) |
DISPLAY | X windows server na ktorom sa zobrazia graficke aplikacie. |
PS1 | Prompt String, kod retazca, ktory shell vypise ked ocakava prikaz z konzoly. (zvycajne > zobacik) |
Prikaz | Popis | ||||||||||||||||||||||||||||||||||
expr expr | vyhodnoti expr a vypise na standardny vystup vysledok ako string, pouziva sa na implementovanie trivialnej aritmetiky. | ||||||||||||||||||||||||||||||||||
Jednotlive symboly v expr su zlozene z parametrov a mozu byt napriklad:
Nasledovne logicke operatory sa vyhodnotie na cislo 1 alebo 0 (reprezentujuce pravdu alebo nepravdu)
| |||||||||||||||||||||||||||||||||||
bc | Cita svoj standardny vstup, na vstupe dostane vyraz (v normalnom zapise), ktory vyhodnoti a vysledok vypise (pohodlna ale neefektivna alternativa k expr). Program bc pouziva celociselnu aritmetiku s lubovolnou presnostou. |
1.) Priradte do premennej TOTO retazec "ahoj ja som toto" a vypiste hodnotu TOTO pomocou prikazu echo. 2.) Vypocitajte pomocou prikazu expr hodnotu vyrazu 2 + 2. 3.) Vypocitajte pomocou prikazu expr hodnotu vyrazu 2 * 2. 4.) Vypocitajte pomocou prikazu bc hodnotu vyrazu 2 * 2. 5.) Priradte do premennej TOTO cislo 10 a napiste prikazovy riadok, ktory zdvojnasobi hodnotu premennej TOTO. T.j. po jeho vykonavaniach bude TOTO nadobudat hodnoty 20, 40, 80, ... 6.) Napiste shell script s menom checho, ktory vypise svoje tri parametre (podobne ako prikaz echo, ale staci ak vypise tri parametre). 7.) Napiste shell script "subor.sh", ktory dostane ako parameter meno suboru a vypise toto meno bez koncovky. 8.) Napiste shell script "nasobic.sh", ktory vypise prompt "Zadaj cislo:", nacita cislo zo standardneho vstupu a vypise dane cislo zvysene o jedna a potom vynasobene cislom 11. |