Skip to main content

Popol - Linux Command

Anonim

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:"

< > >| << >> <& >& <<- <>

citovať

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.

obrátenej 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.

Jednoduché ponuky

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).

Dvojité kotácie

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á

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.

prezývky

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.

príkazy

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.

Jednoduché príkazy

Ak bol rozpoznaný jednoduchý príkaz, shell vykoná nasledujúce akcie:

  1. 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.

  2. 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.

  3. 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é.

Vyhľadávanie a vykonávanie

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".

Hľadanie ciest

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í:

  1. Názvy príkazov obsahujúce lomítko sa jednoducho spúšťajú bez vykonania akýchkoľvek vyhľadávaní.

  2. 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

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:

  • jednoduchý príkaz
  • potrubie
  • zoznamu alebo zloženého zoznamu
  • zložený príkaz
  • definícia funkcie

Pokiaľ nie je uvedené inak, stav výstupu príkazu je stav posledného jednoduchého príkazu vykonaného príkazom.

plynovody

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 terminátor spôsobí, že predchádzajúci AND-OR-zoznam (popísaný ďalej) bude vykonaný postupne; a & spôsobí asynchrónne vykonanie predchádzajúceho zoznamu AND-OR.

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ý).

Pozadie príkazov -

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

Zoznamy - Vo všeobecnosti

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.

Zoznam operátorov s krátkym okruhom

`` && '' 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.

Konštrukcie riadenia prietoku - ak, kým pre prípad

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 `` ''.

Skupinové príkazy spoločne

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.

Premenné a parametre

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é parametre

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álne parametre

Š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 akIFS je nenastavená.

@

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:

  1. Rozšírenie Tilde, rozšírenie parametrov, výmena príkazov, aritmetická expanzia (všetky sa vyskytujú súčasne).

  2. Rozdelenie poľa sa uskutočňuje na poliach vygenerovaných v kroku (1), pokiaľ nie jeIFS premenná je null.

  3. Rozšírenie názvu cesty (ak nie je nastavené -F je v platnosti).

  4. Odstránenie citácie.

$ Znak sa používa na zavedenie rozšírenia parametrov, výmeny príkazov alebo aritmetického hodnotenia.

Tilde Expansion (nahrádzanie domovského adresára používateľa)

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).

Rozšírenie parametrov

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:

  1. Rozšírenie názvu cesty sa nevykonáva na základe výsledkov rozšírenia.

  2. 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 s na konci nahradenia. (Embedded s pred koncom výstupu nie sú odstránené; avšak počas rozdelenia do poľa sa môžu preložiť do s, v závislosti od hodnotyIFS a uviesť, že je v platnosti.)

Aritmetická expanzia

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.

Rozdelenie bielych priestorov (rozdelenie poľa)

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í.

Rozšírenie názvu cesty (generovanie názvu súboru)

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).

Shell vzory

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

vstavaných príkazov

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.

Úprava príkazového riad