Tuhk - Linux Command - Unix Command

NIMI

sh - käsu tõlk ( shell )

SÜNOPSIS

sh [- / + aCefnuvxIimqsVEbc ] [- o longname ] -words [ sihiks ... ]

KIRJELDUS

Sh on süsteemi standard käsku tõlgib. Praeguse sh versiooni muutmine toimub vastavalt shelli POSIX 1003.2 ja 1003.2a spetsifikatsioonidele. Sellel versioonil on palju funktsioone, mis mõnevõrra sarnanevad Korni shelliga, kuid see ei ole Korn shelli kloon (vt ksh (1)). Sellesse kotisse on kaasatud ainult POSIXi poolt määratud funktsioonid ja mõned Berkeley laiendused. Ootame POSIX-i vastavust ajaga 4.4 BSD vabastatakse. Selle inimese lehe eesmärk ei ole juhendaja ega kogu koopia spetsifikatsioon.

Ülevaade

Koor on käsk, mis loeb jooni kas failist või terminalist, tõlgendab neid ja üldjuhul käivitab muid käske. See on programm, mis töötab siis, kui kasutaja siseneb süsteemi (kuigi kasutaja saab valida teise shelliga chsh (1) käsuga). Rakendus rakendab voolukontrolli konstruktsioone kasutavat keelt, mis pakub lisaks andmekandjale mitmesuguseid funktsioone koos ajaloo ja rea ​​muutmise võimalustega. See sisaldab mitmeid funktsioone, mis aitavad interaktiivsel kasutamisel, ning eeliseks on see, et tõlgendav keel on ühine nii interaktiivse kui mitteinteraktiivse kasutamise korral (shell skriptid). See tähendab, et käske saab sisestada otse jooksvale shellile või et seda saab faili panna ja faili võib käivitada kohe otse.

Kutsumine

Kui ükski args puudub ja kui shelli standardne sisend on terminaliga ühendatud (või kui - flag on seatud) ja - c valikut ei leidu, peetakse keset interaktiivset shellit . Enne iga käsku küsib interaktiivne kest ja tavaliselt käitleb programmeerimis- ja käskiribasid erinevalt (nagu allpool kirjeldatud). Esimesel käivitamisel kontrollib korpus argumendiga 0 ja kui see algab kriipsuga `- ', loetakse ka koorit sisselogimisühikuks. Süsteem teeb selle automaatselt automaatselt, kui kasutaja esmakordselt sisse logib. Sisselogimiskest loeb esimest korda failid / etc / profile ja .profile käske, kui need on olemas. Kui keskkonnamuutuja ENV on määratud kestale sisenemiseks või on määratud sisselogimisekraani profiilile. Järgnevalt loeb shell järgmises ENV- failis olevast failist käske. Seetõttu peaks kasutaja sisestama käske, mis tuleb täita ainult profiilifaili sisselogimise aeg ja ENV- faili iga shelli jaoks käivitatud käsklused. Et määrata ENV-i muutuja mõnele failile, asetage järgmine rida oma kodukataloogi .profiilile

ENV = $ HOME / .shinit; eksport ENV

asendades `` .shinit '' mis tahes soovitud failinime . Kuna ENV- fail loetakse iga shelli väljavõtmise jaoks, sealhulgas shelliskriptide ja mitteinteraktiivsete kestade jaoks, on interaktiivsete invotsatsioonide korral ENV- failis käskude piiramiseks kasulik järgmine paradigma. Asetage käskud all '' case '' ja `` esac '' (neid käske kirjeldatakse hiljem):

juhul $ - in * i *)

# käsud ainult interaktiivseks kasutamiseks

...

esac

Kui on määratud käsuread argumendid peale suvandite, siis koor käitleb esimese argumendina faili nime, millest saab käske lugeda (shell skript), ja ülejäänud argumendid on määratud shelli positsiooni parameetritega ($ 1 , $ 2 jne). Vastasel juhul loeb shell oma standardse sisendiga käske.

Argumentide loetelu töötlemine

Kõik ühe kirja valikud sisaldavad vastavat nime, mida saab kasutada argumendina -o valikule. Nimetatud nimi on esitatud allpool esitatud kirjelduse kõrval ühekohalise valiku kõrval. Vahetuse määramine `` - '' lülitab sisse valiku, plussi `` + '' kasutamise korral keelab selle. Järgmisi suvandeid saab määrata käsurealt või komplektiga (1) builtin (kirjeldatud hiljem).

- allexport

Ekspordi kõik muutujad, mis on määratud. (VÕIMALIKULT 4.4 alfa puhul)

-c

Lugege käske käsurealt. Standardseid sisendeid ei loeta ühtegi käsku.

-C noklobber

Ärge kirjutage olemasolevaid faile koos ``> '' (UNALIMITED for 4.4alpha)

- erreksiit

Kui ei ole interaktiivne, tuleb kohe väljuda, kui ükskõik milline testimine ei õnnestu. Käsu väljumise olek loetakse selgesõnaliselt katsetatuks, kui käsku kasutatakse, et kontrollida, kas elif on kuni või kuni käsk on `` && '' või `` || '' operaatori vasakpoolne operand.

-f nålob

Keela asukohateade laiendamiseks.

-n noexec

Kui see pole interaktiivne, loe käske, kuid neid ei käivita. See on kasulik koopia skriptide süntaksi kontrollimiseks.

-n nounset

Kui sisestatud muutuja üritab kirjutada standardviga, kirjutama ja kui koor ei ole interaktiivne, siis kohe välja. (VÕIMALIKULT 4.4 alfa puhul)

-v verbose

Kest kirjutab oma sisend standardviga, nagu seda loetakse. Kasulik silumiseks.

-x xtrace

Kirjuta iga käsk standardviga (enne kui see käivitatakse "+" -ga). Kasulikud silumiseks.

-Q vaikneprofiil

Kui - v või - x valikud on määratud, ärge kasutage neid initsialiseerimisfailide lugemisel, näiteks / etc / profile .profile ja ENV keskkonnamuutuja määratud faili.

-Ma ignoreerin

Kui interaktiivne, ignoreerige EOFi sisendit.

-i interaktiivne

Sunnib koorit interaktiivselt käituma.

-m jälgida

Lülitage töö juhtimine sisse (interaktiivseks seadistatakse automaatselt).

-s stdin

Lugege käsklusi standardsest sisendist (seadistatakse automaatselt, kui failide argumente pole). See valik ei mõjuta, kui see on määratud pärast seda, kui kest on juba käivitunud (st seatud (1)).

-V vi

Luba sisseehitatud vi (1) käsurea redaktor (keelab - E, kui see on määratud).

-E emacs

Luba sisseehitatud emacs (1) käsurea redaktor (keelab - V, kui see on määratud).

-b teatama

Asünkroonse teate saatmine taustapildistamise lubamise kohta. (VÕIMALIKULT 4.4 alfa puhul)

Lexi struktuur

Koor loeb sisendit ridadest failist ja lõhub selle tühikuteks tühjaks (täpid ja vahelehed) ja mõningate märksõnade järjekorras, mis on spetsiaalsed shellile, mida nimetatakse operaatoriteks. On kahte tüüpi operaatorid: juhtimisoperaatorid ja suunamises osalejad (nende tähendust arutatakse hiljem). Järgnev on operaatorite nimekiri:

"Juhtorganid:"

& & & (); ;; | ||

"Ümbersuunamine operaator:"

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

Quotes

Quotes kasutatakse konkreetsete tähemärkide või sõnade konkreetse tähenduse eemaldamiseks shellile, näiteks operaatoritele, tühikutele või märksõnadele. Seal on kolme tüüpi tsiteerimist: sobitatud üksikpakkumisi, sobitatud topeltjutumärke ja tagurpidi kriipsu.

Tagasitäik

Tagaklaasil on alljärgneva tähemärgi grammatiline tähendus, välja arvatud Aq uus reast. Aq-i uuele reale eelnenud rööpkriipsu peetakse joone jätkamiseks.

Üksikutkutsed

Ühekordsete hinnapakkumistega tähtede lisamine säilitab kõigi sümbolite sõna otseses tähenduses (välja arvatud üksikute hinnapakkumiste korral, mis muudab ühe tsitaatide sisestamise võimatuks ühe tsiteeritud stringi).

Double Quotes

Tähemärkide lisamine kahekordse hinnapakkumiste korral säilitab kõikide sümbolite sõna otseses tähenduses, väljaarvatud dollarign ($) backquote (`) ja tagasilöök (\) Tagasilansiliba sees on topeltjutumusega ajalooliselt imelik ja see tsiteerib ainult järgmisi tähemärke:

$ `\

Muidu jääb see sõna otseses mõttes.

Reserveeritud sõnu

Reserveeritud sõnad on sõnad, millel on shelli jaoks eriline tähendus ja mis on tunnustatud rea alguses ja pärast juhtoperaatorit. Järgnevalt on reserveeritud sõnu:

! Ta elif Ta fi Ta kui Ta juhtum

muidu Ta Ta jaoks, siis Ta {Ta}

tee ta Ta, kuni ta Ta Esac

Nende tähendust arutatakse hiljem.

Varjunimed

Alias ​​on nime ja vastav väärtus, mis on määratud kasutades alias (1) builtin käsku. Iga kord, kui võib tekkida reserveeritud sõna (vt eespool) ja pärast reserveeritud sõnu kontrollimist kontrollib kest sõna, et näha, kas see vastab pseudonüümile. Kui see nii läheb, asendatakse see sisendvoogu väärtusega. Näiteks, kui on olemas alias nimega `` lf '' väärtusega `` ls -F '', siis sisend:

kui foobar

muutuks

ls-F foobar

Alternatiivsed nimed pakuvad mugavat võimalust, et naiivsed kasutajad saaksid käsklusi luua, ilma et oleks vaja teada, kuidas funktsioone argumentidega luua. Neid saab kasutada ka leksiliselt ebaselge koodi loomiseks. Selline kasutamine on murettekitav.

Käsud

Kere interpreteerib sõnad, mida ta loeb, vastavalt sellele keelele, mille spetsifikatsioon jääb selle manuaalilehe väljapoole (vt POSIX 1003.2 dokumendis BNF- i ). Põhimõtteliselt loetakse rida ja kui rea esimene sõna (või pärast juhtoperaatorit) ei ole reserveeritud sõna, on shell tunnustanud lihtsat käsku. Vastasel juhul võib olla tuvastatud kompleksne käsk või mõni muu spetsiaalne konstruktsioon.

Lihtsad käsud

Kui lihtsat käsku on tuvastatud, teeb shell järgmisi toiminguid:

  1. Vormi `` name = value '' juhtivad sõnad eemaldatakse ja määratakse lihtsa käsu keskkonda. Ümbersuunamisoperatsioonid ja nende argumendid (nagu allpool kirjeldatud) eemaldatakse ja salvestatakse töötlemiseks.
  2. Ülejäänud sõnad laiendatakse, nagu on kirjeldatud jaotises "Laiendused", ja esimene ülejäänud sõna loetakse käsu nimeks ja käsk paikneb. Ülejäänud sõnad loetakse käsu argumentideks. Kui ükski käskluse nimi ei ole lõppenud, mõjutab parameetri tunnustatud `` name = value '' muutuja ülesandeid praegust shellit.
  3. Ümbersuunamine toimub järgmises jaotises kirjeldatud viisil.

Ümbersuunamine

Redirections kasutatakse selleks, et muuta, kus käsk loeb oma sisendi või saadab oma väljundi. Üldjuhul avanevad, sulguvad või redigeerivad olemasoleva viite failile. Ümbersuunamiseks kasutatav üldine vorming on:

[n] redir-op-fail

kus redir-op on üks eespool mainitud suunamises osalejatest. Järgnev on võimalike ümberlülimiste loend. Bq n on vabatahtlik number, nagu näiteks '3' (mitte `Bq 3 ', mis viitab failide kirjeldajale.

[n]> fail

Redigeerida standardväljundit (või n) faili.

[n]> | faili

Sama, kuid ignoreeri valikut - C.

[n] >> fail

Lisage standardväljund (või n) failiks.

[n]

Redigeeri standardset sisendit (või n) failist.

[n1] <& n2

Duplikaatstandard (või n1) failidekirjeldajast n2.

[n] <& -

Sule standard sisend (või n).

[n1]> & n2

Dünaamiline standardväljund (või n1) n2-st.

[n]> & -

Sule standardväljund (või n).

[n] <> fail

Ava fail standard-sisendi (või n) lugemiseks ja kirjutamiseks.

Järgmist redirecki nimetatakse sageli `` here-document ''

[n] eraldaja

siin-doc-text ...

piiritleja

Kõik tekstid järjestikustes ridades kuni eraldajani salvestatakse ära ja tehakse standardse sisendi käsule või faili deskriptorile n, kui see on täpsustatud. Kui tsiteeritakse algses reas määratletud eraldajat, siis käsitletakse siin-doc-teksti sõna otseses mõttes, vastasel juhul kehtib tekst parameetri laiendamise, käsu asendamise ja aritmeetilise laienduse (nagu on kirjeldatud peatükis `` Laiendused '') 'Kui operaator on `` << -' 'asemel `` <<' ', siis eemaldatakse siin-doc-teksti juhtivad sakid.

Otsimine ja täitmine

Selleks on kolm tüüpi käske: shellifunktsioonid, sisseehitatud käsud ja tavapärased programmid - ja käsku otsitakse (nime järgi) selles järjekorras. Neid mõlemaid täidetakse erineval viisil.

Kui shellifunktsioon on täidetud, on kõik shellipositsiooni parameetrid (välja arvatud $ 0, mis jääb samaks) koondfunktsiooni argumentideks. Muutujad, mis on selgesõnaliselt paigutatud käsu keskkonda (pannes neile ülesanded funktsiooni nime ees) tehakse funktsioonile kohalikud ja määratakse antud väärtustele. Siis täidetakse funktsiooni definitsioonis antud käsk. Kui käsu lõpp on positsiooniparameetrid taastatakse algväärtustele. See kõik toimub praeguses shellis.

Shelli sisseseade käivitatakse sisemiselt shelli, ilma uue protsessi kärpimiseta.

Muidu, kui käsu nimi ei ühildu funktsiooni või sisestusega, otsitakse käsku failisüsteemi tavapärase programmina (nagu on kirjeldatud järgmises jaotises). Kui tavaline programm käivitatakse, käivitab kestus programm, edastades argumendid ja keskkonnale programmi. Kui programm ei ole tavaline käivitatav fail (st kui see ei alga koos "maagilise numbriga", mille ASCII- esitus on "#!", Siis käsk exec (2) tagastab Er ENOEXEC), tõlgendab kase programmis alamkanal. Sellisel juhul taaskäivitab lapse kate ise, nii et mõju oleks selline, nagu reklaami-shelli skripti käsitlemiseks käivitatakse uus kest, välja arvatud see, et mällu salvestatud käsud paiknevad vanemakollektsioonis laps

Pange tähele, et selle dokumendi ja lähtekoodi eelmised versioonid viitavad eksitavale ja juhuslikule viitele shelli skriptile ilma võlukunsti kui "shellprotseduuriga".

Tee otsing

Käsu asukoha määramisel näeb koopia kõigepealt välja, kas sellel on nn shellfunktsioon. Siis otsib see nimega sissepoole käsk. Kui sisseehitatud käsku ei leita, toimub üks kahest asjast:

  1. Kaldkriipsuga käskude nimed täidetakse lihtsalt ilma igasuguste otsinguteta.
  2. Kord otsib omakorda iga käsku PATH . PATH-i muutuja väärtus peaks olema rida tühikutega eraldatud kirjetest. Iga sissekanne koosneb katalooginimest. Praegune kataloog võib olla näidatud kaudselt tühja kataloogi nimega või selgesõnaliselt ühe perioodi kaupa.

Käsku väljumise olek

Igal käsul on väljumisasend, mis võib mõjutada teiste koopia käskude käitumist. Paradigma on see, et käsk väljub normaalse või edukuse jaoks nulliga ja ebaõnnestumise, vea või vale näidu korral ei ole null. Iga käsu menüüleht peaks näitama erinevaid väljumiskoode ja nende tähendust. Lisaks sellele sisustavad käsklused tagasi väljumiskoode, nagu ka käivitatud shellifunktsioon.

Keerukad käsud

Komplekssed käsklused on lihtsate käskude kombinatsioonid juhtregulaatorite või reserveeritud sõnatega, luues kokku suurema kompleksse käsu. Üldisemalt on käsk üks järgmistest:

  • lihtne käsk
  • torujuhe
  • nimekiri või liitnimekiri
  • liit käsu
  • funktsiooni määratlus

Kui pole teisiti öeldud, on käsu väljumise olek viimase käsuga käivitatava lihtsa käsuga.

Torustikud

Torujuhtmeks on juhtimiskäitaja eraldatud ühe või mitme käskluse jada |. Kogu, välja arvatud viimane käsk, standardväljund on ühendatud järgmise käsu standardseadmega. Viimase käsu standardväljund pärineb koorest nagu tavaliselt.

Torujuhtme formaat on:

[!] command1 [| command2 ...]

Käsu 1 standardväljund on ühendatud standardse sisendiga command2. Standardne sisend, standardväljund või mõlemad käsud peetakse torujuhtmeks määratud enne redirection määratud redirection operaatorid, mis on osa käsust.

Kui torujuhtme pole taustal (arutatakse hiljem), ootab kestus kõiki käske.

Kui reserveeritud sõna! ei ole torujuhtmele eelnev, on väljumiskäik olev olek viimase torujuhtmes määratud käsu väljumise olek. Vastasel juhul on väljumiskäsk olevat loogiline NÄIDE viimase käsu väljumisasendist. See tähendab, et kui viimane käsk naaseb, on väljumiskoht 1; kui viimane käsk naaseb suuremaks kui null, on väljumis olek null.

Kuna standardsete sisendite või standardväljundite või mõlema torujuhtme määramine toimub enne suunamist, saab seda muuta ümber suunamisega. Näiteks:

$ command1 2> & 1 | command2

saadab nii standardväljundi kui ka standardse käsuvea standardse sisendiga command2.

A; või terminaator põhjustab eelmise ja-OR-loendi (kirjeldatud järgmisena) järjestikuse täitmisega; a ja põhjustab eelneva AND-OR-loendi asünkroonse käivitamise.

Pidage meeles, et erinevalt mõnest muust kestast on iga torujuhtmeprotokoll kaasaskantava lapse laps (välja arvatud juhul, kui see on shelli sisestatud; sel juhul käivitub see praeguses shellis, kuid selle mõju keskkonnale pühitakse).

Taustkäsud -

Kui käsku lõpetab juhtoperatsiooni ampersand (&), käivitab shell käsu asünkroonselt - see tähendab, et shell ei oota, kuni käsk tuleb lõpetada enne järgmise käsu täitmist.

Taustkorralduse käivitamise formaat on:

command1 & [command2 & ...]

Kui kest pole interaktiivne, on asünkroonse käskluse standardsisend määratud / dev / null

Nimekirjad - üldiselt kõnelevad

Nimekiri on järjekord nullist või enamast käsudest, mis on eraldatud uute ridade, semikoolonide või ampersantsidega ja valikuliselt lõpetatud ühega nendest kolmest tähemärgist. Nimekirja käsklused täidetakse nende kirjutamise järjekorras. Kui käsu järgneb ampersand, käsk käivitab käskluse ja läheb kohe järgmisele käsule; muidu ootab käskluse lõpetamine enne järgmisele käivitamist.

Lühivalgustusrühma operaatorid

`` && '' ja `` || '' on JA-VÕIK loetelu operaatorid. `& & '' käivitab esimese käskluse ja seejärel käivitab teise käsu, iff esimese käsu väljumise olek on null. `||| '' on sarnane, kuid käivitab teise käsu Iff, kusjuures esimese käsu väljumise olek ei ole null. Mõlemal on `` && '' ja `` || '' sama eelis.

Voolukonstruktsioonid - kui, kui, juhul

Käskluse süntaks on

kui nimekirjas
siis loend
[elif nimekiri
siis nimekiri] ...
[muu nimekiri]
fi

Ajaloo käsu süntaks on

samas nimekirjas
tegema nimekirja
lõpetatud

Kaks loendit täidetakse korduvalt, kui esimese loendi väljumisasend on null. Kuni käsk on sarnane, kuid on sõna kuni selle asemele, mis põhjustab selle kordamist kuni esimese loendi väljumisasend on null.

Käskluse süntaks on

muutujaga sõnas ...
tegema nimekirja
lõpetatud

Sõnad on laiendatud ja seejärel käivitatakse nimekiri korduvalt, kasutades muutujat, mis on määratud iga sõna kohta omakorda. teha ja teha võib asendada "` {'' ja ``} ''

Katkestuse süntaks ja käsu jätkamine on

murda [num]
jätkama [num]

Break katkestab kõige sisemiste numbrite või silmuste ajad. Jätkake sisemise loopi järgmist iteratsiooni. Need on rakendatud kui sisseehitatud käsud.

Juhtkäskude süntaks on

sõna sisse
muster);
...
esac

Must võib tegelikult olla üks või mitu mustrit (vt allpool kirjeldatud Shelli mudeleid), eraldatud tähtedega `` `'.

Rühmitamise käsklused koos

Käsud võib grupeerida ka kirja teel

(nimekiri)

või

{list;

Esimene neist käivitab alamkataloogi käsklused. Builtini käsud, mis on rühmitatud nimekirja, ei mõjuta praegust shellit. Teine vorm ei libise teise korpuse nii on veidi tõhusam. Sel viisil rühmitamise käsud võimaldavad teil oma väljundi suunata nii, nagu oleksid nad üks programm:

{printf hello; printf maailm \ n ";}> tervitus

Funktsioonid

Funktsioonide määratluse süntaks on

nimi () käsk

Funktsioonide määratlus on käivitatav avaldus; kui see käivitatakse, installib selle nimega funktsiooni ja tagastab nullist väljumise oleku. Käsk on tavaliselt `` ('' ja ``) '' vahel

Muutujad võidakse kohaliku käsuga kohalikuks tunnistada. See peaks ilmuma funktsiooni esimene avaldus ja süntaks on

kohalik [muutuja | -] ...

Kohalik on rakendatud käivitusena.

Kui muutuja tehakse kohalikuks, päritakse ta algväärtust ja eksporditakse ja loevad ainult lipud muutujast, millel on sama nimetus ümbritsevas ulatuses, kui see on olemas. Muidu muutuja muutub alguses. Koorus kasutab dünaamilist ulatust, nii et kui teete muutuja x kohalikuks funktsiooni f jaoks, mis seejärel funktsiooni g puhul tähendab, et viited g sisestatud muutujale x tähendavad f-is deklareeritud muutujat x, mitte globaalset muutujat x .

Ainuke spetsiifiline parameeter, kui saab teha kohalikuks, on `` - '' tegemisel `` - '' kohaliku mis tahes shelli suvandid, mis muutuvad funktsiooni sees oleva seatud käsuga, et taastada nende algsed väärtused, kui funktsioon tagastab.

Tagasikäsu süntaks on

tagasi [exitstatus

See lõpetab praeguse täitmise funktsiooni. Tagasipöördumine käivitatakse sisseehitatud käsuga.

Muutujad ja parameetrid

Kest säilitab parameetrite komplekti. Nimega tähistatud parameetrit nimetatakse muutujaks. Käivitamisel lülitab kogu ümbruse kõik muutujad ümber. Uued muutujad saab vormi abil määrata

nimi = väärtus

Kasutaja poolt määratud muutujate nimed peavad koosnema ainult tähestikku, numbritest ja alakriipsutustest, millest esimene ei tohi olla numbriline. Parameetrit saab tähistada ka numbriga või erimärgiga, nagu allpool selgitatud.

Positsiooni parameetrid

Asendi parameeter on parameeter, mida tähistab number (n> 0). Koor määrab need esialgu nende käsurea argumentide väärtustele, mis järgivad shelliskripti nime. Komplekti (1) saab kasutada ka nende seadistamiseks või lähtestamiseks.

Erilised parameetrid

Eriliseks parameetriks on parameeter, mida tähistab üks järgmistest erimärgistest. Parameetri väärtus on selle tähemärgi kõrval.

*

Laiendab asukohaparameetreid, alustades ühest. Kui paisumine toimub kahekordse tsiteeritud stringi piires, laieneb see ühele väljale, kusjuures iga parameetri väärtus on eraldatud IFS muutuja esimese tähemärgiga või , kui IFS on tühistatud.

@

Laiendab asukohaparameetreid, alustades ühest. Kui paisumine toimub kahekordse hinnapakkumise korral, laiendatakse iga asendi parameeter eraldi argumendina. Kui positsiooni parameetreid pole, laiendab @ genereerib nulli argumente, isegi kui @ on topelt tsiteeritud. Näiteks tähendab see seda, et kui $ 1 on `` abc '' ja $ 2 on `` def ghi '', siis Qq $ @ laieneb kahe argumendi juurde:

abc def ghi

#

Laieneb positsiooniparameetrite arvule.

?

Avab kõige uuema torujuhtme väljumisoleku.

- (hüppaja)

Laiendab praeguste valikuvõimaluste lippe (ühekohaline valikunimed, mis on ühendatud stringidesse), nagu on määratud kutsumises, määratud builtin käsuga või kaudselt shelliga.

$

Avab käivitatud shelli protsessi ID. Alamhulgal jääb sama väärtus $ kui tema vanem.

!

Avaneb praegusest shellist pärineva viimase taustakäsu protsessi ID-st. Torujuhtme jaoks on protsessi ID viimane käsk torujuhtmes.

0 (null.)

Avaneb shelli või shelli skripti nimi.

Sõna laiendused

Selles klauslis kirjeldatakse sõnu läbiviidavaid erinevaid laiendeid. Mitte iga laiendusi ei tehta iga sõna kohta, nagu selgitatakse hiljem.

Tilde laiendused, parameetrite laiendused, käsu asendused, aritmeetilised laiendused ja tsiteeritud kolimine, mis ilmuvad ühe sõna kaudu, laienevad ühele valdkonnale. See on ainult väli jagamine või parameetri laiendamine, mis võib luua ühest sõnast mitme välju. Selle reegli ainus erand on eriparameetri @ laiendamine topelt-hinnapakkumiste all, nagu eespool kirjeldatud.

Sõna laiendamise järjekord on:

  1. Tilde laiendamine, parameetri laiendamine, käsu asendamine, aritmeetiline laiendamine (kõik need toimuvad samal ajal).
  2. Väljalõikamine toimub etapis (1) genereeritud väljadelt, välja arvatud juhul, kui IFS-i muutuja on null.
  3. Pathname'i laiendamine (kui ei ole seatud - f on olemas).
  4. Tsiteerimine eemaldamine.

$ Tähemärki kasutatakse parameetrite laiendamise, käsu asendamise või aritmeetilise hindamise juurutamiseks.

Tilde laiendus (kasutaja kodukataloogi asendamine)

Sõnast, mis algab kodeerimata märgiga (~), allutatakse tilde laiendamine. Kõiki kaldkriipsu (/) või sõna lõppu tähemärki käsitletakse kasutajanimega ja need asendatakse kasutaja kodukataloogiga. Kui kasutajanimi puudub (nagu näiteks ~ / foobar), asendatakse tilde HOME muutuja (praeguse kasutaja kodukataloogi) väärtusega.

Parameetri laiendamine

Parameetrite laiendamise formaat on järgmine:

kus ekspressioon koosneb kõigist sümbolitest kuni vastavuseni ``) '' Any ``} '', mis põleb tagurpidi kriipsuga või tsiteeritud stringi sees, ning põimitud aritmeetilistes laiendustes, käsku asendustes ja muutuja laiendustes olevaid märke ei uurita sobitamine ``) '' '

Parameetrite laiendamise lihtsaim vorm on:

Parameetri väärtus, kui see on olemas, on asendatud.

Parameetri nimi või sümbol võib olla piiratud punktidega, mis on vabatahtlikud, välja arvatud positsiooniparameetrid, millel on rohkem kui üks number või kui parameetrile järgneb märk, mida võib tõlgendada nime osana. Kui topelt-hinnapakkumiste puhul ilmub parameetri laiendamine:

  1. Laiendamise tulemuste järgi pole laiendust laiendatud.
  2. Laienduse tulemustega ei tehta väli jagamist, välja arvatud @.

Lisaks saab parameetrite laiendamist muuta, kasutades ühte järgmistest formaatidest.

Kasutage vaikeväärtusi. Kui parameeter on tühi või null, asendatakse sõna laiendamine; vastasel juhul asendatakse parameetri väärtus.

Vaikeväärtuste määramine. Kui parameeter on tühi või null, siis laiendatakse sõna parameetrile. Kõikidel juhtudel asendatakse parameetri lõplik väärtus. Sel moel saab määrata ainult muutujaid, mitte positsiooni parameetreid või eriparameetreid.

Näidake viga, kui tühi või tühi. Kui parameeter on tühi või null, siis on sõna laiendamine (või sõnum, mis näitab, et see on tühistatud, kui sõna on välja jäetud) kirjutatakse standardveale ja koopia lahkub olemusest, millel puudub null. Vastasel juhul asendatakse parameetri väärtus. Interaktiivne kest ei pea väljuma.

Kasuta alternatiivset väärtust. Kui parameeter on tühistatud või null, asendatakse null; vastasel juhul asendatakse sõna laiendamine.

Varasemas parameetri laiendustes näeb käärsoole kasutamine vormingus kaasa parameetri, mis on tühi või null, test; Käärsoole ärajätmine annab parameetri testi, mis on alles alanud.

String pikkus. Parameetri väärtuse tähtede pikkus.

Alamstringide töötlemiseks on ette nähtud järgmised neli parameetri laiendamise varianti. Mudeli hindamiseks kasutatakse igal juhul mustrite vastavusmärke (vaadake Shelli mudeleid), mitte regulaaravaldise märkeid. Kui parameeter on * või @, on laienduse tulemus täpsustamata. Täisparameetri laienduse stringi lisamine kahekordse hinnapakkumistega ei põhjusta nelja järgnevat nelja tähemärgi sümbolite sortimist, samas kui märkide esitamine pidudele on selline.

Eemalda väikseim suffix muster. Sõna laiendatakse mustri loomiseks. Parameetri laiendamine toob tulemuseks parameetri, kusjuures vähim osa sufiksist sobib mustriga välja.

Eemalda suurim suffix muster. Sõna laiendatakse mustri loomiseks. Parameetri laiendamine toob tulemuseks parameetri, kusjuures mustriga kustutatud sufiksi suurim osa.

Eemalda väikseim eesliide muster. Sõna laiendatakse mustri loomiseks. Parameetri laiendamine toob tulemuseks parameetri, kusjuures mustriga kustutatud prefiksi väikseim osa.

Eemalda suurim prefiksi muster. Sõna laiendatakse mustri loomiseks. Parameetri laiendamine toob kaasa parameetri, kusjuures prefiksi suurim osa on mustriga kustutatud.

Käsk asendamine

Käsu asendamine võimaldab käsu väljundit asendada käsurea nime asemel ise. Käsu asendamine toimub siis, kui käsk on lisatud järgmiselt:

$ (käsk)

või Po `` backcoted '' versioon Pc:

`käsk '

Kere laiendab käsu asendamist, käivitades käsu alamkeskkonda ja asendades käsu asendamise käsu standardväljundiga, eemaldades ühe või mitme s järjestused asendamise lõpus. (Embedded s enne väljundi lõppu ei ole eemaldatud, kuid väljalõikamisel võib neid tõlgendada s, olenevalt IFS-i väärtusest ja kehtivast tsiteerimisest.)

Aritmeetiline laiendamine

Aritmeetiline laiendamine annab mehhanismi aritmeetiliste väljundite hindamiseks ja selle väärtuse asendamiseks. Aritmeetiline laienduse formaat on järgmine:

$ ((väljend))

Väljendit käsitletakse nagu kahekordse hinnapakkumisi, välja arvatud see, et ekspressiooni sees olevat topeltotsust ei käsitleta spetsiaalselt. Kere laiendab kõiki märgendeid parameetrite laiendamise, käsku asendamise ja tsiteerimise eemaldamise avaldis.

Seejärel käsitletakse seda kohendamisel aritmeetilise väljendina ja see asendab väljendi väärtust.

Valge ruumi lõhkumine (väli jagamine)

Parameetri laiendamise, käsu asendamise ja aritmeetilise laiendamise korral otsib skeem laienduste ja asenduste tulemusi, mis ei olnud kahekordse hinnapakkumise korral väljalõikumises ja mille tulemuseks võivad olla mitmed väljad.

Kest koheldab IFS-i iga tähist kui eraldajat ja kasutavad eraldajaid, et jagada parameetrite laiendamise ja käsu asendamise tulemusi väljadele.

Pathname'i laiendamine (faili nime põlvkond)

Kui pole määratud - f- lipp, teostatakse faili nime genereerimine pärast seda, kui sõna jagamine on lõpetatud. Iga sõna vaadeldakse mustrina, mis on eraldatud kaldkriipsudega. Laienemisprotsess asendab sõna kõigi olemasolevate failide nimedega, mille nimesid saab moodustada, asendades iga mustri stringiga, mis vastab määratud mustrile. Sellel on kaks piirangut: esiteks, mustriga ei saa kleepu jäljega võrrelda, ja teisest küljest ei saa mustriga stringi alustada perioodiga, kui mustri esimene sümbol on periood. Järgmises osas kirjeldatakse nii Pathname'i laienduse kui ka juhtumi (1) käsku.

Shelli mustrid

Muster koosneb endast sobivatest tavalistest märksõnadest ja metakomponentidest. Meta-tähed on ``! '' `` * '' ``?? 'Ja `` [' 'Need märgid kaotavad oma erimõõdikud, kui need on tsiteeritud. Kui käsu või muutuja asendamine toimub ja dollarite märk või tagasiside pakkumised ei kahekordse tsiteerimisega, skaneeritakse nende tähemärkide muutuja või väljundi väärtus ja need muutuvad metamärgiks.

Tärn (`` * '') vastab ühelegi tähemärkide stringile. Küsimärk vastab ühele tähemärgile. Vasakklõps (`` [''] tutvustab märgiklassi. Tähemärgiklassi lõpp tähistab (``] ''), kui ``] '' puudub, siis `` ['' vastab `` [['', mitte märgiklassi sisestamisele). Tähemärgiklass vastab nurksulgudes olevatele tähemärkidele. Mõningate tähtedega saab määrata miinusmärgi abil. Tähemärgiklassi võib täiendada tähemärgi klassi esimese tähemärgiga hüüumärgi tegemiseks.

Selleks, et lisada ``] '' tähemärkide klassi, tehke see esimene märk (kui on olemas ``! ''). Miinusmärgi lisamiseks märkige see esimene või viimane märk

Builtins

Selles jaotises on loetletud sisseehitatud käsklused, mis on sisse ehitatud, kuna neil on vaja toiminguid, mida ei saa eraldi protsessiga teostada. Nende kõrval on veel mitu käsklust, mis võivad tõhususe seisukohast olla (nt. Kaja 1).

:

Null käsu, mis tagas 0 (tõese) väljumise väärtuse.

. faili

Kataloogi loeb ja täidab antud faili käske.

alias [ name [ = string ... ]]

Kui string name = string on määratud, määrab shell nimed koos väärtus stringiga. Kui on määratud ainult nimi , trükitakse pseudonüümi nimi . Ilma argumentideta prindib alias " builtin " kõigi määratletud aliaste nimed ja väärtused (vt unalias)

bg [ töö] ...

Taustal jätkake määratud töökohti (või praegust töökohta, kui töökohti pole).

käsu käsk arg ...

Täitke määratud builtin käsk. (See on kasulik, kui teil on shelliprofiil, millel on sama nimi kui sisseehitatud käsk.)

cd [ kataloog ]

Määra kindlasse kataloogi (vaikimisi $ HOME) Kui CD- käskluse keskkonnas kuvatakse CDPATH-i kirje või on määratud CDPATH-i ja katalooginimi ei alustata kaldkriipsuga, siis otsitakse CDPATH-s loetletud katalooge konkreetse kataloogi jaoks. CDPATHi formaat on sama mis PATH-i puhul . Interaktiivses shellis trükib cd käsk kataloogi, mida see tegelikult sisse lülitati, kui see erineb kasutaja poolt antud nimega. Need võivad olla erinevad kas seetõttu, et kasutati CDPATH mehhanismi või sümboolse lingi ületamise tõttu.

eval string ...

Ühenda kõik argumendid tühikutega. Seejärel käsku uuesti proovida ja käivitada.

exec [ käsk arg ... ]

Kui käsk pole välja jäetud, asendatakse kooperatsiooniprotsess kindlaksmääratud programmiga (mis peab olema tõeline programm, mitte shelli sisseehitatud või funktsioon). Täitmise käsu mis tahes redirections on märgitud püsivaks, nii et neid ei tühistata, kui käsk exec käib.

exit [ exitstatus ]

Katkesta protsessi lõpp. Kui antakse exitstatus, kasutatakse seda shelli väljumisolukorras; muidu kasutatakse eelmise käsu väljumisasendit.

ekspordi nimi ...

eksport -p

Määratud nimed eksporditakse nii, et need ilmuvad järgnevate käskude keskkonda. Ainus viis muutuja lahtipakkimiseks on selle tühistamine. Kest võimaldab määrata muutuja väärtuse samal ajal, kui seda eksporditakse kirjalikult

ekspordi nimi = väärtus

Ilma argumentideta näeb ekspordikord kõigi eksporditavate muutujate nimed. Kui on määratud - p- valikuvõimalus, on väljund vormindatud sobimatuks interaktiivseks kasutamiseks.

fc [- e redaktor ] [ esimene [ viimane ]]

fc -l [ -n ] [ esimene [ viimane ]]

fc -s [ vana = uus ] [ esimene ]

Fc builtin loendib või redigeerib ja taaskäivitab interaktiivsele shellile eelnevalt sisestatud käske.

- toimetaja

Käsude muutmiseks kasuta redaktorit, mille nimi on redaktor. Redaktori string on käskude nimi, mida saab otsida PATHi muutuja kaudu. Väärtust FCEDIT-i muutujates kasutatakse vaikimisi, kui - e pole määratud. Kui FCEDIT on tühine või tühistatud, kasutatakse EDITORi muutuja väärtust. Kui EDITOR on null või tühi, kasutatakse redaktorina ed (1).

-l (ell)

Nimeta käskud pigem selle asemel, et neid redigeerida. Käsud on kirjutatud esimese ja viimase operandi poolt määratud järjekorras, nagu on mõjutanud - r iga käsuga, millele eelneb käsu number.

-n

Häälestades käskude numbreid loendis -l.

-r

Nimekirjas loetletud käskude järjekord tagasi pöörata (koos - või redigeerituna (ilma kummagi )

-s

Käsk käsku uuesti käsku redigeerida.

esiteks

viimane

Valige käskude nimekiri või muutmine. Varasemate käskude arv, millele pääseb juurde, määratakse muutuja HISTSIZE väärtusega . Esimese või viimase või mõlema väärtuseks on üks järgmistest:

[+] number

Positiivne number, mis tähistab käsu numbrit; Käsumärke saab kuvada - l- valiku abil.

-number

Negatiivne kümnendarv, mis esindab käsku, mis käivitati eelnevalt käskude arvu. Näiteks -1 on vahetult eelmine käsk.

string

String, mis näitab viimati sisestatud käsku, mis algab selle stringiga. Kui vana = uus operand ei ole ka määratud - s, siis ei saa esimese operandi stringvorm sisaldada sisseehitatud võrdusmärki.

Järgmised keskkonna muutujad mõjutavad fc täitmist:

FCEDIT

Toimetaja nimi.

HINNAD

Eelmiste käskude arv, mis on juurdepääsetavad.

fg [ töö ]

Viige määratud töö või praegune töö esiplaanile.

getopts optstring var

Käsk POSIX getopts , mida ei tohi segamini ajada Bell Labsiga - getopt (1).

Esimene argument peaks olema kirjade seeria, millest igaüks võib valikuliselt järgneda käärsoolega, et näidata, et valik nõuab argumenti. Määratud muutuja on seatud parsitud valikule.

Käsu getopts kaotab vanema getopti (1) utiliidi tänu tühikute tühistamiseks argumentide käsitsemisele.

Parameetrite loendist saab valikuid ja nende argumente kasutada valides getopts . Kui käivitatakse käskudes, asetab getopts järgmise variandi väärtuse variandi stringist loendis shelli muutuja loendis, mille on määranud var ja see on indeks koorimõõdus OPTIND-s Kui käsk on käivitatud, on OPTIND-i initsialiseeritud väärtuseks 1. Iga võimaluse puhul, mis nõuab Argument, getopts builtin paneb selle shelli muutujase OPTARG Kui optstringis pole optsioonis lubatud, siis OPTARG tühistatakse .

optstring on tunnustatud valikukirjade string. Kui kiri järgneb koolonile, eeldatakse, et valikul on argument, mida võib või ei saa eraldada tühja ruumi abil. Kui optsiooni tähist ei leita oodata, siis saavad getopts seadistama muutuja var ``? '', Siis saavad opsüsteemid OPTARG ja vabastama standardviga. Täpsustades käärsoole optstringi esimese tähemärgina, ignoreeritakse kõiki vigu.

Kui viimane valik on saavutatud, tagastatakse mitterahuldav väärtus. Kui puuduvad ülejäänud argumendid, siis saavad getopts määrata erifunktsiooni var , `` - '' muul juhul määrab var ``? ''

Järgmine koodi fragment näitab, kuidas saab töödelda argumente käsu jaoks, mis võivad kasutada valikuid [a] ja [b] ning argumentidega nõutavat võimalust [c].

samas getopts abc: f
tee seda
juhul $ f sisse
a | b) flag = $ f ;;
c) carg = $ OPTARG ;;
\?) echo $ USAGE; väljumine 1 ;;
esac
lõpetatud
nihe `expr $ OPTIND - 1`

See kood aktsepteerib mõnda järgmistest väärtustest samaväärsena:

cmd -acarg failifail
cmd -a -c arg failifail
cmd-carg -a failifail
cmd -a -carg - failifail

hash -rv käsk ...

Kest säilitab räsi tabeli, mis mäletab käskude asukohti. Ilma argumentideta joonistatakse räsikäsud selle tabeli sisust. Kanded, mida pärast viimast cd- käsku ei vaadatud, on tähistatud tärniga; need sissekanded võivad olla kehtetud.

Argumentidega eemaldab räsikäsitsus räsi tabelis määratud käsked (kui need pole funktsioonid) ja seejärel neid. Variandi korral prindib räsi käskude asukohad, kui need neid leiab. Valik - r põhjustab hash-käsu, et kustutada kõik räsi tabelis olevad kirjed, välja arvatud funktsioonid.

jobid [ töökoht ]

Trükkige tööprotsesside protsesside id. Kui töö argument on ära jäetud, kasutatakse praegust töökohta.

töökohad

See käsk loetleb välja kõik taustprotsessid, mis on praeguse keskse protsessi lapsed.

PWD

Prindi praegune kataloog. Sissejuhatav käsk võib sama nimega programmist erineda, sest builtin käsk mäletab selle asemel, mis on praegune kataloog, selle asemel, et seda iga kord arvutada. See muudab selle kiiremaks. Siiski, kui praegune kataloog on ümbernimetatud, jätkab pwd algne versioon kataloogi vana nime printimist.

loe [- p kiire ] [- r ] muutuja ...

Kui printer on määranud - p-väärtuse ja standardne sisend on terminal, trükitakse see viip. Seejärel loetakse standardse sisendiga rida. Järele jäetud uus rida kustutatakse reast ja rida jagatakse nii, nagu on kirjeldatud ülalpool sõna jagamise osas ja tükid on määratud muutujatele järjekorras. Vähemalt üks muutuja peab olema täpsustatud. Kui on rohkem tükki kui muutujad, on ülejäänud tükid (koos neile eraldatud IFS-i tähemärkidega) määratud viimasele muutujale. Kui on rohkem muutujaid kui tükid, on ülejäänud muutujad nullstringil. Loetud sisseseade näitab edu, kui sisendil ei esine EOF-i, mille korral tagastatakse tagasilükkamine.

Vaikimisi, kui ei ole määratud - r- valikut, on tagasilöögilauus `` \ '' toimiva põikpildina, mis põhjustab järgmise tähemärgi kohtlemist sõna-sõnalt. Kui tagasilöögilõksu järel järgneb uus rida, kustutatakse tagurpidi kriips ja uus rida.

kirjutuskaitstud nimi ...

kirjutuskaitstud -p

Määratud nimed on märgitud ainult lugemiseks, nii et neid ei saa hiljem muuta ega tühistada. Kest võimaldab määrata muutuja väärtuse samal ajal, kui see on märgitud ainult kirjutamise teel

lihtsalt kirjutatud nimi = väärtus

Ilma argumentideta loetleb käsk readon ainult kõigi loetletud muutujate nimed. Kui on määratud - p- valikuvõimalus, on väljund vormindatud sobimatuks interaktiivseks kasutamiseks.

seatud [{- options | | + võimalused | - arg ... ]

Seadistatud käsk täidab kolme erinevat funktsiooni.

Ilma argumentideta loetletakse kõigi koondmuutujate väärtused.

Kui valikud on antud, seatakse see määratud parameetri lipud või tühjendab need, nagu on kirjeldatud jaotises Sx argumentide nimekirja töötlemine.

Seadistatud käsu kolmas kasutamine on määrata määratud shelli positsiooni parameetrite väärtused. Positsioonide parameetrite muutmiseks ilma valikuid muutmata kasutage esimese määramise argumendina `` - ''. Kui ükski args pole olemas, siis seatakse käsu abil kõik positsiooniparameetrid (mis vastab käskudele "$ shift # $".

muutuv väärtus

Määrab muutuja väärtuse. (Üldiselt on parem kirjutada muutuja = väärtus, mitte kasutada setvar setvarit, on mõeldud kasutamiseks funktsioonides, mis määravad väärtused muutujatele, kelle nimed edastatakse parameetriteks).

nihe [ n ]

Nihutage positsiooni parameetreid n korda. Ümberlülitus määrab $ 1 väärtuse väärtuseni $ 2 väärtusega $ 2 väärtusele $ 3 ja nii edasi, vähendades $ # väärtust ühega. Kui n on positsiooniparameetrite arvust suurem, lülitatakse välja tõrketeade ja väljub tagasisaatmisastmega 2.

korda

Trüki koopia kogunenud kasutaja ja süsteemi ajad ning shellist käivitatud protsessid. Tagastatav olek on 0.

lõksu signaali ...

Juhtuda, kui kumbagi määratud signaale saab läbi vaadata ja käivitada toimingu. Signaalid on määratud signaalinumbri abil. Kui signaal on 0, käivitatakse toiming, kui koormus väljub. tegevus võib olla null või `` - '' esimene põhjustab määratud signaali ignoreerimise ja viimane põhjustab vaikimisi tegevuse. Kui kere kahvlipildid alamjooksust välja lülitatakse, siis lähtestab ta vaikimisi toiminguid püütud (kuid mitte ignoreeritud) signaalidest. Trapide käsk ei mõjuta signaale, mida ignoreeriti kesta sisenemisel.

tüüp [ nimi ... ]

Tõlgige iga nimi käsuga ja trükkige käsuotsingu resolutsioon. Võimalikud resolutsioonid on: shelli märksõna, alias, shelli sissekanne , käsk, jälgitud alias ja seda ei leitud. Varjunimede jaoks on trükitud alias laiendus; Käskude ja jälgitavate varjunimede puhul trükitakse käsurea täielik sõna nimi.

ulimit [ -H-S ] [ -a -tfdscmlpn [ väärtus ]]

Uurige protsesside kõvaid või pehmeid piiranguid või määrake uusi piiranguid. Valiku tegemiseks kõva limiidi vahel (mida ükski protsess ei tohi rikkuda ja mida ei saa tõsta, kui see on langetatud) ja pehme piirang (mis põhjustab protsesside signaale, kuid mitte tingimata tapetakse ja mida võib tõsta) tehakse need lipud:

-H

seadke või uurige kõvasid piiranguid

-S

määrata või küsida pehmete piiride kohta. Kui kumbki - H või - S pole määratud, kuvatakse pehme piirang või mõlemad piirangud on määratud. Kui mõlemad on täpsustatud, võidab viimane.

Seejärel valitakse küsitletud või seatud piirang, märkides ühe neist lipudest:

-a

näidake kõiki kehtivaid piiranguid

-t

näidata või määrata CPU aja piirang (sekundites)

-f

näidata või määrata limiidi suurimale failile, mida saab luua (512-baidistes plokkides)

-d

näitab või määrab protsessi andmesigendi suuruse piiri (kilobaitides)

-s

näitab või määrab protsessi partii suuruse piirangu (kilobaitides)

-c

näidata või määrata suurimat tuumikadu suurust (512-baidistes plokkides)

-m

näitab või määrab kogu füüsilise mälu piirangu, mida protsess võib kasutada (kilobaitides)

-l

näitab või määrab piirangu selle kohta, kui palju mälumahtu protsessi abil saab lukustada koos mlock (2) ( kilobaitides )

-p

näita või määrake selle kasutaja protsesside arvu piirangud korraga

-n

näitab või määrab numbrifailide limiidi, mida protsess võib korraga avada

Kui ükski neist pole määratud, on see faili suuruse piirang, mis on näidatud või seatud. Kui väärtus on määratud, määratakse see arv sellele numbrile; muidu kuvatakse praegune piirang.

Suvalise protsessi piiranguid saab kuvada või määrata kasutades sysctl (8) utiliiti.

umask [ mask ]

Määrake umaski väärtus (vt umask (2)) määratud kaheksuaalväärtuseni. Kui argument jäetakse välja, trükitakse umask väärtus.

unalias [ -a ] [ nimi ]

Kui nimi on määratud, eemaldab kiri selle aliase. Kui - a on määratud, eemaldatakse kõik aliased.

tühistatud nimi ...

Määratletud muutujad ja funktsioonid on tühistatud ja ekseksporditud. Kui nimi vastab nii muutuja kui ka funktsioonile, on nii muutuja kui funktsioon tühistatud.

oota [ töö ]

Oodake määratud töö lõpuleviimiseks ja tagastab viimati tööprotsessi lõpetamise oleku. Kui argument jäetakse välja, oodake, kuni kõik töökohad on lõpule jõudnud ja tagasisaatmise olek on null.

Käsurea redigeerimine

Kui sh kasutatakse terminoloogiliselt interaktiivselt, saab praegust käsku ja käskude ajalugu (vt. Fc Sx Builtinsides) redigeerida kasutades vi-mode käsurea redigeerimist. See režiim kasutab allpool kirjeldatud käske, mis sarnaneb viiendi lehel kirjeldatud alamhulgaga. Käsk "set" -o vi lubab vi-mode redigeerimist ja asetab vi sisemise režiimi. Kui vi-mode on sisse lülitatud, saab sisse lülitada sisemise režiimi ja käsurežiimi vahel. Redaktorit ei kirjeldata siin täies ulatuses, kuid see on hilisemas dokumendis. See sarnaneb vi-ga: Aq ESC trükkimine käivitab käsu režiimi käskluse VI käskluses. Aq tagasipööramine käivitamise ajal käsu režiimis asetseb reale shelli.

Tähtis: kasutage käsuga man ( % man ), et näha, kuidas käsku kasutatakse teie konkreetsel arvutis.