NÁZOV
sh - tlmočník príkazov (shell)
SYNOPSA
sh -/ + ACefnuvxIimqsVEbc -o longname -words cieľ …
POPIS
Sh je štandardný príkazový interpret pre systém. Aktuálna verziash je v procese zmeny, aby zodpovedalPOSIX 1003.2 a 1003.2a pre škrupinu. Táto verzia má mnoho funkcií, ktoré v niektorých ohľadoch vyzerajú podobne ako Korn shell, ale nie sú klonom Korn shell (pozri ksh (1)). Iba funkcie označenéPOSIX plus niekoľko rozšírení v Berkeley. OčakávamePOSIX súlad s časom 4.4 Uvoľnenie BSD. Táto manuálová stránka nie je určená ako návod alebo úplná špecifikácia shellu.
Prehľad
Shell je príkaz, ktorý číta riadky buď zo súboru, alebo z terminálu, interpretuje ich a všeobecne spúšťa iné príkazy. Je to program, ktorý sa spúšťa, keď sa používateľ prihlási do systému (hoci používateľ môže vybrať iný shell pomocou príkazu chsh (1)). Obal implementuje jazyk, ktorý obsahuje konštrukty riadenia toku, makro zariadenia, ktoré okrem ukladania dát ponúkajú rôzne funkcie spolu so schopnosťami spracovania histórie a riadkov. Zahŕňa mnoho funkcií na podporu interaktívneho používania a má tú výhodu, že interpretačný jazyk je spoločný pre interaktívne aj neinteraktívne použitie (shell skripty). To znamená, že príkazy môžu byť napísané priamo do bežiaceho shellu alebo môžu byť vložené do súboru a súbor môže byť spustený priamo cez shell.
invokácie
Ak nie sú prítomné žiadne argumenty a ak je štandardný vstup shell pripojený k terminálu (alebo ak je -javlajka je nastavená) a -C možnosť nie je prítomná, shell sa považuje za interaktívny shell. Interaktívny shell vo všeobecnosti vyzve pred každým príkazom a spracúva chyby programovania a príkazov inak (ako je popísané nižšie). Pri prvom spustení shell kontroluje argument 0 a ak začína pomlčkou `- ', shell sa tiež považuje za prihlasovací shell. Za normálnych okolností to systém robí automaticky, keď sa používateľ prvýkrát prihlási. Prihlasovací shell najprv prečíta príkazy zo súborov / etc / profile a .profile, ak existujú. Ak je premenná prostrediaENV je nastavená na vstup do shellu, alebo je nastavená v .profile prihlasovacieho shellu, shell potom číta príkazy zo súboru s názvomENVPoužívateľ by preto mal umiestňovať príkazy, ktoré sa majú vykonať iba v čase prihlásenia v súbore .profile, a príkazy, ktoré sa vykonávajú pre každý shell vo vnútriENV súboru. NastavenieENV premenné na určitý súbor, umiestnite nasledujúci riadok do vášho .profile vášho domovského adresára
ENV = $ HOME / .shinit; export ENV
nahradiť `` .shinit '' ľubovoľný názov súboru, ktorý chcete. Vzhľadom k tomu,ENV súbor je čítaný pre každé vyvolanie shell vrátane skriptov shell a neinterakčných škrupín, nasledujúca paradigma je užitočná na obmedzenie príkazov vENV súboru na interaktívne invokácie. Položte príkazy do `` case '' a `esac '' nižšie (tieto príkazy sú opísané neskôr):
prípad $ - v * i *)
# príkazy pre interaktívne použitie
…
esac
Ak boli zadané argumenty príkazového riadku okrem možností, potom shell spracuje prvý argument ako názov súboru, z ktorého sa majú čítať príkazy (shellový skript) a zostávajúce argumenty sú nastavené ako polohové parametre shell ($ 1 , $ 2, atď.). Inak shell prečíta príkazy z jeho štandardného vstupu.
Spracovanie zoznamu argumentov
Všetky možnosti jedného písmena majú zodpovedajúce meno, ktoré sa môže použiť ako argument pre -o voľba. Sada -o názov sa nachádza vedľa možnosti jedného písmena v nižšie uvedenom popise. Zadaním pomlčky `` - '' sa táto voľba zapne, zatiaľ čo používanie plus `` + '' túto možnosť zakáže. Nasledujúce voľby je možné nastaviť z príkazového riadku alebo so súpravou (1) vstavanou (popísanou neskôr).
-a allexport
Exportovať všetky priradené premenné. (NEIMPLEMENTED pre 4,4 a)
-c
Čítať príkazy z príkazového riadku. Z štandardného vstupu nebudú čítať žiadne príkazy.
-C noclobber
Neprepíšte existujúce súbory s ``> '' (NEIMPLEMENTED pre 4.4alpha)
-e errexit
Ak nie je interaktívny, ihneď opustite, ak neúspešný príkaz zlyhá. Stav ukončenia príkazu sa považuje za explicitne testovaný, ak sa príkaz používa na ovládanieak elifwhile alebokým alebo ak je príkaz ľavý operand operátora `` & '' alebo `` || ''.
-f noglob
Zakázať rozšírenie názvu cesty.
-n noexec
Ak nie sú interaktívne, čítajú príkazy, ale nevykonávajú ich. To je užitočné pri kontrole syntaxe skriptov pre shell.
-u nounset
Napíšte správu štandardnej chybe pri pokuse o rozbalenie premennej, ktorá nie je nastavená a ak nie je interaktívny shell, okamžite opustite. (NEIMPLEMENTED pre 4,4 a)
-v ukecaný
Shell zapisuje svoj vstup do štandardnej chyby pri čítaní. Užitočné pre ladenie.
-X XTRAC
Napíšte každý príkaz na štandardnú chybu (pred ním je pred znakom "+") Užitočné pri ladení.
-q quietprofile
Ak je -proti alebo -X boli nastavené, neuplatňujú sa pri čítaní inicializačných súborov, ktoré sú / etc / profile .profile a súbor špecifikovanýENV premenná prostredia.
-I IGNOREEOF
Ignorovať EOF od vstupu, keď je interaktívny.
-i interaktívne
Vynúťte shell interaktívne.
-m monitor
Zapnite funkciu kontroly úloh (nastavte automaticky pri interaktívnom nastavení).
-s stdin
Čítanie príkazov zo štandardného vstupu (nastavenie automaticky, ak nie sú k dispozícii žiadne argumenty). Táto možnosť nemá žiadny účinok, keď je nastavená po spustení shellu (t. J. S množinou (1)).
-V vi
Povoliť vstavaný editor vír (1) (vypne -E ak bola nastavená).
-E emacs
Povoliť vstavaný emacs (1) editor príkazového riadku (vypne -V ak bola nastavená).
-b oznámiť
Povoliť asynchrónne oznamovanie dokončenia pozadia. (NEIMPLEMENTED pre 4,4 a)
Lexikálna štruktúra
Shell číta vstup z hľadiska riadkov zo súboru a rozdelí ho do slov na prázdnych miestach (medzery a karty) a na určité sekvencie znakov, ktoré sú špeciálne pre shell nazývané "operátori". Existujú dva typy operátorov: kontrolných operátorov a operátorov presmerovania (ich význam je uvedený neskôr). Nasleduje zoznam operátorov:
"Ovládaní operátori:"
& && ( ) ; ;; | || "Operátor presmerovania:" < > >| << >> <& >& <<- <>
Citácia sa používa na odstránenie špeciálneho významu určitých znakov alebo slov do shell, ako sú operátory, medzery alebo kľúčové slová. Existujú tri typy citácií: zodpovedajúce jednotlivé úvodzovky, zodpovedajúce dvojité úvodzovky a spätné lomítko. Spätné lomítko zachováva doslovný význam nasledujúceho znaku, s výnimkou Aq newline. Spätné lomítko, ktoré predchádza Aq newline, sa považuje za pokračovanie v riadku. Uzatvorenie znakov v jednoduchých úvodzovkách zachováva doslovný význam všetkých znakov (okrem jednoduchých úvodzoviek, čo znemožňuje uvádzať jednotlivé úvodzovky v jednoznačnom reťazci). Zapísanie znakov v rámci dvojitých úvodzoviek zachováva doslovný význam všetkých znakov s výnimkou znakov dolary ($) a spätného lomka () Spätné lomítko vo vnútri dvojitých úvodzoviek je historicky podivné a slúži na citovanie iba nasledujúcich znakov: $ ` Inak zostane doslovný. Vyhradené slová sú slová, ktoré majú špeciálny význam pre shell a sú rozpoznané na začiatku čiary a po operátorovi kontroly. Nasledujúce sú rezervované slová: ! taelif Ta fi Ta, zatiaľ čo Ta prípad inak Tapre Ta potom Ta {Ta} do Taurobil Ta až kým Ta if esac Ich význam sa neskôr diskutuje. Alias je názov a zodpovedajúca hodnota nastavená pomocou príkazu alias (1) vstavaný. Kedykoľvek môže dôjsť k vyhradenému slovu (pozri vyššie) a po kontrole rezervovaných slov shell skontroluje, či sa zhoduje s aliasom. Ak tak urobí, nahradí ho vo vstupnom toku jeho hodnotou. Napríklad, ak existuje alias s názvom `` lf '' s hodnotou `` ls-F '', potom vstup: Ak foobar by sa stal ls -F foobar Aliasy poskytujú pohodlný spôsob, ako naivní užívatelia môžu vytvárať skratky pre príkazy bez nutnosti naučiť sa vytvárať funkcie s argumentmi. Môžu byť tiež použité na vytvorenie lexikálne temného kódu. Toto použitie sa odrádza. Shell interpretuje slová, ktoré číta podľa jazyka, ktorého špecifikácia je mimo rozsahu tejto manuálovej stránky (pozri BNF vPOSIX Dokument 1003,2). V podstate je čítaný riadok a ak prvé slovo riadku (alebo po riadiacej jednotke) nie je vyhradené slovo, potom shell rozpoznal jednoduchý príkaz. V opačnom prípade mohol byť rozpoznaný zložitý príkaz alebo iný špeciálny konštrukt. Ak bol rozpoznaný jednoduchý príkaz, shell vykoná nasledujúce akcie: Prvé slová formulára `` name = value '' sa zbavia a priradia sa do prostredia jednoduchého príkazu. Operátor presmerovania a jeho argumenty (ako je popísané nižšie) sú oddelené a uložené na spracovanie. Zvyšné slová sa rozširujú tak, ako je to popísané v časti nazvanej "Rozšírenia" a prvé zostávajúce slovo sa považuje za príkaz a príkaz sa nachádza. Zvyšné slová sú považované za argumenty príkazu. Ak nebol výsledný názov príkazu, potom priradenie premennej `` name = value '' rozpoznané v položke 1 ovplyvní aktuálny shell. Presmerovania sa vykonávajú podľa popisu v ďalšej časti. presmerovanie Presmerovania sa používajú na zmenu miesta, kde príkaz číta vstup alebo odošle svoj výstup. Vo všeobecnosti presmerovania otvárajú, zatvárajú alebo duplikujú existujúci odkaz na súbor. Celkový formát použitý na presmerovanie je: n redir-op súbor kde redir-op je jedným z vyššie uvedených operátorov presmerovania. Nasleduje zoznam možných presmerovaní. Bq n je voliteľné číslo, ako v "3" (nie "Bq 3", ktoré odkazuje na deskriptor súborov. n> súbor Presmerovanie štandardného výstupu (alebo n) do súboru. n> súbor Rovnako, ale prekonať -C voľba. n >> súbor Pridajte štandardný výstup (alebo n) do súboru. n <súbor Presmerovanie štandardného vstupu (alebo n) zo súboru. n1 <& n2 Duplicitný štandardný vstup (alebo n1) z deskriptora súboru n2. n <& - Zatvorte štandardný vstup (alebo n). n1> & n2 Duplicitný štandardný výstup (alebo n1) z n2. n> & - Zatvorte štandardný výstup (alebo n). n <> súbor Otvoriť súbor na čítanie a zápis na štandardný vstup (alebo n). Nasledujúce presmerovanie sa často nazýva "tu-dokument" n << oddeľovač Tu-doc-textu … oddeľovač Celý text na postupných riadkoch až po oddeľovač sa uloží a sprístupní príkazu na štandardnom vstupe alebo deskriptoru súborov n, ak je zadaný.Ak sa uvádza oddeľovač špecifikovaný na úvodnom riadku, text here-doc sa spracováva doslovne, inak sa text podrobí expanzii parametrov, substitúcii príkazov a aritmetickej expanzii (ako je popísané v časti o rozšíreniach) "Ak je operátor` `<< - '' namiesto` `<< '', potom sú prúžky vedúce do here-doc-text odstránené. Existujú tri typy príkazov: shell funkcie, vstavané príkazy a normálne programy - a príkaz sa hľadá (podľa mena) v tomto poradí. Každý z nich je vykonaný iným spôsobom. Keď sa vykoná funkcia shellu, všetky pozície parametrov shell (okrem $ 0, ktoré zostávajú nezmenené) sú nastavené na argumenty funkcie shell. Premenné, ktoré sú explicitne umiestnené v prostredí príkazu (umiestnením priradení k nim pred názvom funkcie), sú vykonané lokálne pre danú funkciu a sú nastavené na zadané hodnoty. Potom sa vykoná príkaz uvedený v definícii funkcie. Po zadaní príkazu sa polohové parametre obnovia na pôvodné hodnoty. Toto všetko sa vyskytuje v rámci súčasného prostredia. Vstavané Shell sú vykonávané vnútorne do shell, bez toho, aby sa vytvoril nový proces. V opačnom prípade, ak sa názov príkazu nezhoduje s funkciou alebo vstavanou, príkaz sa vyhľadá ako bežný program v súborovom systéme (ako je popísané v ďalšej časti). Keď sa bežný program spustí, shell spustí program, ktorý prenesie argumenty a prostredie do programu. Ak program nie je bežný spustiteľný súbor (t. J. Ak nezačína s "magickým číslom", ktoréhoASCII reprezentácia je "#!", takže execve (2) vráti Er ENOEXEC potom) shell bude interpretovať program v subshell. Detský shell sa v tomto prípade bude znovu inicializovať, takže efekt bude podobný tomu, ako keby bol spustený nový shell pre manipuláciu s ad-hoc shellovým skriptom s tým rozdielom, že miesto hashových príkazov nachádzajúcich sa v nadradenom shell bude pamätať dieťa. Treba poznamenať, že predchádzajúce verzie tohto dokumentu a samotný zdrojový kód zavádzajúci a sporadicky odkazujú na shellový skript bez magického čísla ako "procedúra shell". Pri vyhľadaní príkazu najprv sa shell pokúsi zistiť, či má funkciu shell týmto názvom. Potom hľadá vstavaný príkaz podľa tohto mena. Ak nie je nájdený vstavaný príkaz, stane sa jedna z dvoch vecí: Názvy príkazov obsahujúce lomítko sa jednoducho spúšťajú bez vykonania akýchkoľvek vyhľadávaní. Shell vyhľadá každú položku vPATH v poradí za príkaz. HodnotaPATHpremenná by mala byť séria záznamov oddelených dvojbodkami. Každá položka sa skladá z názvu adresára. Aktuálny adresár môže byť implicitne označený prázdnym názvom adresára alebo explicitne jedným obdobím. Stav ukončenia príkazu Každý príkaz má stav ukončenia, ktorý môže ovplyvniť správanie ostatných príkazov shell. Paradigmom je, že príkaz vystupuje nulou pre normálne alebo úspešné a nenulové pre chybu, chybu alebo falošnú indikáciu. Na manuálovej stránke pre každý príkaz by mali byť uvedené rôzne výstupné kódy a to, čo znamenajú. Navyše vstavané príkazy vrátia kódy výstupu, rovnako ako vykonaná funkcia shell. Komplexné príkazy sú kombinácie jednoduchých príkazov s riadiacimi operátormi alebo rezervovanými slovami, ktoré spoločne vytvárajú väčší komplexný príkaz. Vo všeobecnosti je príkaz jedným z nasledujúcich: Pokiaľ nie je uvedené inak, stav výstupu príkazu je stav posledného jednoduchého príkazu vykonaného príkazom. Potrubie je sekvencia jedného alebo viacerých príkazov oddelených kontrolným operátorom |. Štandardný výstup všetkých príkazov okrem posledného príkazu je pripojený k štandardnému vstupu ďalšieho príkazu. Štandardný výstup posledného príkazu sa zvyčajne dedí z shellu. Formát potrubia je: ! príkaz1 command2 … Štandardný výstup príkazu1 je pripojený k štandardnému vstupu príkazu2. Štandardný vstup, štandardný výstup alebo obidva príkazy sa považujú za priradené potrubím pred akýmkoľvek presmerovaním špecifikovaným operátormi presmerovania, ktoré sú súčasťou príkazu. Ak sa potrubie nenachádza na pozadí (diskutované neskôr), shell čaká na dokončenie všetkých príkazov. Ak rezervované slovo! nepredchádza potrubie, výstupný stav je stav výstupu posledného príkazu špecifikovaného v potrubí. V opačnom prípade je stav výstupu logickým NOT stavu ukončenia posledného príkazu. To znamená, že ak posledný príkaz vráti nulu, stav výstupu je 1; ak posledný príkaz vráti hodnotu väčšiu ako nula, stav výstupu je nulový. Vzhľadom na to, že priradenie potrubia štandardného vstupu alebo štandardného výstupu alebo obidvoch sa uskutočňuje pred presmerovaním, môže byť zmenené presmerovaním. Napríklad: $ command1 2> & 1 | príkaz2 posiela štandardný výstup aj štandardnú chybu príkazu1 na štandardný vstup príkazu2. A; alebo Všimnite si, že na rozdiel od niektorých ďalších shellov je každý proces v potrubí dieťaťom vyvolávacieho shellu (ak nie je shell vstavaný, v takom prípade sa spustí v aktuálnom shell - ale každý účinok, ktorý má na životné prostredie, je vymazaný). Ak príkaz ukončí operátor riadenia ampersand (&), shell vykoná príkaz asynchrónne - to znamená, že shell nečaká na dokončenie príkazu pred vykonaním ďalšieho príkazu. Formát pre spustenie príkazu na pozadí je: príkaz1 a príkaz2 & … Ak shell nie je interaktívny, štandardný vstup asynchrónneho príkazu je nastavený na / dev / null Zoznam je sekvencia nula alebo viacerých príkazov oddelených novými čiarkami, bodkočiarkami alebo ampersandmi a voliteľne ukončená jedným z týchto troch znakov. Príkazy v zozname sa vykonajú v poradí, v akom sú napísané. Ak príkaz nasleduje ampersand, shell začne príkaz a okamžite prejde na ďalší príkaz; inak čaká na ukončenie príkazu predtým, než prejdete na ďalší príkaz. `` && '' a `` || '' sú AND-OR zoznam operátorov. `` && '' vykoná prvý príkaz a potom vykoná druhý príkaz iff stav výstupu prvého príkazu je nulový. `` || '' je podobný, ale vykoná druhý príkaz iff stav výstupu prvého príkazu je nenulový. `` && '' a `` || 'obidve majú rovnakú prioritu. Syntax príkazu if je ak je zoznam potom zozname zoznam elifov potom zoznam … zoznam iných fi Syntax príkazu while je v zozname do zoznamu hotový Tieto dva zoznamy sa opakujú, zatiaľ čo stav výstupu prvého zoznamu je nulový. Príkaz "do" je podobný, ale má slovo až dovtedy, kým sa nezmení, čo spôsobí, že sa opakuje, až kým stav výstupu prvého zoznamu nebude nulový. Syntax príkazu for je pre premennú v slove … do zoznamu hotový Slová sa rozširujú a potom sa zoznam opakuje s premennou nastavenou na každé slovo postupne. urobiť a urobiť môže byť nahradený s "` {'a ``}' ' Syntax príkazu prerušiť a pokračovať je zlomiť num pokračovať num Prerušenie ukončí počet najvnútornejších pre alebo za okamihy. Pokračujte ďalej s ďalšou iteráciou vnútornej smyčky. Tieto sú implementované ako zabudované príkazy. Syntax príkazu case je slovo v prípade vzor) zoznam; … esac Vzor môže byť v skutočnosti jeden alebo viac vzorov (pozri opisy Shell, ktoré sú popísané neskôr), oddelené znakmi `` ''. Príkazy môžu byť zoskupené aj písaním (Zoznam) alebo {list; Prvý z nich vykoná príkazy v podsúbore. Zabudované príkazy zoskupené do (zoznamu) neovplyvnia súčasný shell. Druhá forma nemá iný plášť, takže je o niečo efektívnejšia. Zoskupovanie príkazov spolu týmto spôsobom umožňuje presmerovať ich výstupy, akoby boli jedným programom: {printf ahoj; printf world n ";}> pozdrav funkcie Syntax definície funkcie je príkaz name () Definícia funkcie je spustiteľný príkaz; pri spustení nainštaluje funkciu s názvom name a vráti stav výstupu nulu. Príkaz je zvyčajne zoznam priložený medzi `` {'a ``}' ' Premenné môžu byť vyhlásené za lokálne pre funkciu pomocou lokálneho príkazu. Toto by sa malo objaviť ako prvé vyhlásenie o funkcii a syntax je miestne premenná - … Local je implementovaný ako vstavaný príkaz. Keď sa premenná urobí lokálne, zdedí pôvodnú hodnotu a exportované a čítané príznaky z premennej s rovnakým názvom v okolitom rozsahu, ak existuje. V opačnom prípade je premenná pôvodne zrušená. Shell používa dynamické zoradenie, takže ak vytvoríte premennú x local na funkciu f, ktorá potom volá funkciu g, odkazy na premennú x vytvorenú vo vnútri g sa budú vzťahovať na premennú x deklarovanú vo vnútri f, nie na globálnu premennú s názvom x , Jediným špeciálnym parametrom, ktorý sa dá urobiť lokálne, je `` - '' Vytváranie lokálnych akýchkoľvek možností pre shell, ktoré sa zmenia cez nastavený príkaz vo funkcii, ktorá sa má obnoviť na pôvodné hodnoty, keď sa funkcia vráti. Syntax príkazu návratu je vrátiť exitstatus Ukončí aktuálne vykonávajúcu funkciu. Návrat sa implementuje ako vstavaný príkaz. Obal udržiava súbor parametrov. Parameter označený menom sa nazýva premenná. Pri spustení sa shell prepne všetky premenné prostredia na premenné shell. Pomocou formulára môžete nastaviť nové premenné name = hodnota Premenné nastavené používateľom musia mať názov pozostávajúci výlučne z abecedy, číslic a podčiarkov - prvý z nich nesmie byť číselný. Parameter môže byť tiež označený číslom alebo špeciálnym znakom, ako je vysvetlené nižšie. Polohový parameter je parameter označený číslom (n> 0). Skopec ich spočiatku nastaví na hodnoty argumentov príkazového riadku, ktoré sledujú názov shellového skriptu. Súprava (1) môže byť tiež použitá na ich nastavenie alebo resetovanie. Špeciálny parameter je parameter označený jedným z nasledujúcich špeciálnych znakov. Hodnota parametra je uvedená vedľa znaku. * Rozbalí sa na pozíciu parametrov, počnúc od jedného. Keď sa expanzia vyskytne v rámci dvojitého reťazca, rozširuje sa na jedno pole s hodnotou každého parametra oddeleného prvým znakomIFS premennú alebo a @ Rozbalí sa na pozíciu parametrov, počnúc od jedného.Keď sa expanzia vyskytne v rámci dvojitých úvodzoviek, každý pozitívny parameter sa rozširuje ako samostatný argument. Ak nie sú žiadne polohové parametre, rozšírenie @ generuje nulové argumenty, aj keď @ je dvojitá. Čo v podstate znamená napríklad, že $ 1 je `` abc '' a $ 2 je `` def ghi '', potom Qq $ @ sa rozširuje na dva argumenty: abc def ghi # Rozbalí sa na počet pozicových parametrov. ? Rozbalí sa na stav výstupu posledného potrubia. - (Hyphen.) Rozbalí sa na príznaky aktuálnej voľby (mená jednotiek, ktoré sú navzájom zoskupené do reťazca), ako je to uvedené pri vyvolaní, nastaveným vstavaným príkazom alebo implicitne pomocou shell. $ Rozbalí sa do ID procesu vyvolaného shell. Podsúbor zachová rovnakú hodnotu $ ako jeho rodič. ! Rozbalí sa na ID procesu najnovšieho pozadia príkazu vykonaného z aktuálneho shell. Pre potrubie je ID procesu posledný príkaz v potrubí. 0 (Nula.) Rozbalí sa na názov shellového alebo shellového skriptu. Rozšírenia o slovo Toto ustanovenie popisuje rôzne rozšírenia, ktoré sa vykonávajú na slovách. Nie všetky rozšírenia sa vykonávajú pri každom slove, ako je vysvetlené neskôr. Rozšírenia Tilde, rozšírenia parametrov, výmeny príkazov, aritmetické rozšírenia a odstraňovania citátov, ktoré sa vyskytujú v rámci jedného slova rozbaliť do jedného poľa. Je to len rozdelenie poľa alebo rozšírenie cesty, ktoré môže vytvoriť viac polí z jedného slova. Jedinou výnimkou z tohto pravidla je rozšírenie špeciálneho parametra @ v rámci dvojitých úvodzoviek, ako bolo opísané vyššie. Poradie rozšírenia slova je: Rozšírenie Tilde, rozšírenie parametrov, výmena príkazov, aritmetická expanzia (všetky sa vyskytujú súčasne). Rozdelenie poľa sa uskutočňuje na poliach vygenerovaných v kroku (1), pokiaľ nie jeIFS premenná je null. Rozšírenie názvu cesty (ak nie je nastavené -F je v platnosti). Odstránenie citácie. $ Znak sa používa na zavedenie rozšírenia parametrov, výmeny príkazov alebo aritmetického hodnotenia. Slovo začínajúce neznačeným tildovým znakom (~) je vystavené expanzii tilde. Všetky znaky až po lomku (/) alebo koniec slova sa považujú za používateľské meno a nahrádzajú sa domovským adresárom používateľa. Ak používateľské meno chýba (ako v ~ / foobar), tilda sa nahradí hodnotou DOMOV (domovský adresár aktuálneho používateľa). Formát rozšírenia parametrov je nasledovný: $ {Výraz} kde vyjadrenie pozostáva zo všetkých znakov, až kým nezhodí ``} '' Akákoľvek ``} '' unikla spätným lomítkom alebo v rámci citovaného reťazca a znaky v embedded aritmetickej expanzii, náhrady príkazov a variabilné rozšírenia sa nepreskúmajú pri určovaní zodpovedajúce ``} '' Najjednoduchšia forma rozšírenia parametrov je: $ {Parameter} Hodnota parametra, ak existuje, je nahradená. Názov parametra alebo symbol môže byť priložený do zátvoriek, ktoré sú voliteľné s výnimkou polohových parametrov s viac ako jednou číslicou alebo po parametri nasleduje znak, ktorý by sa mohol interpretovať ako súčasť názvu. Ak sa vo vnútri dvojitých ukážok vyskytne rozšírenie parametrov: Rozšírenie názvu cesty sa nevykonáva na základe výsledkov rozšírenia. Rozdelenie poľa nie je vykonané na základe výsledkov rozšírenia, s výnimkou @. Okrem toho môže byť rozšírenie parametra upravené pomocou jedného z nasledujúcich formátov. $ {Parameter: -slovo} Použiť predvolené hodnoty. Ak je parameter nenastavený alebo nulový, rozšírenie slova sa nahradí; v opačnom prípade sa hodnota parametra nahrádza. $ {Parameter: = slovo} Priradiť predvolené hodnoty. Ak je parameter nenastavený alebo nulový, rozšírenie slova je priradené parametru. Vo všetkých prípadoch sa konečná hodnota parametra nahrádza. Preto môžu byť priradené iba premenné, nie pozičné parametre alebo špeciálne parametre. $ {Parameter: slovo} Označte chybu, ak je Null alebo Unset. Ak je parameter nenastavený alebo nulový, rozšírenie slova (alebo hlásenie, že je vypnuté, ak sa slovo vynechalo) sa zapíše do štandardnej chyby a shell sa ukončí s nenulovým stavom ukončenia. V opačnom prípade sa hodnota parametra nahrádza. Interaktívny shell nemusí skončiť. $ {Parameter: + slovo} Použite alternatívnu hodnotu. Ak je parameter nenastavený alebo null, null sa nahradí; v opačnom prípade sa rozšírenie slova nahrádza. V predtým zobrazených rozšíreniach parametrov používanie dvojbodky vo formáte vedie k testu pre parameter, ktorý je nenastavený alebo nulový; Vynechanie hrubého čreva vedie k testu pre parameter, ktorý je iba nenastavený. $ {#} Parameter Dĺžka reťazca. Dĺžka znakov v hodnote parametra. Nasledujúce štyri odrody rozšírenia parametrov zabezpečujú spracovanie podreťaze. V každom prípade sa na vyhodnotenie vzorov použije vzorová zhoda notácie (pozri Shell Patterns), namiesto regulárnej výrazovej notácie. Ak je parameter * alebo @, výsledok rozšírenia nie je špecifikovaný. Uzavretie plného rozšírenia parametrov v dvojitých úvodzovkách nespôsobuje citovanie nasledujúcich štyroch odrôd znakových šablón, zatiaľ čo citovanie znakov vo vzorkách má tento účinok. $ {Parameter% slovo} Odstrániť najmenší vzor. Slovo sa rozbalí tak, aby vytvorilo vzor. Rozšírenie parametrov potom vyúsťuje do parametra, pričom najmenšia časť prípony sa zhoduje s vymazaným vzorom. $ {Parameter %% slovo} Odstráňte najväčší vzor príp.Slovo sa rozbalí tak, aby vytvorilo vzor. Rozšírenie parametrov potom vyúsťuje do parametra, pričom najväčšia časť prípony sa zhoduje s vymazaným vzorom. $ {Parameter # slovo} Odstrániť najmenší vzor predpony. Slovo sa rozbalí tak, aby vytvorilo vzor. Rozširovanie parametrov potom vyúsťuje do parametra, pričom najmenšia časť predpony zodpovedá vymazanému vzoru. $ {Parameter ## slovo} Odstráňte najväčší vzor predpony. Slovo sa rozbalí tak, aby vytvorilo vzor. Rozšírenie parametrov potom vyúsťuje do parametra, pričom najväčšia časť predpony zodpovedá vymazanému vzoru. Command Substitution Nahradenie príkazu umožňuje nahradiť výstup príkazu namiesto samotného mena príkazu. Nahradenie príkazov nastane, keď príkaz je uzavretý nasledovne: $ (Command) alebo Po `` backquoted '' verzia Pc: `command` Obal rozširuje výmenu príkazu spustením príkazu v prostredí subshell a nahrádzaním náhrady príkazu štandardným výstupom príkazu, pričom odstráni sekvencie jedného alebo viacerých Aritmetická expanzia poskytuje mechanizmus hodnotenia aritmetického vyjadrenia a náhrady jeho hodnoty. Formát pre aritmetické rozšírenie je nasledovný: $ ((Expression)) Výraz sa považuje za dvojciferný, s výnimkou toho, že dvojitá citácia vo vnútri výrazu sa nezaobchádza špeciálne. Tento shell rozširuje všetky znaky výrazu na rozšírenie parametrov, nahradenie príkazu a odstránenie citácie. Ďalej shell pokladá za aritmetický výraz a nahrádza hodnotu výrazu. Po rozšírení parametrov, výmeny príkazov a aritmetickej expanzie prehliadač prehladá výsledky rozšírení a substitúcií, ktoré sa nevyskytli v dvojitých úvodzovkách pre rozdelenie poľa a môže dôjsť k viacerým polia. Skoop zaobchádza s každým znakomIFS ako oddeľovač a použite oddeľovače na rozdelenie výsledkov rozšírenia parametrov a výmeny príkazov do polí. Ak nie je -F flag je nastavený, generovanie názvu súboru sa vykoná po dokončení rozdelenia slov. Každé slovo je zobrazené ako séria vzorov oddelených lomkami. Proces rozšírenia nahradí slovo názvami všetkých existujúcich súborov, ktorých názvy môžu byť vytvorené nahradením každého vzoru reťazcom, ktorý zodpovedá zadanému vzoru. Existujú dve obmedzenia: po prvé, vzorec sa nemôže zhodovať s reťazcom obsahujúcim lomku a za druhé, vzor nemôže zodpovedať reťazcu začínajúcemu obdobím, pokiaľ prvý znak vzorky nie je periódou. Nasledujúca časť popisuje vzory, ktoré sa používajú pri príprave rozšírenia cesty aj príkazu (1). Vzor pozostáva z bežných znakov, ktoré sa zhodujú sami a meta-znaky. Meta-znaky sú `` `` `* ''` ``? '' A `` '' Tieto postavy strácajú svoje špeciálne významy, ak sú citované. Keď sa vykoná príkazová alebo variabilná výmena a znaky dolára alebo zadnej ponuky nie sú dvojité, hodnota premennej alebo výstupu príkazu sa pre tieto znaky skenuje a premenia sa na meta-znaky. Hviezdička (`` * '') sa zhoduje s akýmkoľvek reťazcom znakov. Otazník zodpovedá ľubovoľnému jednotlivému znaku. Ľavý držiak (`` '') predstavuje triedu znakov. Koniec znakovej triedy je označený znakom (`` ''), ak `` '' chýba, potom `` '' sa zhoduje s `` '' namiesto zavedenia triedy znakov. Trieda znakov sa zhoduje s ľubovoľnými znakmi medzi hranatými zátvorkami. Rozsah znakov môže byť zadaný pomocou znamienka mínus. Trieda znakov môže byť doplnená tým, že sa výkričník stane prvým znakom triedy znakov. Ak chcete zahrnúť znak "` '' do triedy znakov, urobte z neho prvú uvedenú znakovú značku (za `` if ''). Ak chcete zahrnúť znamienko mínus, urobte z nej prvý alebo posledný znak Táto časť uvádza vstavané príkazy, pretože je potrebné vykonať nejakú operáciu, ktorú nemožno vykonať samostatným procesom. Okrem toho existuje niekoľko ďalších príkazov, ktoré môžu byť vstavané pre efektívnosť (napr. Echo 1). : Príkaz null, ktorý vráti hodnotu 0 (true). , súbor Príkazy v zadanom súbore sa čítajú a spúšťajú shell. prezývka názov = reťazec … ak name = string je špecifikovaný, shell definuje alias názov s hodnotou povrázok Ak je to správne názov je zadané, hodnota aliasu názov je vytlačená. Bez argumentovprezývka vstavaný vytlačí názvy a hodnoty všetkých definovaných prezývok (pozriunalias) bg práca … Pokračujte v zadanom úlohách (alebo aktuálnej úlohe, ak nie sú zadané žiadne úlohy) na pozadí. príkaz príkaz arg … Vykonajte zadaný vstavaný príkaz. (Toto je užitočné, ak máte funkciu shell s rovnakým názvom ako vstavaný príkaz.) CD adresár Prepnúť na zadaný adresár (predvolené$ HOME) Ak je položka preCDPATH sa objaví v prostredíCD príkaz alebo premenná shellCDPATH je nastavená a názov adresára sa nezačne lomítkom, potom adresáre uvedené vCDPATH bude vyhľadávaný pre daný adresár. Formát súboruCDPATH je rovnaká ako v prípadePATH V interaktívnom shell,CD príkaz vytlačí názov adresára, do ktorého sa skutočne prepne, ak sa toto líši od mena, ktoré používateľ dal. Tieto môžu byť odlišné buď preto, žeCDPATH mechanizmu alebo preto, že sa prekročil symbolický vzťah. eval string … Spojte všetky argumenty s medzerami. Potom príkaz opätovne analyzujte a vykonajte. exec príkaz arg … Pokiaľ nie je vynechaný príkaz, proces shell sa nahradí špecifikovaným programom (ktorý musí byť skutočný program, nie funkcia shell). Akékoľvek presmerovania naexecpríkazy sú označené ako trvalé, takže nie sú vrátené, keď jeexec dokončenie povelu. východ exitstatus Ukončite shell proces. ak exitstatus je uvedené, že sa používa ako výstupný stav plášťa; inak sa použije stav výstupu predchádzajúceho príkazu. export názov… export -p Zadané mená sa exportujú tak, že sa objavia v prostredí nasledujúcich príkazov. Jediný spôsob, ako exportovať premennú, je zrušiť ju. Obal umožňuje nastaviť hodnotu premennej v tom istom čase, keď sa exportuje písaním export name = hodnota Bez argumentov príkaz exportu obsahuje zoznam všetkých exportovaných premenných. S -pšpecifikovaná voľba bude formátovaná vhodne pre neinterakčné použitie. fc-e editor najprv posledná fc-1 -nr najprv posledná fc -s old = new najprv fc vstavané zoznamy alebo editácie a opätovné spustenie príkazov predtým zadaných do interaktívneho shellu. -e editor Pomocou editora pomenovaného editorom upravte príkazy. Reťazec editora je názov príkazu, ktorý je predmetom vyhľadávania prostredníctvomPATH variabilné. Hodnota vFCEDIT premenná sa používa ako predvolená hodnota, keď -e nie je zadané. akFCEDIT je nulová alebo nenastavená, hodnotaEDITOR premenná. akEDITOR je null alebo unset, ed (1) sa používa ako editor. -l (ell) Zoznam príkazov skôr ako vyvolanie editora na nich. Príkazy sú napísané v poradí označenom prvým a posledným operandom ako ovplyvnené -r pričom každý príkaz predchádza príkazové číslo. -n Potlačte čísla príkazov pri výbere s -l. -r Zmeniť poradie uvedených príkazov (s -l alebo editované (bez -l nor -s) -s Opätovne spustite príkaz bez vyvolania editora. najprv posledná Vyberte príkazy na zoznam alebo úpravu. Počet predchádzajúcich príkazov, ku ktorým je možné pristupovať, je určený hodnotouHISTSIZE variabilné. Hodnota prvej alebo poslednej alebo obidvoch je jedna z nasledujúcich: + Číslo Pozitívne číslo reprezentujúce číslo príkazu; príkazové čísla sa môžu zobraziť pomocou tlačidiel -l voľba. clonové číslo Záporné desatinné číslo predstavujúce príkaz, ktorý bol vykonaný predtým počet príkazov. Napríklad -1 je bezprostredne predchádzajúci príkaz. povrázok Reťazec označujúci naposledy zadaný príkaz, ktorý začína reťazcom. Ak starý = nový operand nie je tiež špecifikovaný pomocou -s reťazecová forma prvého operandu nesmie obsahovať vložený rovný znak. Nasledujúce premenné prostredia ovplyvňujú vykonanie fc: FCEDIT Názov editora, ktorý chcete použiť. HISTSIZE Počet predchádzajúcich príkazov, ktoré sú prístupné. fg zamestnania Presuňte zadanú úlohu alebo aktuálnu úlohu do popredia. getopts optstring var POSIX getopts príkaz, nesmie byť zamieňaný s Bell Labs - získaný getopt (1). Prvým argumentom by mala byť séria písmen, z ktorých každá môže byť prípadne nasledovaná dvojbodkou, ktorá naznačuje, že táto voľba vyžaduje argument. Zadaná premenná je nastavená na možnosť analyzovať. getopts príkaz zruší staršiu utilitu getopt (1) kvôli jej spracovaniu argumentov obsahujúcich medzery. getopts vstavané môžu byť použité na získanie možností a ich argumentov zo zoznamu parametrov. Pri vyvolaní,getopts umiestni hodnotu nasledujúcej možnosti z reťazca možností v zozname v premennej shell špecifikovanej var a je to index v premennej shellOPTIND Keď sa vyvolá shell,OPTIND sa inicializuje na 1. Pre každú možnosť, ktorá vyžaduje argument,getopts vstavaný vloží do premennej shellOPTARG Ak nie je povolená voľba v OPTSTRING potomOPTARG budú zrušené. OPTSTRING je reťazec uznaných opčných písmen. Ak je za písmenom nasledované dvojbodka, očakáva sa, že daná možnosť bude mať argument, ktorý môže alebo nemusí byť oddelený od neho prázdnym priestorom. Ak nie je nájdený znak voľby, kde sa očakáva,getopts nastaví premennú var na ``? ''getopts potom sa zrušíOPTARG a zápis výstupu na štandardnú chybu. Zadaním dvojbodky ako prvého znaku OPTSTRING všetky chyby budú ignorované. Keď sa dosiahne posledná možnosť, vráti sa nenulová hodnota. Ak nie sú žiadne zvyšné argumenty,getopts nastaví var na špeciálnu voľbu, `` - '' ináč to nastaví var na ``? '' Nasledujúci fragment kódu ukazuje, ako by sa mohli spracovávať argumenty pre príkaz, ktorý môže mať voľby a a b a možnosť c, ktorá vyžaduje argument. zatiaľ čo getopts abc: frobiťprípade $ f ina | b) flag = $ f ;;c) carg = $ OPTARG ;;?) echo $ USAGE; východ 1;esachotovýposun 'expr $ OPTIND - 1` Tento kód bude akceptovať akékoľvek z nasledujúcich: cmd súbor súborusúbor súboru cmd -a -c argcmd -carg - súbor súborucmd -a -carg - súbor hash -rv Príkaz … Shell udržiava hash tabuľku, ktorá si pamätá umiestnenie príkazov. Bez akýchkoľvek argumentovhašiš príkaz vytlačí obsah tejto tabuľky. Príspevky, ktoré sa nepozerali od poslednéhoCD príkazy sú označené hviezdičkou; tieto položky môžu byť neplatné. S argumentmi,hašiš príkaz odstráni zadané príkazy z tabuľky hash (ak nie sú funkcie) a potom ich nájde. S -proti voľba, hash vytlačí umiestnenie príkazov, ako ich nájde. The -r voľba príkazu hash odstráni všetky položky v tabuľke hash s výnimkou funkcií. JobID zamestnania Vytlačte procesné ID procesov v úlohe. Ak zamestnania argument sa vynechá, použije sa aktuálna úloha. pracovných miest Tento príkaz uvádza všetky procesy na pozadí, ktoré sú deťmi súčasného procesu shell. pwd Vytlačte aktuálny adresár. Vstavaný príkaz sa môže líšiť od programu s rovnakým názvom, pretože vstavaný príkaz si pamäta, čo je aktuálny adresár skôr než rekomprimovať ho vždy. To robí to rýchlejšie. Avšak, ak je aktuálny adresár premenovaný, vstavaný verziupwd bude pokračovať v tlači starého názvu adresára. prečítať-p prompt -r variabilné … Príkaz sa vytlačí, ak -p je špecifikovaná voľba a štandardný vstup je terminál. Potom sa zo štandardného vstupu prečíta čiarka. Nový riadok v riadku sa vymaže z riadku a riadok sa rozdelí podľa popisu v časti o rozdelení slov vyššie a kusy sa priradia k premenným v poradí. Musí byť špecifikovaná aspoň jedna premenná. Ak je viac kusov ako premenných, zvyšné kusy (spolu s znakmi vIFS ktoré ich oddelili) sú priradené k poslednej premennej. Ak existuje viac premenných ako kusov, zvyšné premenné sú priradené nulovému reťazcu.prečítať vstavaný bude indikovať úspech, pokiaľ sa na vstup nevyskytne EOF, v takom prípade sa vráti chyba. Predvolene, ak -r je zadaná voľba "` '' ako únikový znak, čo spôsobí doslovný prístup k nasledujúcemu znaku. Ak po spätnom lomítku nasleduje nový riadok, spätné lomítko a nový riadok sa vymažú. iba na čítanie názov… readonly -p Zadané mená sú označené ako iba na čítanie, takže ich nemožno následne upraviť alebo zrušiť. Schránka umožňuje nastaviť hodnotu premennej v tom istom čase, keď je označená ako čítaná iba písaním readonly name = hodnota Bez argumentov príkaz readonly uvádza mená všetkých premenných len na čítanie. S -p špecifikovaná voľba bude formátovaná vhodne pre neinterakčné použitie. sada { -možnosti + možnosti - arg … sada príkaz vykoná tri rôzne funkcie. Bez argumentov uvádza zoznam hodnôt všetkých premenných shell. Ak sú uvedené voľby, nastavia zadané príznaky alebo ich vymažú podľa popisu v časti s názvom Spracovanie zoznamu argumentov Sx. Tretím použitím príkazu set je nastavenie hodnôt polohových parametrov shellu na zadané argumenty. Ak chcete zmeniť polohové parametre bez toho, aby ste menili nejaké možnosti, použite `` - '' ako prvý argument, ktorý chcete nastaviť. Ak nie sú prítomné žiadne argumenty, príkaz set vymaže všetky polohové parametre (ekvivalentné vykonaniu posunu $ #. variabilná hodnota Priradí hodnotu k premennej. (Vo všeobecnosti je lepšie zapisovať premennú = hodnotu skôr než použiťsetvar setvarje určený na použitie vo funkciách, ktoré priraďujú hodnoty premenným, ktorých mená sú odovzdávané ako parametre.) smena n Posuňte polohové parametre n krát.smena nastavuje hodnotu $1 na hodnotu $2 hodnota $2 na hodnotu $3 a tak ďalej, klesá hodnota $# o jednu. Ak n je väčšie ako počet polohových parametrov,smena zobrazí chybové hlásenie a ukončí stav s návratom 2. doba Vytlačte nahromadené používateľské a systémové časy pre shell a pre procesy spustené z shell. Stav vrátenia je 0. pasca akčné Signál … Pretože shell analyzuje a vykoná akciu pri prijatí niektorého zo špecifikovaných signálov. Signály sú špecifikované číslom signálu. ak signál je0 akcia sa vykoná, keď sa ukončí shell. akčné môže byť null alebo `` - '' prvý spôsobí, že zadaný signál bude ignorovaný a ten spôsobí, že sa má vykonať predvolená činnosť. Keď shell vyrazí z podsúboru, resetuje signály zachytené (ale nie ignorované) na predvolenú akciu.pasca príkaz nemá žiadny vplyv na signály, ktoré boli ignorované pri vstupe do shell. typ názov … Interpretujte každý názov ako príkaz a vytlačte rozlíšenie vyhľadávania príkazu. Možné rozlíšenia sú: kľúčové slovo shell, alias, shell inštalovaný, príkaz, sledovaný alias a nenájdený. Pre aliasy sa vytlačí rozšírenie aliasu; pre príkazy a sledované aliasy sa vytlačí úplný názov príkazu. ulimit-H-S -a -tfdscmlpn hodnota Zistite alebo nastavte tvrdé alebo jemné limity procesov alebo nastavte nové limity.Výber medzi tvrdým limitom (ktorý nesmie byť porušený a ktorý sa nesmie zvýšiť po jeho znížení) a mäkké obmedzenie (ktoré spôsobuje, že procesy sa signalizujú, ale nie nevyhnutne zabíjajú, a ktoré môžu byť zvýšené) sa robí s tieto vlajky: -H nastaviť alebo informovať o tvrdých limitoch -S nastaviť alebo informovať o mäkkých limitoch. Ak ani jeden -H nor -S je zadané, zobrazuje sa jemný limit alebo sú nastavené obidve limity. Ak sú obidve uvedené, vyhrá posledný. Limit, ktorý sa má vypočúvať alebo nastaviť, sa potom vyberie špecifikovaním ktorejkoľvek z týchto príznakov: -a zobraziť všetky aktuálne limity -t zobraziť alebo nastaviť limit na čas CPU (v sekundách) -f zobraziť alebo nastaviť limit najväčšieho súboru, ktorý sa dá vytvoriť (v 512-bytových blokoch) -d zobraziť alebo nastaviť limit na veľkosť segmentu dát procesu (v kilobajtoch) -s zobraziť alebo nastaviť limit na veľkosť zásobníka procesu (v kilobajtoch) -c zobraziť alebo nastaviť limit na najväčšiu veľkosť jadra, ktorú je možné vyrobiť (v 512-bytových blokoch) -m zobraziť alebo nastaviť limit na celkovú fyzickú pamäť, ktorú môže proces používať (v kilobajtoch) -l zobraziť alebo nastaviť limit o tom, koľko pamäte môže zablokovať proces s mlock (2) (v kilobajtoch) -p zobraziť alebo nastaviť limit počtu procesov, ktoré môže mať tento používateľ naraz -n zobraziť alebo nastaviť limit počtu súborov, ktoré môže proces naraz otvoriť Ak nie je zadaná žiadna z nich, je zobrazený alebo nastavený limit pre veľkosť súboru. Ak je zadaná hodnota, limit je nastavený na toto číslo; inak sa zobrazí aktuálny limit. Limity ľubovoľného procesu je možné zobraziť alebo nastaviť pomocou utility sysctl (8). umask maskovať Nastavte hodnotu umask (pozri umask (2)) na zadanú osmičkovú hodnotu. Ak je argument vynechaný, vytlačí sa hodnota umask. unalias- názov ak názov je špecifikované, shell odstráni tento alias. Ak - je zadané, odstránia sa všetky aliasy. unset názov… Zadané premenné a funkcie sú deaktivované a nevyexponované. Ak daný názov zodpovedá premennej aj funkcii, premenná aj funkcia sú deaktivované. počkať zamestnania Počkajte, kým zadaná úloha dokončí a vráti stav ukončenia posledného procesu v úlohe. Ak sa argument vynechá, počkajte, kým sa dokončia všetky úlohy, a vrátite stav nuly. citovať
obrátenej lomítko
Jednoduché ponuky
Dvojité kotácie
Vyhradené slová
prezývky
príkazy
Jednoduché príkazy
Vyhľadávanie a vykonávanie
Hľadanie ciest
Komplexné príkazy
plynovody
Pozadie príkazov -
Zoznamy - Vo všeobecnosti
Zoznam operátorov s krátkym okruhom
Konštrukcie riadenia prietoku - ak, kým pre prípad
Skupinové príkazy spoločne
Premenné a parametre
Polohové parametre
Špeciálne parametre
Tilde Expansion (nahrádzanie domovského adresára používateľa)
Rozšírenie parametrov
Aritmetická expanzia
Rozdelenie bielych priestorov (rozdelenie poľa)
Rozšírenie názvu cesty (generovanie názvu súboru)
Shell vzory
vstavaných príkazov
Úprava príkazového riad












