Linuxi tcsh käsk



tcsh käsk

Peal Unixi moodi opsüsteemid, tcsh (hääldatakse 'tee-see-shell' või 'tee-see-ess-aysh') on a käsurida kest põhineb C kest . Selle põhijooned on programmeeritav käsu lõpuleviimine ja käsurea redigeerimine.

Kirjeldus

tcsh on täiustatud, kuid täielikult ühilduv versioon Berkeley UNIX C kest, csh . See on käsukeele tõlk, mida saab kasutada nii interaktiivse sisselogimise kestana kui ka kestana stsenaarium käsuprotsessor. See sisaldab käsurea redaktorit (vt Käsurea redaktor ), programmeeritav sõna lõpuleviimine (vt Lõpetamine ja noteerimine ), õigekirjaparandus (vt Õigekirjaparandus ), ajaloo mehhanism (vt Ajaloo asendamine ), töökontroll (vt Töökohad ) ja a C programmeerimiskeel -taoline süntaks .

Ajalugu

tcsh töötas välja Ken Greer alates 1970. aastate lõpust Carnegie Melloni ülikoolis. ' t 'sisse tcsh viitab TENEX-ile, DEC-i operatsioonisüsteemile, millel on käskude täitmine, mis inspireeris Greerit looma sarnase funktsiooniga kest. Millegi kallal töötama tcsh jätkas Mike Ellise koostöös Fairchild A.I. Labs ja selle lähtekood ch postitati 1983. aasta oktoobris süsteemide programmeerimise uudisegruppi.

Süntaks

tcsh [-bcdefFimnqstvVxX] [-D  name  [=  value  ]] [  arg  ...]
tcsh -l

Valikud

Kui esimene argument (argument 0 ) kest on ' - siis on see sisselogimise kest. Sisselogimiskesta saab määrata ka, kutsudes selle esile -L lipp ainsa argumendina.

Ülejäänud lipu argumente tõlgendatakse järgmiselt:

  -b  
Sunnib valiku töötlemisest „katkestama“, mis põhjustab kõigi muude kestargumentide käsitlemist valikuteta argumentidena. Ülejäänud argumente ei tõlgendata shellivalikutena. Seda võib kasutada suvandite edastamiseks shelliskriptile ilma segaduse ja võimaliku väljakutseta. Koor ei käivita set-user ID skripti ilma selle suvandita.
  -c  
Käsud loetakse järgmisest argumendist (mis peab olema olemas ja peab olema üks argument), salvestatakse viitamiseks käsu shellimuutujaks ja täidetakse. Ülejäänud argumendid paigutatakse argv kest muutuja.
  -d  
Koor laadib kataloogivirna ~ / .cshdirs nagu on kirjeldatud jaotises Käivitamine ja väljalülitamine, olenemata sellest, kas see on sisselogimiskest või mitte.
  -D   name  [  =   value  ]
Määrab keskkonnamuutuja nimi kuni väärtus . (Ainult domeen / OS)
  -e  
Kest väljub, kui mõni käsk lõpetab ebaharilikult või annab nullist erineva väljumisoleku.
  -f  
Kest ei laadi ühtegi ressurssi ega käivitusfaili ega täida ühtegi käsu räsimist ja käivitub seega kiiremini.
  -F  
Kest kasutab kahvel selle asemel vfork kudema protsesse.
  -i  
Kest on interaktiivne ja küsib tipptasemel sisendit, isegi kui see ei näi olevat terminal. Karbid on ilma selle valikuta interaktiivsed, kui nende sisendid ja väljundid on terminalid.
  -l  
Kest on sisselogimise kest. Kohaldatav ainult siis, kui -L on ainus määratud lipp.
  -m  
Kest laadib ~ / .tcshrc isegi kui see ei kuulu tegelikule kasutajale. Uuemad versioonid selle saab mööda minna -m kestani.
  -n  
Kest sõelub käske, kuid ei täida neid. See aitab shelliskripte siluda.
  -q  
Kest aktsepteerib signaal SIGQUIT (vt Signaali käsitsemine ) ja käitub, kui seda kasutatakse siluri all. Töökontroll on keelatud.
  -s  
Käsu sisend võetakse standard sisend .
  -t  
Kest loeb ja täidab ühte sisendjoont. A ' 'võib kasutada selle rea lõpus olevast uuest joonest väljumiseks ja teisele liinile liikumiseks.
  -v  
Määrab paljusõnalise shellimuutuja, nii et käsu sisend kajab pärast ajaloo asendamist.
  -x  
Määrab kaja kest muutuja, nii et käsklused kajavad vahetult enne käivitamist.
  -V  
Määrab paljusõnalise shellimuutuja juba enne käivitamist ~ / .tcshrc .
  -X  
Kas on -x as -V on -v .
  --help  
Printige standardväljundile abisõnum ja väljuge.
  --version  
Trükkige versioon / platvorm / koostamine standardväljundi ja väljumise valikud. See teave sisaldub ka versiooni shell muutujas.

Pärast lipu argumentide töötlemist, kui argumendid jäävad alles, kuid ükski neist pole -c , -i , -s või -t valikud, võetakse esimene argument käivitatava käskude faili (skripti) nimeks. Kest avab selle faili ja salvestab selle nime võimalikuks asendamiseks 0 dollarit '. Kuna paljud süsteemid kasutavad kas standardversiooni 6 või versiooni 7 kestasid, mille shelliskriptid ei ühildu selle kestaga, kasutab shell sellist „standardset” kestat skripti käivitamiseks, mille esimene märk pole # ', s.t see ei alga a-ga kommenteerida .

Ülejäänud argumendid on paigutatud argv kest muutuja.

kuidas kontrollida arvuti ram -i

Käivitamine ja seiskamine

Sisselogimiskoor algab käskude käivitamisega süsteemifailidest /etc/csh.cshrc ja /etc/csh.login . Seejärel täidab see kasutaja kodukataloogis olevate failide käsud: kõigepealt ~ / .tcshrc või kui ~ / .tcshrc ei leitud ~ / .cshrc siis ~ / .ajalugu (või väärtus histfail kest muutuja), siis ~ / .login , ja lõpuks ~ / .cshdirs (või väärtus dirsfile kest muutuja). Kest võib lugeda /etc/csh.login enne kui pärast /etc/csh.cshrc ja ~ / .login enne kui pärast ~ / .tcshrc või ~ / .cshrc ja ~ / .ajalugu , kui see on nii koostatud; vaata versioon kest muutuja.

Ainult sisselogimata kestad on loetavad /etc/csh.cshrc ja ~ / .tcshrc või ~ / .cshrc käivitamisel.

Käivitamisfailide näiteid saate vaadata https://sourceforge.net/projects/tcshrc/ .

Käsklused meeldivad stty ja tset , mida tuleb sisselogimise ajal käivitada ainult üks kord, sisestatakse tavaliselt üks ~ / .login faili. Kasutajad, kes peavad mõlemaga kasutama sama failikomplekti csh ja tcsh võib olla ainult a ~ / .cshrc mis kontrollib tcsh shellimuutuja (q.v.) enne kasutamist tcsh -spetsiifilised käsud või võivad omada mõlemat a ~ / .cshrc ja a ~ / .tcshrc mis allikas s (vt sisseehitatud käsku) ~ / .cshrc . Selle käsiraamatu ülejäänud osas kasutatakse ~ / .tcshrc ' tähendab ' ~ / .tcshrc 'või kui ~ / .tcshrc ei leitud ~ / .cshrc .

Tavalisel juhul hakkab shell terminalist käske lugema, küsides > '. Argumentide töötlemist ja kesta kasutamist käsuskripte sisaldavate failide töötlemiseks kirjeldatakse hiljem. Kest loeb korduvalt käsusisendi rida, jagab selle sõnadeks, paigutab käsuloo loendisse, sõelub see ja täidab iga rea ​​käsu.

Välja saab logida, tippides ' ^ D 'tühjal real' Logi välja 'või' Logi sisse 'või kesta automaatse otsingu mehhanismi kaudu (vt automaatne otsing kest muutuja). Kui sisselogimise kest lõpeb, määrab logouti shellimuutuja väärtuseks ' normaalne 'või' automaatne ', täidab failidest käske /etc/csh.logout ja ~ / .logout . Koor võib kompileerimise korral loobuda DTR-ist väljalogimisel; vaata versioon kest muutuja.

Süsteemi sisselogimis- ja väljalogimisfailide nimed varieeruvad erinevates süsteemides csh variandid; vaata Failide jaotis .

Redigeerimine

Käsurea redaktor

Käsurea sisestust saab muuta klahvijärjestuste abil sarnaselt GNU-s kasutatutele Emacs või meie . Redaktor on aktiivne ainult siis, kui redigeeri shellimuutuja on määratud, mis see on interaktiivsetes kestades vaikimisi olemas. The bindkey sisseehitatud saab kuvada ja muuta klahvide sidemeid. Emacs vaikimisi kasutatakse -stiilseid võtmesidemeid (kui kest pole kompileeritud teisiti; vaadake versiooni shell muutujat), kuid bindkey saab muuta võti seosed meie -stiilisidemed ja mass.

Kest seob alati nooleklahve (nagu on määratletud TERMCAP keskkonnamuutuja) kuni:

alla ajalooline ajalugu
üles üleajalugu
vasakule tagurlik-char
eks edasi-char

... kui see ei muudaks teist ühemärgilist sidumist. Nende sidumiste vältimiseks saab nooleklahvi põgenemisjärjestuse seada settiga tühjale stringile. Nooleklahvide ANSI / VT100 järjestused on alati seotud.

Muud võtmekinnitused on enamasti Emacs ja meie kasutajad ootavad ja neid saab hõlpsasti kuvada bindkey , nii et pole vaja neid siia üles loetleda. Samamoodi bindkey saab loetleda redaktori käsud koos nende lühikese kirjeldusega.

Pange tähele, et redaktori käskudel pole sama sõna 'sõna' mõistet nagu kestal. Toimetaja piiritleb sõnad, milles pole tähtnumbrilisi tähemärke, mis pole shellimuutuja sõnamärgid , samas kui kest tunneb ära ainult tühik ja mõned selle eritähendusega tähemärgid, mis on loetletud jaotises Leksikaalne struktuur .

Lõpetamine ja loetellu kandmine

Koor suudab unikaalse lühendi korral sageli sõnu täiendada. Sisestage sõna osa (näiteks ' ls / usr / kadunud ') ja vajuta Tabulaatoriklahv täissõnalise redaktori käsu käivitamiseks. Kest täidab failinime ' / usr / kadunud 'kuni' / usr / kadunud + leitud / ', asendades mittetäieliku sõna sisendpuhvris oleva täissõnaga. Pange tähele / ' lõpus; lõpetamine lisab ' / 'lõpetatud kataloogide lõppu ja tühik teiste lõpetatud sõnade lõppu, et kiirendada kirjutamist ja pakkuda visuaalset indikaatorit edukast lõpuleviimisest. The lisaliide selle vältimiseks saab shellimuutuja määrata. Kui vastet ei leita (võib-olla ' / usr / kadunud + leitud 'pole olemas', heliseb terminalikell. Kui sõna on juba valmis (võib-olla on / usr / kadunud 'oma süsteemis või mõtlesite ehk liiga kaugele ette ja tippisite kogu asja) a' / 'või lõppu lisatakse tühik, kui seda veel pole.

set autolist
nm /usr/lib/libt[tab]
 [email protected] [email protected] 
nm /usr/lib/libterm

Kui autolist on seatud „mitmetähenduslikuks”, valikud loetletakse ainult siis, kui lõpetamine ebaõnnestub ja lisatakse lõpetatavale sõnale uusi märke.

Täidetav failinimi võib sisaldada muutujaid, teie enda või teiste kodukatalooge lühendatult ~ '(vt Failinime asendamine ) ja kataloogivirna kirjeid lühendatult ' = '(vt Kataloogivirna asendamine ). Näiteks,

ls ~k[^D]
kahn kas kellogg
ls ~ke[tab]
ls ~kellogg/

... või mõne muu näite jaoks:

set local = /usr/local
ls $lo[tab]
ls $local/[^D]
bin/ etc/ lib/ man/ src/
ls $local/

Pange tähele, et muutujaid saab ka selgesõnaliselt laiendada laienda-muutujad toimetaja käsk.

kustuta-char-või-list-või-eof loetleb ainult rea lõpus; rea keskel kustutab märgi kursori alt ja tühjal real logib ühe välja eiramine on seatud, ei tee midagi. ' M- ^ D ', seotud redaktori käsuga nimekiri-valikud , loetleb lõpuleviimise võimalused kõikjal real ja nimekiri-valikud (või mõni seotud redaktori käsk, mis kustutab või ei kustuta, loetleb ja / või logib välja, loetletud jaotises kustuta-char-või-list-või-eof ) saab siduda ^ D ' koos bindkey soovi korral sisseehitatud käsk.

The täielik-sõna-fwd ja täielik-sõna-tagasi redaktori käske (vaikimisi mitte ühegi klahviga seotud) saab kasutada võimalike täienduste loendis üles ja alla liikumiseks, asendades praeguse sõna loendis järgmise või eelmise sõnaga.

Kesta muutuja fignore saab määrata loendi sufiksidest, mida lõpuleviimisel ignoreeritakse. Mõelge järgmisele:

ls
Makefile condiments.h~ main.o side.c README main.c meal side.o condiments.h main.c~
set fignore = (.o ~)
emacs ma[^D]
main.c main.c~ main.o
emacs ma[tab]
emacs main.c

' main.c ~ 'ja' main.o 'lõpetamisel ignoreeritakse (kuid loendisse jätmata), kuna need lõpevad järelliidetega fignore . Pange tähele, et 'oli vaja ees' ~ ', et vältida selle laiendamist koju, nagu on kirjeldatud jaotises Failinimi asendamine. fignore ignoreeritakse, kui on võimalik ainult üks lõpetamine.

Kui kogu shellimuutuja on seatud väärtusele ' suurendada ', lõpetamisel ignoreeritakse väiketähti ja arvestatakse punkte, sidekriipse ja alakriipe (' . ',' - 'ja' _ ') olla sõna eraldajad ning sidekriipsud ja alakriipsud samaväärsed. Kui teil on järgmised failid

comp.lang.c comp.lang.perl comp.std.c++ comp.lang.c++ comp.std.c

ja kirjutasin ' mail -f c.l.c [sakk] ', see oleks täidetud' mail -f comp.lang.c 'ja ^ D loetleks ' komp.lang.c 'ja' komp.lang.c ++ '. ' mail -f c..c ++ [^ D] 'loetleks' komp.lang.c ++ 'ja' komp.std.c ++ '. Tippimine ' rm a - fail [^ D] 'järgmises kataloogis

A_silly_file a-hyphenated-file another_silly_file

loetleks kõik kolm faili, kuna suurtähti ei arvestata ning sidekriipsud ja alakriipsud on samaväärsed. Perioodid ei ole siiski võrdväärsed sidekriipsude ega alakriipsudega.

Kui täielik shellimuutuja on seatud väärtusele ' Suurenda ', ignoreerib sidekriipsu ja alakriipsutava sõna eraldaja väiketähti ja erinevusi ainult siis, kui kasutaja sisestab väiketähe või sidekriipsu. Suure tähe või alakripi sisestamine ei sobi vastava väiketähe või sidekriipsude eraldajaga. Tippimine ' rm a - fail [^ D] 'eelmise näite kataloogis loetleks ikkagi kõik kolm faili, kuid tippides' rm A - fail 'sobiks ainult' A_silly_file 'ja kirjutades' rm a__fail [^ D] 'sobiks lihtsalt' A_silly_file 'ja' other_silly_file ', kuna kasutaja kasutas selgesõnaliselt suurtähte või alakriipsusid.

Lõpetamist ja loendisse kandmist mõjutavad muud shellimuutujad: täpne saab seadistada viima lõpule võimalikult lühikese unikaalse vaste, isegi kui rohkem sisestades võib tulemuseks olla pikem vaste:

ls
fodder foo food foonly
set recexact
rm fo[tab]

lihtsalt piiksub, sest ' fo 'võiks laieneda' olema 'või' foo ', aga kui kirjutame teise' või ',

rm foo[tab]
rm foo

valmimine lõpeb foo ', kuigi ' toit 'ja' varsti 'ühtivad ka. Autoexpand'i saab seadistada laienda-ajalugu redaktori käsk enne iga lõpetamiskatset, automaatne parandus saab seada väärtusele õigekiri õige täidetav sõna (vt Õigekirjaparandus ) enne iga lõpetamiskatset ja õige saab seadistada käsud automaatselt täitma, kui üks tabab 'return'. tikumepiip saab seadistada lõpetama piiksu või mitte piiksuma erinevates olukordades ja nobeep saab seadistada nii, et see ei piiksuks kunagi. tõstke saab seadistada kataloogide ja / või mustrite loendini, mis sobivad kataloogidega, et vältida lõpuleviimise mehhanismi riik neid katalooge. listmax ja listmaxrows saab seada nii, et see piiraks loendis olevate üksuste ja ridade arvu (vastavalt) ilma eelnevalt küsimata. ainult_täidetavad saab seadistada nii, et käskude loendamisel muudaks shelliloendi ainult käivitatavad failid, kuid see on üsna aeglane.

Lõpuks täielik builtini käsu abil saab shell öelda, kuidas täita muid sõnu peale failinimede, käskude ja muutujate. Täitmine ja loendisse lisamine glob-mustritel ei toimi (vt Failinime asendamine ), kuid list-glob ja laienema-glob redaktori käsud täidavad glob-mustrite jaoks samaväärseid funktsioone.

Õigekirjaparandus

Kest võib mõnikord parandada nii failinimede, käskude ja muutujate nimede õigekirja kui ka nende täiendamist ja loetlemist.

Üksikuid sõnu saab õigekirjaga parandada õigekiri-sõna redaktori käsk (tavaliselt seotud Prl ja PRL ) ja kogu sisendpuhver koos õigekirjajoon (tavaliselt seotud M- $ ). The õige shellimuutuja saab seada väärtusele ' cmd 'käsu nime parandamiseks või' kõik 'kogu rea parandamiseks iga kord, kui tagasipöördumine sisestatakse, ja automaatne parandus saab seadistada lõpetatava sõna parandamiseks enne igat lõpetamiskatset.

Kui õigekirjaparandust kutsutakse mõnel neist viisidest ja kest arvab, et mõni käsurea osa on valesti kirjutatud, küsib see parandatud reaga:

set correct = cmd
lz /usr/bin
CORRECT>ls /usr/bin (y|n|e|a)?

Võib vastata ' Y või ruumi parandatud rea täitmiseks, ' on 'jätta parandamata käsk sisendpuhvrisse,' kuni 'käsu katkestamiseks justkui' ^ C 'oli tabatud ja kõik muu, mis algset joont muutmata kujul täita.

Õigekirjaparandus tuvastab kasutaja määratud lõpuleviimised (vt täielik sisseehitatud käsk). Kui sisendi sõna positsioonis, mille jaoks on määratletud lõpuleviimine, sarnaneb lõpuloendis oleva sõnaga, registreerib õigekirjaparandus valesti kirjutamise ja soovitab paranduseks viimast sõna. Kui aga sisestussõna ei ühti selle positsiooni võimalike täiendustega, ei registreeri õigekirjaparandus valesti kirjutamist.

Nagu lõpuleviimine, toimib õigekirjaparandus ka kõikjal real, lükates ülejäänud rea paremale ja jättes kursorist paremale võib-olla lisamärgid.

Hoiatus

õigekirjaparandus ei ole garanteeritud nii, nagu see kavatseb, ja see on enamasti eksperimentaalse funktsioonina.

Redaktori käsud

' bindkey 'loetleb võtmeköited ja' bindkey -l 'loetleb ja kirjeldab lühidalt redaktori käske. Siin kirjeldatakse ainult uusi või eriti huvitavaid redaktori käske. Vaata emacs ja meie iga redaktori võtmeköite kirjelduste jaoks.

Sulgudes on märk või märgid, millega iga käsk on vaikimisi seotud. ' ^ iseloomu tähendab kontrollmärki ja M - iseloomu 'metamärk, mis on sisestatud metaklahvita terminalides põgenemismärgina. Suur- ja väiketähed loetakse, kuid vaikimisi tähtedega seotud käsud on mugavuse huvides seotud nii väikeste kui ka väikeste tähtedega.

Käsu nimi Võtmete sidumine Kirjeldus
täielik sõna vaheleht Lõpetab sõna, nagu on kirjeldatud all Lõpetamine ja loetellu kandmine .
täielik-sõna-tagasi (pole seotud) Meeldib täielik-sõna-fwd , kuid astub loendi lõpust üles.
täielik-sõna-fwd (pole seotud) Asendab praeguse sõna võimalike täienduste loendis esimese sõnaga. Võib korrata, et nimekirjast loobuda. Loendi lõpus annab piiks ja pöördub tagasi pooliku sõna juurde.
täielik-sõna-toores ^ X - vaheleht Meeldib täielik sõna , kuid eirab kasutaja määratletud lõpuleviimisi.
copy-prev-word M - ^ _ Kopeerib praeguse rea eelmise sõna sisendpuhvrisse. Vaata ka sisesta viimane sõna .
dabbrev-laiendada M - / Laiendab praegust sõna kõige uuemale eelnevale, mille jaoks praegune on alamstring, pakkides vajadusel ajaloo loendi (üks kord) ümber. Korduv dabbrev-laiendada ilma sekkumiseta järgmise eelmise sõna kirjutamiseta muudatusi vms, jättes identsed vasted vahele ajalugu-otsing-tagasi teeb.
kustuta-char seotud of ', kui kasutate standardit /etc/csh.cshrc Kustutab kursori all oleva märgi. Vaata ka kustuta-char-või-list-või-eof .
kustuta-char-või-eof (pole seotud) Kas kustuta-char kui kursori all on mõni märk või faili lõpp tühjal real. Vaata ka kustuta-char-või-list-või-eof .
delete-char-or-list (pole seotud) Kas kustuta-char kui kursori all on mõni märk või nimekiri-valikud rea lõpus. Vaata ka kustuta-char-või-list-või-eof .
kustuta-char-või-list-või-eof ^ D Kas kustuta-char kui kursori all on mõni märk, nimekiri-valikud rea lõpus või faili lõpus tühjal real. Vaadake ka neid kolme käsku, millest igaüks teeb ainult ühe toimingu, ja kustuta-char-või-eof , delete-char-or-list ja list-or-eof , millest igaüks teeb kolmest erinev kaks.
ajalooline ajalugu allamäge , ^ N Meeldib üleajalugu , kuid astub alla, peatudes algsel sisendjoonel.
faili lõpp (pole seotud) Märgib faili lõppu, mille tulemusel kest väljub, kui eiramine shell muutuja on seatud selle vältimiseks. Vaata ka kustuta-char-või-list-või-eof .
laienda-ajalugu M - ruumi Laiendab praeguse sõna ajaloo asendusi. Vt Ajalugu asendamine. Vaata ka maagia-ruum , lülita-sõna-sõnalt-ajalugu ja auto Expand kest muutuja.
laienema-glob ^ X - * Laiendab glob-mustrit kursorist vasakule. Vaata Failinime asendamine .
laienda-rida pole seotud Meeldib laienda-ajalugu , kuid laiendab sisendpuhvris iga sõna ajaloo asendusi.
laienda-muutujad ^ X - $ Laiendab muutujat kursorist vasakule. Vaata Muutuv asendamine .
ajalugu-otsing-tagasi M - lk , M - P Otsib ajaloo loendist tagurpidi käsku, mis algab sisendpuhvri praeguse sisuga kuni kursorini ja kopeerib selle sisendpuhvrisse. Otsingu string võib olla glob-muster (vt Failinime asendus), mis sisaldab ' * ',' ? ',' [] 'või' {} '. üleajalugu ja ajalooline ajalugu lähtub ajaloo loendi sobivast punktist. Ainult Emacsi režiim. Vaata ka ajalugu-otsing-edasi ja i-otsing-tagasi .
ajalugu-otsing-edasi M - n , M - N Meeldib ajalugu-otsing-tagasi , kuid otsib edasi.
i-otsing-tagasi (pole seotud) Otsib tagurpidi nagu ajalugu-otsing-tagasi , kopeerib esimese vaste sisendpuhvrisse, kui kursor on mustri lõpus ja küsib tähega ' bck: ja esimene matš. Otsingu pikendamiseks võidakse sisestada täiendavaid märke, i-otsing-tagasi võidakse tippida sama mustriga otsimise jätkamiseks, vajadusel ajaloo loendi ümber keerutamiseks, ( i-otsing-tagasi peab toimima ühe tähemärgiga) või võidakse kirjutada üks järgmistest erimärkidest:

^ W. Lisab ülejäänud sõna kursori all otsingumustrile.
kustuta (või mis tahes tähemärk, mis on seotud tagurpidi-kustuta-char ) Tühistab viimase sisestatud tähemärgi efekti ja vajadusel kustutab märgi otsingumustrist.
^ G Kui eelmine otsing õnnestus, katkestatakse kogu otsing. Kui ei, siis läheb tagasi viimase eduka otsingu juurde.
põgenema Lõpeb otsingu, jättes praeguse rea sisendpuhvrisse.
Mis tahes muu tegelane, kellega pole seotud ise sisesta-käsk lõpetab otsingu, jättes praeguse rea sisendpuhvrisse ja tõlgendatakse seejärel tavalise sisendina. Eelkõige põhjustab vaguni tagasitulek praeguse rea täitmise. Ainult Emacsi režiim. Vaata ka i-otsing-fwd ja ajalugu-otsing-tagasi .
i-otsing-fwd (pole seotud) Meeldib i-otsing-tagasi , kuid otsib edasi.
sisesta viimane sõna M - _ Lisab eelmise sisestusrea viimase sõna (' ! $ ') sisendpuhvrisse. Vaata ka copy-prev-word .
nimekiri-valikud M - ^ D Loetleb lõpuleviimise võimalused, nagu on kirjeldatud punktis Lõpetamine ja noteerimine . Vaata ka kustuta-char-või-list-või-eof ja nimekiri-valikud-toores .
nimekiri-valikud-toores ^ X - ^ D Meeldib nimekiri-valikud , kuid eirab kasutaja määratletud lõpuleviimisi.
list-glob ^ X - g , ^ X - G Nimekirjad ( ls-F sisseehitatud) sobib glob-mustriga (vt Failinime asendamine ) kursorist vasakule.
list-or-eof (pole seotud) Kas nimekiri-valikud või faili lõpp tühjal real. Vaata ka kustuta-char-või-list-või-eof .
maagia-ruum (pole seotud) Laiendab ajaloo asendusi praegusel real nagu laienda-ajalugu ja lisab tühiku. maagia-ruum on loodud ühendama tühikuklahv , kuid pole vaikimisi seotud.
normaliseeri-käsu ^ X - ? Otsib PATH-is praegust sõna ja kui see leitakse, asendab see kogu käivitatava faili tee. Tsiteeritakse erimärke. Pseudonüüme laiendatakse ja tsiteeritakse, kuid varjunimede sees olevaid käske mitte. See käsk on kasulik käskude puhul, mis võtavad käske argumendina, nt ' dbx 'ja' sh-x '.
normaliseerida-tee ^ X - n , ^ X - N Laiendab praegust sõna, nagu on kirjeldatud jaotises ' laienema 'seadistamine sümbolid kest muutuja.
ülekirjutusrežiim (pole seotud) Lülitub sisend- ja ülekirjutusrežiimide vahel.
run-fg-editor M - ^ Z Salvestab praeguse sisendjoone ja otsib peatatud tööd nimega, mis võrdub keskkonnamuutujate EDITOR või VISUAL failinime osa viimase komponendiga või kui kumbagi pole määratud, ' toim 'või' meie '. Kui selline töö leitakse, alustatakse seda uuesti justkui ' fg% töö 'oli kirjutatud. Seda kasutatakse redaktori ja kesta vahel hõlpsaks edasi-tagasi liikumiseks. Mõned inimesed seovad selle käsu ^ Z et nad saaksid seda veelgi lihtsamalt teha.
jooksu-abi M - h , M - H Otsib praeguse käsu dokumentatsiooni, kasutades sama mõistet 'praegune käsk' nagu lõpuleviimise rutiinid, ja prindib selle. Piiparit pole võimalik kasutada; jooksu-abi on mõeldud lühikeste abifailide jaoks. Kui eriline varjunimi abikomando on defineeritud, käivitatakse see ainult argumendina käsunimega. Muidu peaks dokumentatsioon olema failis nimega käsk.aita , käsk.1 , käsk.6 , käsk.8 või käsk, mis peaks olema ühes kataloogis loetletud kataloogidest HPATH keskkonnamuutuja. Kui abifaile on rohkem kui üks, prinditakse ainult esimene.
ise sisesta-käsk (tekstimärgid) Sisestusrežiimis (vaikimisi) sisestab sisestatud rea kursori all oleva märgi järel sisestatud reale. Ülekirjutamise režiimis asendab kursori all oleva tähe sisestatud märgiga. Sisestusrežiim säilitatakse tavaliselt ridade vahel, kuid sisendrežiim shellimuutuja saab seada väärtusele ' sisestada 'või' üle kirjutama ', et redaktor sellesse režiimi panna iga rea ​​alguses. Vaata ka ülekirjutusrežiim .
järjestus-sissejuhatus noole eesliide, meta eesliide, ^ X Näitab, et järgmised märgid on osa mitme võtmega järjestusest. Käsu sidumine mitmevõtmelise järjestusega loob tõesti kaks sidet: esimese tähemärgi järjestus-sissejuhatus ja kogu käsu järjekord. Kõik järjestused, mis algavad seotud tähemärgiga järjestus-sissejuhatus on tegelikult seotud määratlemata-võti kui pole seotud teise käsuga.
õigekirjajoon M - $ Katsed sisendpuhvris iga sõna õigekirja parandada, näiteks õigekiri-sõna , kuid ignoreerib sõnu, mille esimene täht on üks - ',' ! ',' ^ 'või' % 'või mis sisaldavad' ',' * 'või' ? , et vältida probleeme lülitite, asenduste ja muu sarnasega. Vt õigekirjaparandus.
õigekiri-sõna M - s , M - S Katsed praeguse sõna õigekirja parandada, nagu on kirjeldatud õigekirjaparanduses. Kontrollib iga nime, mis näib olevat teenimi.
lülita-sõna-sõnalt-ajalugu M - r , M - R Laiendab või 'laiendab' ajaloo asendusi sisendpuhvris. Vaata ka laienda-ajalugu ja auto Expand kest muutuja.
määratlemata-võti (mis tahes sidumata võti) Piiksub.
üleajalugu üles-nool, ^ P Kopeerib ajaloo loendi eelmise kirje sisendpuhvrisse. Kui histlit on määratud, kasutab kirje sõnasõnalist vormi. Seda võidakse korrata, et ajaloo loendis edasi liikuda, peatudes ülaosas.
vi-otsing-tagasi ? Viipad ' ? 'otsingu stringi jaoks (mis võib olla glob-muster, nagu ka ajalugu-otsing-tagasi ), otsib seda ja kopeerib sisendpuhvrisse. Kell kõlab, kui vastet ei leita. Tagasilöögi lõpetamine lõpetab otsingu ja jätab viimase vaste sisendpuhvrisse. Põgenemise tabamine lõpetab otsingu ja täidab matši. meie ainult režiimis.
vi-search-fwd / Meeldib vi-otsing-tagasi , kuid otsib edasi.
mis-käsk M - ? Kas a mis (vt sisseehitatud käsk) sisendpuhvri esimesel sõnal.
jänk-pop M - Y Hukatakse kohe pärast a jänk või mõni muu jänk-pop , asendab jänkitud stringi järgmise eelmise stringiga tapmisest. Sellel on ka mõrvari pööramise efekt, nii et seda stringi peetakse hilisema jõnksukäsu poolt viimati tapetuks. Korduv jänk-pop vaatab tapmise läbi mitu korda.

Leksikaalne struktuur

Kest jagab sisendjooned sõnadeks toorikute ja vahelehtede vahel. Erimärkide ' & ',' | ',' ; ',' < ',' > ',' ( 'ja' ) 'ja kahekordistunud tähemärgid' && ',' || ',' << 'ja' >> on alati eraldi sõnad, olenemata sellest, kas neid ümbritseb või mitte tühik .

Kui kesta sisend pole terminal, tähistab märk # 'alustatakse a kommenteerida . Iga ' # 'ja ülejäänud sisendjoon, millel see on, visatakse enne edasist sõelumist kõrvale.

Erimärgil (sealhulgas tühi või vaheleht) võib takistada selle eritähenduse olemasolu ja see võib olla osa teisest sõnast, kui sellele eelneb tagasilöögiga (' või) lisades selle ühte ( ' ), topelt ( ' ) või tagurpidi ( ' ) tsitaat. Kui ei ole tsiteeritud teisiti, eelneb uus rida 'on võrdne toorikuga, kuid jutumärkide sees annab see järjestus uue rea.

Lisaks kõik Asendused välja arvatud Ajaloo asendamine saab ära hoida, lisades stringid (või stringide osad), milles need esinevad, üksikute jutumärkidega või tsiteerides olulist tähemärki (tähti) (nt ' $ 'või' ' 'jaoks Muutuv asendamine või Käskude asendamine vastavalt) '. Alias ​​asendamine pole erand: mis tahes viisil mõne sõna, millele on määratud varjunimi, tsiteerimine takistab varjunime asendamist. Tavapärane varjunime tsiteerimise viis on eelneda sellele tagasilöögiga. Ajaloo asendamist takistavad tagasilöögid, kuid mitte üksikud jutumärgid. Topelt- või tagurpidi jutumärkides viidatud stringid läbivad muutuva asendamise ja käskude asendamise, kuid muud asendused on välistatud.

Ühes või kahes jutumärkides olevast tekstist saab üks sõna (või selle osa). Nende stringide metamärgid, sealhulgas tühjad ja vahelehed, ei moodusta eraldi sõnu. Ainult ühel erijuhul (vt Käskude asendamine allpool) kas topelttsiteeritud string võib anda rohkem kui ühe sõna osi; ühe tsiteeritud stringid ei tee seda kunagi. Tagasi tsitaadid (backticks) on erilised: nad annavad märku käsu asendamisest, mille tulemuseks võib olla rohkem kui üks sõna.

Keeruliste stringide, eriti stringide tsiteerimine, mis ise sisaldavad tsiteerivaid märke, võib tekitada segadust. Pidage meeles, et jutumärke ei pea kasutama nii, nagu need on inimeste kirjutamisel. Võib olla lihtsam tsiteerida mitte tervet stringi, vaid ainult neid stringi osi, mis vajavad tsiteerimist, kasutades selleks vajaduse korral erinevat tüüpi jutumärke.

The tagasilöögi_pakkumine shellimuutuja saab määrata nii, et tagasilöögid tsiteeriksid alati ' ',' ' 'ja' ' '. See võib keerukate ülesannete pakkumise lihtsustada, kuid see võib põhjustada süntaksi vigu csh skriptid.

Asendused

Ajaloo asendamine

Iga terminali sisestatud käsk või sündmus salvestatakse ajaloo loendisse. Eelmine käsk on alati salvestatud ja ajalugu shellimuutuja saab määrata arvuks, et nii palju käske salvestada. The histdup shellimuutuja saab seadistada nii, et see ei salvesta duplikaatsündmusi ega järjestikuseid duplikaatsündmusi.

Salvestatud käsud nummerdatakse järjestikku alates 1 ja tembeldatud kellaajaga. Sündmuse numbreid ei ole tavaliselt vaja kasutada, kuid praeguse sündmuse numbri saab viibaks muuta, asetades ' ! 'kiir-shellimuutuja.

Kest säästab tegelikult ajalugu laiendatud ja sõna otseses (laiendamata) vormis. Kui histlit shellimuutuja on seatud, käske, mis kuvavad ja salvestavad ajalugu, kasutavad sõna otseses vormis.

Sisseehitatud ajaloo käsk saab printida, faili salvestada, ajaloo loendi igal ajal taastada ja kustutada ning savehist ja histfail shellimuutujaid saab seadistada ajaloo loendi automaatseks sisselogimisel salvestamiseks ja sisselogimisel taastamiseks.

Ajalooasendused toovad ajaloo loendist pärit sõnad sisendvoosse, muutes käskude kordamise, praeguse käsu eelmise käsu argumentide kordamise või eelmise käsu õigekirjavigade parandamise vähese tippimise ja suure kindlusastmega.

Ajaloo asendused algavad tähemärgiga ' ! '. Need võivad alata mis tahes sisendvoos, kuid nad ei pesitse. ' ! 'võib eelneda' „selle erilise tähenduse vältimiseks; mugavuse huvides ! 'edastatakse muutmata kujul, kui sellele järgneb tühi, vaheleht, uus rida ' = 'või' ( '. Ajalugu asendatakse ka siis, kui sisendrida algab tähega ^ '. Seda spetsiaalset lühendit kirjeldatakse hiljem. Tähemärgid, mida kasutatakse ajaloo asendamiseks (' ! 'ja ^ ) saab muuta, seadistades histkarid kest muutuja. Iga sisendrida, mis sisaldab ajalooasendust, prinditakse enne selle käivitamist.

Ajalooasendusel võib olla „sündmuse spetsifikatsioon”, mis näitab sündmust, millest sõnad võetakse, „sõna tähis”, mis valib valitud sündmusest konkreetsed sõnad, ja / või „modifikaator”, mis manipuleerib valitud sündmusega sõnu.

Sündmuse spetsifikatsioon võib olla:

n Number, mis viitab konkreetsele sündmusele
- n Nihe, viidates sündmusele n enne praegust sündmust
# Praegune sündmus. Seda tuleks aastal kasutada ettevaatlikult csh , kus rekursiooni kontroll puudub. tcsh võimaldab 10 rekursiooni taset.
! Eelmine sündmus (vastab ' -1 ')
s Viimane sündmus, mille esimene sõna algab stringiga s
? s ? Viimane sündmus, mis sisaldab stringi s . Teine ? saab ära jätta, kui sellele järgneb kohe uus rida.

Mõelge näiteks kellegi ajaloo loendisse:

 9 8:30 nroff -man wumpus.man 10 8:31 cp wumpus.man wumpus.man.old 11 8:36 vi wumpus.man 12 8:37 diff wumpus.man.old wumpus.man 

Kuvatakse käsud koos nende sündmuste numbritega ja ajatemplid . Praegune sündmus, mida me pole veel sisestanud, on sündmus 13. ' ! üksteist 'ja' ! kaks 'viita sündmusele 11.' !! 'viitab eelmisele sündmusele 12.' !! 'saab lühendada' ! 'kui sellele järgneb' : '(' : 'kirjeldatakse allpool). ' ! n 'viitab sündmusele 9, mis algab tähega' n '. ' !? vana? 'viitab ka sündmusele 12, mis sisaldab' vana '. Ilma sõnaliste tähiste või teisendajateta laienevad ajalooviited kogu sündmusele, nii et võime kirjutada ' ! cp 'kopeerimiskäsu uuesti tegemiseks või' !! | veel 'kui' dif 'väljund keris ekraani ülaosast välja.

Vajadusel võidakse ajalooviited ümbritsevast tekstist isoleerida traksidega. Näiteks, ' ! vdoc 'otsiks käsku, mis algab' vdoc 'ja selles näites mitte leida ühte, vaid' ! {v} dok 'laieneks ühemõtteliselt' vi wumpus.mandoc '. Isegi traksidega ajalooasendused ei pesitse.

Kuigi csh laieneb näiteks ! 3d tähega 3 sündmusele d sellele lisatud, tcsh laiendab seda viimase sündmuseni, mis algab 3d ; ainult täielikult numbrilisi argumente käsitletakse sündmuste numbritena. See võimaldab meenutada numbritega algavaid sündmusi. Laiendamiseks ! 3d nagu csh ütlema ! {3} d .

Sõnade valimiseks sündmusest saame jälgida sündmuse spetsifikatsiooni tähega : 'ja tähis soovitud sõnadele. Sisendrea sõnad nummerdatakse 0-st, esimene (tavaliselt käsu) sõna on 0, teine ​​sõna (esimene argument) on 1 jne. Põhisõnade tähised on:

0 Esimene (käsu) sõna
n The n th argument
^ Esimene argument, mis vastab 1 '
$ Viimane argument
% Sõna sobib tähega ? s ? otsing
x - Y Rida sõnu
- Y Samaväärne 0- Y '
* Samaväärne ^ - $ ', kuid ei tagasta midagi, kui sündmus sisaldab ainult ühte sõna
x * Samaväärne x- $ '
x- Samaväärne x * ', kuid viimane sõna (' $ ')

Valitud sõnad sisestatakse käsureale eraldatuna üksikute tühikutega. Näiteks dif eelmise näite käsk võib olla kirjutatud kui diff !!: 1.old !!: 1 '(kasutades' : 1 ', et valida eelmise sündmuse esimene argument) või' dif! -2: 2! -2: 1 'argumentide valimiseks ja vahetamiseks' cp 'käsk. Kui me ei hooliks järjekorrast dif 'me oleksime võinud öelda' dif! -2: 1-2 'või' dif! -2: * '. ' cp 'käsk olla kirjutatud' cp wumpus.man! #: 1.vana ', kasutades' # ', et viidata praegusele sündmusele. ' ! n: - hurkle.man 'kasutaks uuesti kahte esimest sõna' nroff 'käsk öelda' nroff -man hurkle.man '.

' : 'sündmuse spetsifikatsiooni eraldamine sõnast' tähis 'võib ära jätta, kui argumentide valija algab tähega' ^ ',' $ ',' * ',' % 'või' - '. Näiteks meie dif 'käsk võis olla' diff !! ^. vana !! ^ 'või samaväärselt' diff !! $. vana !! $ '. Kui aga !! 'on lühendatud' ! ', argumentide valija, mis algab tähega' - 'tõlgendatakse sündmuse spetsifikatsioonina.

Ajaloo viites võib olla sõna tähis, kuid sündmuse spetsifikatsioon puudub. Seejärel viitab see eelmisele käsule. Jätkates meie dif 'näiteks oleksime võinud öelda' diff! ^. vana! ^ 'või argumentide saamiseks vastupidises järjekorras lihtsalt' diff! * '.

Ajalooviites olevat sõna või sõnu saab redigeerida või „muuta”, järgides seda ühe või mitme teisendajaga, millest igaühele eelneb „ : ':

h Eemaldage tagumine osa tee nimi komponent, jättes pea.
t Eemaldage kõik juhtnime komponendid, jättes saba.
r Eemalda failinime laiendus ' .xxx ', jättes juurnime.
on Eemaldage kõik, välja arvatud laiendus.
u Esimese väikese tähega suurtäht.
l Esimene suurtäht väiketähega.
s / l / r Asendaja l eest r . l on string nagu r , mitte a regulaarne väljend nagu samanimelises toim käsk. Tähise asemel võib eraldusmärgina kasutada mis tahes märki / '; kuni 'saab kasutada sees oleva eraldaja tsiteerimiseks l ja r . Tegelaskuju ' & 'sisse r asendatakse nimega l ; ' 'tsiteerib ka' & '. Kui l on tühi ( ' ), l eelmisest asendusest või s kasutatakse eelmist otsingu või sündmuse numbrit sündmuse spetsifikatsioonis. Lõppjoonaja võib välja jätta, kui sellele järgneb kohe uus rida.
& Korrake eelmist asendust.
g Rakendage igale sõnale üks kord järgmine teisendaja.
kuni Rakendage järgmist modifikaatorit ühe sõna jaoks nii mitu korda kui võimalik. ' kuni 'ja' g 'saab koos kasutada modifikaatori ülemaailmseks rakendamiseks. Modifikaatoriga 's' asendatakse ainult originaalsõnas sisalduvad mustrid, mitte mustrid, mis sisaldavad asendustulemusi.
lk Printige uus käsurida, kuid ärge seda käivitage.
mida Tsiteeri asendatud sõnu, vältides edasisi asendusi.
x Meeldib mida , kuid jagage sõnad tühjade, vahelehtede ja uuel real.

Muutujaid rakendatakse ainult esimesele muudetavale sõnale (kui ' g ' kasutatakse). On viga, et ükski sõna pole muudetav.

Näiteks dif 'käsk võib olla kirjutatud järgmiselt' diff wumpus.man.old! # ^: r ', kasutades' : r ' eemaldada ' .vana 'sama rea ​​esimesest argumendist (' ! # ^ '). Võiksime öelda kaja tere seal ', siis' kaja! *: u 'suurtähtedeks' Tere ',' kaja! *: au 'öelda seda valjult või' kaja! *: agu 'tõesti karjuda. Me võime järgida mail -s 'unustasin parooli' mädanema 'koos' !: s / mäda / juur 'õigekirja parandamiseks' juur '(kuid vaadake õigekirjaparandust teise lähenemise jaoks).

Asenduste jaoks on olemas spetsiaalne lühend. ' ^ ', kui see on sisendjoone esimene märk, on samaväärne tekstiga' !: s ^ '. Seega oleksime võinud öelda: ^ mäda ^ juur 'eelmises näites õigekirjaparanduse tegemiseks. See on ainus ajaloo asendamine, mis ei alga sõnaselgelt ! '.

Sisse csh sellisena võib igale ajaloole või muutuja laiendusele rakendada ainult ühte modifikaatorit. Sisse tcsh võib näiteks kasutada rohkem kui ühte

% mv wumpus.man /usr/man/man1/wumpus.1
% man !$:t:r
man wumpus

Sisse csh , tulemus oleks wumpus.1: r '. Võib osutuda vajalikuks käärsoole asendamine traksidega isoleerida:

> mv a.out /usr/games/wumpus
> setenv PATH !$:h:$PATH
Bad ! modifier: $.
> setenv PATH !{-2$:h}:$PATH
setenv PATH /usr/games:/bin:/usr/bin:.

Esimene katse õnnestuks csh kuid ebaõnnestub tcsh , sest tcsh ootab pärast teist koolonit teist modifikaatorit, mitte ' $ '.

Lõpuks on ajaloole juurdepääs nii redaktori kaudu kui ka äsja kirjeldatud asenduste kaudu. The üles- ja ajalooline ajalugu , ajalugu-otsing-tagasi ja - edasi , i-otsing-tagasi ja -fwd , vi-otsing-tagasi ja -fwd , copy-prev-word ja sisesta viimane sõna redaktori käsud otsivad ajaloo loendist sündmusi ja kopeerivad need sisendpuhvrisse. The lülita-sõna-sõnalt-ajalugu redaktori käsk vahetab sisendpuhvris ajalooridade laiendatud ja sõnasõnaliste vormide vahel. laienda-ajalugu ja laienda-rida laiendage ajalooasendusi vastavalt praeguses sõnas ja kogu sisendpuhvris.

Alias ​​asendamine

Kest haldab varjunimede loendit, mille saab seadistada, tühistada ja printida teise nimega ja unaliad käsud. Pärast käsurea parsimist lihtsateks käsudeks (vt Käsud ) kontrollitakse iga käsu esimest sõna vasakult paremale, et näha, kas sellel on alias. Kui jah, asendatakse esimene sõna varjunimega. Kui varjunimi sisaldab ajalooviidet, siis see läbib Ajaloo asendamine justkui algne käsk oleks eelmine sisendrida. Kui varjunimi ei sisalda ajalooviidet, jäetakse argumentide loend puutumata.

Seega, kui ls 'olid' ls -l 'käsk' ls / usr 'muutuks' ls -l / usr ', siin olev argumentide loend on häireteta. Kui varjunimi Vaata üles 'olid' grep! ^ / etc / passwd 'siis' otsinguarve 'muutuks' grep arve / etc / passwd '. Parseri metasüntaksi tutvustamiseks saab kasutada varjunimesid. Näiteks, ' varjunimi print 'pr ! * | lpr ' 'määrab' käsu '(' printida ') mis pr s oma argumendid liiniprinterile.

Pseudonüümi asendamist korratakse seni, kuni käsu esimesel sõnal alias puudub. Kui pseudonüümi asendus ei muuda esimest sõna (nagu eelmises näites), märgistatakse see silmu vältimiseks. Teised silmused tuvastatakse ja need põhjustavad tõrke.

Mõnele varjunimele viitab kest; vaata Spetsiaalsed varjunimed .

Muutuv asendamine

Kest haldab muutujate loetelu, millest igaühel on loetelu nullist või enamast sõnast. Kestmuutujate väärtusi saab kuvada ja muuta nupuga seatud ja määramata käsud. Süsteem peab oma nimekirja keskkonnamuutujad . Neid saab kuvada ja muuta printenv , setenv ja unsetenv .

Muutujad võib muuta kirjutuskaitstud ainult seatud -r '. Kirjutuskaitstud muutujaid ei tohi muuta ega tühistada; selle proovimine põhjustab vea. Kui muutuja on kirjutuskaitstud, ei saa muutujat kirjutatavaks muuta, nii et ' seatud -r 'tuleks kasutada ettevaatusega. Keskkonnamuutujaid ei saa muuta kirjutuskaitstavaks.

Mõned muutujad on seatud kestaga või neile viidatud. Näiteks argv muutuja on šelli argumentide loendi pilt ja selle muutuja väärtuse sõnadele viidatakse eriviisidel. Mõned muutujad, millele kest viitab, on lülitid; kest ei hooli nende väärtusest, ainult sellest, kas need on seatud või mitte. Näiteks paljusõnaline muutuja on lüliti, mis põhjustab käsu sisendi kaja. The -v käsurea suvand määrab selle muutuja. Spetsiaalsed shellimuutujad loetlevad kõik muutujad, millele kest osutab.

Muud toimingud käsitlevad muutujaid arvuliselt. ' @ 'käsk võimaldab arvulisi arvutusi teha ja tulemuse määrata muutujale. Muutujate väärtusi esitatakse siiski alati (null või rohkem) stringid . Numbritehingute puhul loetakse nullstringi nulliks ning eiratakse mitmesõnaliste väärtuste teist ja järgnevaid sõnu.

Pärast sisendjoone aliasimist ja parsimist ning enne iga käsu täitmist tehakse muutuja asendamine võtmega ' $ 'tähemärki. Seda laienemist saab vältida, kui eelneda $ ' koos ' 'välja arvatud ' s kus see alati toimub ja sees ' s kus seda kunagi ei esine. Keelpillid tsiteeritud ' tõlgendatakse hiljem (vt Käskude asendamine allpool) nii ' $ 'asendamine toimub seal alles hiljem, kui üldse. A ' $ 'antakse edasi muutmata kujul, kui sellele järgneb tühi, sakk või rea lõpp.

Sisendi / väljundi ümbersuunamised tuvastatakse enne muutuja laiendamist ja neid saab laiendada eraldi. Vastasel juhul laiendatakse käsunime ja kogu argumentide loendit koos. Seega on võimalik, et esimene (käsu) sõna (siiani) genereerib rohkem kui ühe sõna, millest esimene saab käsunimeks ja ülejäänud argumendid.

Kui see pole suletud ' või antud : q modifikaator võib muutuva asendamise tulemused lõpuks käsuga ja failinimega asendada. Jooksul ' , laieneb muutuja, mille väärtus koosneb mitmest sõnast, ainsaks sõnaks (a osa), muutuja väärtuse sõnad eraldatakse tühjadega. Kui : q modifikaatorit kasutatakse asendusele, laieneb muutuja mitme sõnaga, kusjuures iga sõna eraldatakse tühjaga ja tsiteeritakse, et vältida hilisemat käsu või failinime asendamist.

Muutujate väärtuste sisestamiseks kesta sisendisse on ette nähtud järgmised metasagedused. Välja arvatud juhul, kui pole märgitud, on määramata muutujale viitamine viga.

  $   name   ${   name   }  
Asendab muutuja väärtuse sõnad nimi , igaüks eraldatud toorikuga. Traksid soojustavad mees e järgnevatest tähemärkidest, mis muidu oleksid selle osad. Kestmuutujatel on tähtedest ja numbritest koosnevad nimed, mis algavad tähega. Allakriipsutavat tähte peetakse täheks. Kui nimi ei ole shellimuutuja, vaid on keskkonnas määratud, siis see väärtus tagastatakse (kuid mõned muud allpool toodud vormid pole antud juhul saadaval).
  $   name  [  selector  ]  $  {  name  [  selector  ]}
Asendab väärtusest ainult valitud sõnad nimi . Valija allub ' $ 'asendus ja võib koosneda ühest numbrist või kahest numbrist, mis on eraldatud tähega' - '. Muutuja väärtuse esimene sõna nummerdatakse ' 1 '. Kui vahemiku esimene number välja jätta, on see vaikimisi ' 1 '. Kui vahemiku viimane liige jäetakse välja, on see vaikimisi $ # nimi '. Valija ' * 'valib kõik sõnad. Kui teine ​​argument on välja jäetud või vahemikus, ei ole viga, et vahemik on tühi.
  id="texttext">
					

Linuxi tcsh käsk



tcsh käsk

Peal Unixi moodi opsüsteemid, tcsh (hääldatakse 'tee-see-shell' või 'tee-see-ess-aysh') on a käsurida kest põhineb C kest . Selle põhijooned on programmeeritav käsu lõpuleviimine ja käsurea redigeerimine.

Kirjeldus

tcsh on täiustatud, kuid täielikult ühilduv versioon Berkeley UNIX C kest, csh . See on käsukeele tõlk, mida saab kasutada nii interaktiivse sisselogimise kestana kui ka kestana stsenaarium käsuprotsessor. See sisaldab käsurea redaktorit (vt Käsurea redaktor ), programmeeritav sõna lõpuleviimine (vt Lõpetamine ja noteerimine ), õigekirjaparandus (vt Õigekirjaparandus ), ajaloo mehhanism (vt Ajaloo asendamine ), töökontroll (vt Töökohad ) ja a C programmeerimiskeel -taoline süntaks .

Ajalugu

tcsh töötas välja Ken Greer alates 1970. aastate lõpust Carnegie Melloni ülikoolis. ' t 'sisse tcsh viitab TENEX-ile, DEC-i operatsioonisüsteemile, millel on käskude täitmine, mis inspireeris Greerit looma sarnase funktsiooniga kest. Millegi kallal töötama tcsh jätkas Mike Ellise koostöös Fairchild A.I. Labs ja selle lähtekood ch postitati 1983. aasta oktoobris süsteemide programmeerimise uudisegruppi.

Süntaks

tcsh [-bcdefFimnqstvVxX] [-D  name  [=  value  ]] [  arg  ...]
tcsh -l

Valikud

Kui esimene argument (argument 0 ) kest on ' - siis on see sisselogimise kest. Sisselogimiskesta saab määrata ka, kutsudes selle esile -L lipp ainsa argumendina.

Ülejäänud lipu argumente tõlgendatakse järgmiselt:

  -b  
Sunnib valiku töötlemisest „katkestama“, mis põhjustab kõigi muude kestargumentide käsitlemist valikuteta argumentidena. Ülejäänud argumente ei tõlgendata shellivalikutena. Seda võib kasutada suvandite edastamiseks shelliskriptile ilma segaduse ja võimaliku väljakutseta. Koor ei käivita set-user ID skripti ilma selle suvandita.
  -c  
Käsud loetakse järgmisest argumendist (mis peab olema olemas ja peab olema üks argument), salvestatakse viitamiseks käsu shellimuutujaks ja täidetakse. Ülejäänud argumendid paigutatakse argv kest muutuja.
  -d  
Koor laadib kataloogivirna ~ / .cshdirs nagu on kirjeldatud jaotises Käivitamine ja väljalülitamine, olenemata sellest, kas see on sisselogimiskest või mitte.
  -D   name  [  =   value  ]
Määrab keskkonnamuutuja nimi kuni väärtus . (Ainult domeen / OS)
  -e  
Kest väljub, kui mõni käsk lõpetab ebaharilikult või annab nullist erineva väljumisoleku.
  -f  
Kest ei laadi ühtegi ressurssi ega käivitusfaili ega täida ühtegi käsu räsimist ja käivitub seega kiiremini.
  -F  
Kest kasutab kahvel selle asemel vfork kudema protsesse.
  -i  
Kest on interaktiivne ja küsib tipptasemel sisendit, isegi kui see ei näi olevat terminal. Karbid on ilma selle valikuta interaktiivsed, kui nende sisendid ja väljundid on terminalid.
  -l  
Kest on sisselogimise kest. Kohaldatav ainult siis, kui -L on ainus määratud lipp.
  -m  
Kest laadib ~ / .tcshrc isegi kui see ei kuulu tegelikule kasutajale. Uuemad versioonid selle saab mööda minna -m kestani.
  -n  
Kest sõelub käske, kuid ei täida neid. See aitab shelliskripte siluda.
  -q  
Kest aktsepteerib signaal SIGQUIT (vt Signaali käsitsemine ) ja käitub, kui seda kasutatakse siluri all. Töökontroll on keelatud.
  -s  
Käsu sisend võetakse standard sisend .
  -t  
Kest loeb ja täidab ühte sisendjoont. A ' 'võib kasutada selle rea lõpus olevast uuest joonest väljumiseks ja teisele liinile liikumiseks.
  -v  
Määrab paljusõnalise shellimuutuja, nii et käsu sisend kajab pärast ajaloo asendamist.
  -x  
Määrab kaja kest muutuja, nii et käsklused kajavad vahetult enne käivitamist.
  -V  
Määrab paljusõnalise shellimuutuja juba enne käivitamist ~ / .tcshrc .
  -X  
Kas on -x as -V on -v .
  --help  
Printige standardväljundile abisõnum ja väljuge.
  --version  
Trükkige versioon / platvorm / koostamine standardväljundi ja väljumise valikud. See teave sisaldub ka versiooni shell muutujas.

Pärast lipu argumentide töötlemist, kui argumendid jäävad alles, kuid ükski neist pole -c , -i , -s või -t valikud, võetakse esimene argument käivitatava käskude faili (skripti) nimeks. Kest avab selle faili ja salvestab selle nime võimalikuks asendamiseks 0 dollarit '. Kuna paljud süsteemid kasutavad kas standardversiooni 6 või versiooni 7 kestasid, mille shelliskriptid ei ühildu selle kestaga, kasutab shell sellist „standardset” kestat skripti käivitamiseks, mille esimene märk pole # ', s.t see ei alga a-ga kommenteerida .

Ülejäänud argumendid on paigutatud argv kest muutuja.

Käivitamine ja seiskamine

Sisselogimiskoor algab käskude käivitamisega süsteemifailidest /etc/csh.cshrc ja /etc/csh.login . Seejärel täidab see kasutaja kodukataloogis olevate failide käsud: kõigepealt ~ / .tcshrc või kui ~ / .tcshrc ei leitud ~ / .cshrc siis ~ / .ajalugu (või väärtus histfail kest muutuja), siis ~ / .login , ja lõpuks ~ / .cshdirs (või väärtus dirsfile kest muutuja). Kest võib lugeda /etc/csh.login enne kui pärast /etc/csh.cshrc ja ~ / .login enne kui pärast ~ / .tcshrc või ~ / .cshrc ja ~ / .ajalugu , kui see on nii koostatud; vaata versioon kest muutuja.

Ainult sisselogimata kestad on loetavad /etc/csh.cshrc ja ~ / .tcshrc või ~ / .cshrc käivitamisel.

Käivitamisfailide näiteid saate vaadata https://sourceforge.net/projects/tcshrc/ .

Käsklused meeldivad stty ja tset , mida tuleb sisselogimise ajal käivitada ainult üks kord, sisestatakse tavaliselt üks ~ / .login faili. Kasutajad, kes peavad mõlemaga kasutama sama failikomplekti csh ja tcsh võib olla ainult a ~ / .cshrc mis kontrollib tcsh shellimuutuja (q.v.) enne kasutamist tcsh -spetsiifilised käsud või võivad omada mõlemat a ~ / .cshrc ja a ~ / .tcshrc mis allikas s (vt sisseehitatud käsku) ~ / .cshrc . Selle käsiraamatu ülejäänud osas kasutatakse ~ / .tcshrc ' tähendab ' ~ / .tcshrc 'või kui ~ / .tcshrc ei leitud ~ / .cshrc .

Tavalisel juhul hakkab shell terminalist käske lugema, küsides > '. Argumentide töötlemist ja kesta kasutamist käsuskripte sisaldavate failide töötlemiseks kirjeldatakse hiljem. Kest loeb korduvalt käsusisendi rida, jagab selle sõnadeks, paigutab käsuloo loendisse, sõelub see ja täidab iga rea ​​käsu.

Välja saab logida, tippides ' ^ D 'tühjal real' Logi välja 'või' Logi sisse 'või kesta automaatse otsingu mehhanismi kaudu (vt automaatne otsing kest muutuja). Kui sisselogimise kest lõpeb, määrab logouti shellimuutuja väärtuseks ' normaalne 'või' automaatne ', täidab failidest käske /etc/csh.logout ja ~ / .logout . Koor võib kompileerimise korral loobuda DTR-ist väljalogimisel; vaata versioon kest muutuja.

Süsteemi sisselogimis- ja väljalogimisfailide nimed varieeruvad erinevates süsteemides csh variandid; vaata Failide jaotis .

Redigeerimine

Käsurea redaktor

Käsurea sisestust saab muuta klahvijärjestuste abil sarnaselt GNU-s kasutatutele Emacs või meie . Redaktor on aktiivne ainult siis, kui redigeeri shellimuutuja on määratud, mis see on interaktiivsetes kestades vaikimisi olemas. The bindkey sisseehitatud saab kuvada ja muuta klahvide sidemeid. Emacs vaikimisi kasutatakse -stiilseid võtmesidemeid (kui kest pole kompileeritud teisiti; vaadake versiooni shell muutujat), kuid bindkey saab muuta võti seosed meie -stiilisidemed ja mass.

Kest seob alati nooleklahve (nagu on määratletud TERMCAP keskkonnamuutuja) kuni:

alla ajalooline ajalugu
üles üleajalugu
vasakule tagurlik-char
eks edasi-char

... kui see ei muudaks teist ühemärgilist sidumist. Nende sidumiste vältimiseks saab nooleklahvi põgenemisjärjestuse seada settiga tühjale stringile. Nooleklahvide ANSI / VT100 järjestused on alati seotud.

Muud võtmekinnitused on enamasti Emacs ja meie kasutajad ootavad ja neid saab hõlpsasti kuvada bindkey , nii et pole vaja neid siia üles loetleda. Samamoodi bindkey saab loetleda redaktori käsud koos nende lühikese kirjeldusega.

Pange tähele, et redaktori käskudel pole sama sõna 'sõna' mõistet nagu kestal. Toimetaja piiritleb sõnad, milles pole tähtnumbrilisi tähemärke, mis pole shellimuutuja sõnamärgid , samas kui kest tunneb ära ainult tühik ja mõned selle eritähendusega tähemärgid, mis on loetletud jaotises Leksikaalne struktuur .

Lõpetamine ja loetellu kandmine

Koor suudab unikaalse lühendi korral sageli sõnu täiendada. Sisestage sõna osa (näiteks ' ls / usr / kadunud ') ja vajuta Tabulaatoriklahv täissõnalise redaktori käsu käivitamiseks. Kest täidab failinime ' / usr / kadunud 'kuni' / usr / kadunud + leitud / ', asendades mittetäieliku sõna sisendpuhvris oleva täissõnaga. Pange tähele / ' lõpus; lõpetamine lisab ' / 'lõpetatud kataloogide lõppu ja tühik teiste lõpetatud sõnade lõppu, et kiirendada kirjutamist ja pakkuda visuaalset indikaatorit edukast lõpuleviimisest. The lisaliide selle vältimiseks saab shellimuutuja määrata. Kui vastet ei leita (võib-olla ' / usr / kadunud + leitud 'pole olemas', heliseb terminalikell. Kui sõna on juba valmis (võib-olla on / usr / kadunud 'oma süsteemis või mõtlesite ehk liiga kaugele ette ja tippisite kogu asja) a' / 'või lõppu lisatakse tühik, kui seda veel pole.

set autolist
nm /usr/lib/libt[tab]
 [email protected] [email protected] 
nm /usr/lib/libterm

Kui autolist on seatud „mitmetähenduslikuks”, valikud loetletakse ainult siis, kui lõpetamine ebaõnnestub ja lisatakse lõpetatavale sõnale uusi märke.

Täidetav failinimi võib sisaldada muutujaid, teie enda või teiste kodukatalooge lühendatult ~ '(vt Failinime asendamine ) ja kataloogivirna kirjeid lühendatult ' = '(vt Kataloogivirna asendamine ). Näiteks,

ls ~k[^D]
kahn kas kellogg
ls ~ke[tab]
ls ~kellogg/

... või mõne muu näite jaoks:

set local = /usr/local
ls $lo[tab]
ls $local/[^D]
bin/ etc/ lib/ man/ src/
ls $local/

Pange tähele, et muutujaid saab ka selgesõnaliselt laiendada laienda-muutujad toimetaja käsk.

kustuta-char-või-list-või-eof loetleb ainult rea lõpus; rea keskel kustutab märgi kursori alt ja tühjal real logib ühe välja eiramine on seatud, ei tee midagi. ' M- ^ D ', seotud redaktori käsuga nimekiri-valikud , loetleb lõpuleviimise võimalused kõikjal real ja nimekiri-valikud (või mõni seotud redaktori käsk, mis kustutab või ei kustuta, loetleb ja / või logib välja, loetletud jaotises kustuta-char-või-list-või-eof ) saab siduda ^ D ' koos bindkey soovi korral sisseehitatud käsk.

The täielik-sõna-fwd ja täielik-sõna-tagasi redaktori käske (vaikimisi mitte ühegi klahviga seotud) saab kasutada võimalike täienduste loendis üles ja alla liikumiseks, asendades praeguse sõna loendis järgmise või eelmise sõnaga.

Kesta muutuja fignore saab määrata loendi sufiksidest, mida lõpuleviimisel ignoreeritakse. Mõelge järgmisele:

ls
Makefile condiments.h~ main.o side.c README main.c meal side.o condiments.h main.c~
set fignore = (.o ~)
emacs ma[^D]
main.c main.c~ main.o
emacs ma[tab]
emacs main.c

' main.c ~ 'ja' main.o 'lõpetamisel ignoreeritakse (kuid loendisse jätmata), kuna need lõpevad järelliidetega fignore . Pange tähele, et 'oli vaja ees' ~ ', et vältida selle laiendamist koju, nagu on kirjeldatud jaotises Failinimi asendamine. fignore ignoreeritakse, kui on võimalik ainult üks lõpetamine.

Kui kogu shellimuutuja on seatud väärtusele ' suurendada ', lõpetamisel ignoreeritakse väiketähti ja arvestatakse punkte, sidekriipse ja alakriipe (' . ',' - 'ja' _ ') olla sõna eraldajad ning sidekriipsud ja alakriipsud samaväärsed. Kui teil on järgmised failid

comp.lang.c comp.lang.perl comp.std.c++ comp.lang.c++ comp.std.c

ja kirjutasin ' mail -f c.l.c [sakk] ', see oleks täidetud' mail -f comp.lang.c 'ja ^ D loetleks ' komp.lang.c 'ja' komp.lang.c ++ '. ' mail -f c..c ++ [^ D] 'loetleks' komp.lang.c ++ 'ja' komp.std.c ++ '. Tippimine ' rm a - fail [^ D] 'järgmises kataloogis

A_silly_file a-hyphenated-file another_silly_file

loetleks kõik kolm faili, kuna suurtähti ei arvestata ning sidekriipsud ja alakriipsud on samaväärsed. Perioodid ei ole siiski võrdväärsed sidekriipsude ega alakriipsudega.

Kui täielik shellimuutuja on seatud väärtusele ' Suurenda ', ignoreerib sidekriipsu ja alakriipsutava sõna eraldaja väiketähti ja erinevusi ainult siis, kui kasutaja sisestab väiketähe või sidekriipsu. Suure tähe või alakripi sisestamine ei sobi vastava väiketähe või sidekriipsude eraldajaga. Tippimine ' rm a - fail [^ D] 'eelmise näite kataloogis loetleks ikkagi kõik kolm faili, kuid tippides' rm A - fail 'sobiks ainult' A_silly_file 'ja kirjutades' rm a__fail [^ D] 'sobiks lihtsalt' A_silly_file 'ja' other_silly_file ', kuna kasutaja kasutas selgesõnaliselt suurtähte või alakriipsusid.

Lõpetamist ja loendisse kandmist mõjutavad muud shellimuutujad: täpne saab seadistada viima lõpule võimalikult lühikese unikaalse vaste, isegi kui rohkem sisestades võib tulemuseks olla pikem vaste:

ls
fodder foo food foonly
set recexact
rm fo[tab]

lihtsalt piiksub, sest ' fo 'võiks laieneda' olema 'või' foo ', aga kui kirjutame teise' või ',

rm foo[tab]
rm foo

valmimine lõpeb foo ', kuigi ' toit 'ja' varsti 'ühtivad ka. Autoexpand'i saab seadistada laienda-ajalugu redaktori käsk enne iga lõpetamiskatset, automaatne parandus saab seada väärtusele õigekiri õige täidetav sõna (vt Õigekirjaparandus ) enne iga lõpetamiskatset ja õige saab seadistada käsud automaatselt täitma, kui üks tabab 'return'. tikumepiip saab seadistada lõpetama piiksu või mitte piiksuma erinevates olukordades ja nobeep saab seadistada nii, et see ei piiksuks kunagi. tõstke saab seadistada kataloogide ja / või mustrite loendini, mis sobivad kataloogidega, et vältida lõpuleviimise mehhanismi riik neid katalooge. listmax ja listmaxrows saab seada nii, et see piiraks loendis olevate üksuste ja ridade arvu (vastavalt) ilma eelnevalt küsimata. ainult_täidetavad saab seadistada nii, et käskude loendamisel muudaks shelliloendi ainult käivitatavad failid, kuid see on üsna aeglane.

Lõpuks täielik builtini käsu abil saab shell öelda, kuidas täita muid sõnu peale failinimede, käskude ja muutujate. Täitmine ja loendisse lisamine glob-mustritel ei toimi (vt Failinime asendamine ), kuid list-glob ja laienema-glob redaktori käsud täidavad glob-mustrite jaoks samaväärseid funktsioone.

Õigekirjaparandus

Kest võib mõnikord parandada nii failinimede, käskude ja muutujate nimede õigekirja kui ka nende täiendamist ja loetlemist.

Üksikuid sõnu saab õigekirjaga parandada õigekiri-sõna redaktori käsk (tavaliselt seotud Prl ja PRL ) ja kogu sisendpuhver koos õigekirjajoon (tavaliselt seotud M- $ ). The õige shellimuutuja saab seada väärtusele ' cmd 'käsu nime parandamiseks või' kõik 'kogu rea parandamiseks iga kord, kui tagasipöördumine sisestatakse, ja automaatne parandus saab seadistada lõpetatava sõna parandamiseks enne igat lõpetamiskatset.

Kui õigekirjaparandust kutsutakse mõnel neist viisidest ja kest arvab, et mõni käsurea osa on valesti kirjutatud, küsib see parandatud reaga:

set correct = cmd
lz /usr/bin
CORRECT>ls /usr/bin (y|n|e|a)?

Võib vastata ' Y või ruumi parandatud rea täitmiseks, ' on 'jätta parandamata käsk sisendpuhvrisse,' kuni 'käsu katkestamiseks justkui' ^ C 'oli tabatud ja kõik muu, mis algset joont muutmata kujul täita.

Õigekirjaparandus tuvastab kasutaja määratud lõpuleviimised (vt täielik sisseehitatud käsk). Kui sisendi sõna positsioonis, mille jaoks on määratletud lõpuleviimine, sarnaneb lõpuloendis oleva sõnaga, registreerib õigekirjaparandus valesti kirjutamise ja soovitab paranduseks viimast sõna. Kui aga sisestussõna ei ühti selle positsiooni võimalike täiendustega, ei registreeri õigekirjaparandus valesti kirjutamist.

Nagu lõpuleviimine, toimib õigekirjaparandus ka kõikjal real, lükates ülejäänud rea paremale ja jättes kursorist paremale võib-olla lisamärgid.

Hoiatus

õigekirjaparandus ei ole garanteeritud nii, nagu see kavatseb, ja see on enamasti eksperimentaalse funktsioonina.

Redaktori käsud

' bindkey 'loetleb võtmeköited ja' bindkey -l 'loetleb ja kirjeldab lühidalt redaktori käske. Siin kirjeldatakse ainult uusi või eriti huvitavaid redaktori käske. Vaata emacs ja meie iga redaktori võtmeköite kirjelduste jaoks.

Sulgudes on märk või märgid, millega iga käsk on vaikimisi seotud. ' ^ iseloomu tähendab kontrollmärki ja M - iseloomu 'metamärk, mis on sisestatud metaklahvita terminalides põgenemismärgina. Suur- ja väiketähed loetakse, kuid vaikimisi tähtedega seotud käsud on mugavuse huvides seotud nii väikeste kui ka väikeste tähtedega.

Käsu nimi Võtmete sidumine Kirjeldus
täielik sõna vaheleht Lõpetab sõna, nagu on kirjeldatud all Lõpetamine ja loetellu kandmine .
täielik-sõna-tagasi (pole seotud) Meeldib täielik-sõna-fwd , kuid astub loendi lõpust üles.
täielik-sõna-fwd (pole seotud) Asendab praeguse sõna võimalike täienduste loendis esimese sõnaga. Võib korrata, et nimekirjast loobuda. Loendi lõpus annab piiks ja pöördub tagasi pooliku sõna juurde.
täielik-sõna-toores ^ X - vaheleht Meeldib täielik sõna , kuid eirab kasutaja määratletud lõpuleviimisi.
copy-prev-word M - ^ _ Kopeerib praeguse rea eelmise sõna sisendpuhvrisse. Vaata ka sisesta viimane sõna .
dabbrev-laiendada M - / Laiendab praegust sõna kõige uuemale eelnevale, mille jaoks praegune on alamstring, pakkides vajadusel ajaloo loendi (üks kord) ümber. Korduv dabbrev-laiendada ilma sekkumiseta järgmise eelmise sõna kirjutamiseta muudatusi vms, jättes identsed vasted vahele ajalugu-otsing-tagasi teeb.
kustuta-char seotud of ', kui kasutate standardit /etc/csh.cshrc Kustutab kursori all oleva märgi. Vaata ka kustuta-char-või-list-või-eof .
kustuta-char-või-eof (pole seotud) Kas kustuta-char kui kursori all on mõni märk või faili lõpp tühjal real. Vaata ka kustuta-char-või-list-või-eof .
delete-char-or-list (pole seotud) Kas kustuta-char kui kursori all on mõni märk või nimekiri-valikud rea lõpus. Vaata ka kustuta-char-või-list-või-eof .
kustuta-char-või-list-või-eof ^ D Kas kustuta-char kui kursori all on mõni märk, nimekiri-valikud rea lõpus või faili lõpus tühjal real. Vaadake ka neid kolme käsku, millest igaüks teeb ainult ühe toimingu, ja kustuta-char-või-eof , delete-char-or-list ja list-or-eof , millest igaüks teeb kolmest erinev kaks.
ajalooline ajalugu allamäge , ^ N Meeldib üleajalugu , kuid astub alla, peatudes algsel sisendjoonel.
faili lõpp (pole seotud) Märgib faili lõppu, mille tulemusel kest väljub, kui eiramine shell muutuja on seatud selle vältimiseks. Vaata ka kustuta-char-või-list-või-eof .
laienda-ajalugu M - ruumi Laiendab praeguse sõna ajaloo asendusi. Vt Ajalugu asendamine. Vaata ka maagia-ruum , lülita-sõna-sõnalt-ajalugu ja auto Expand kest muutuja.
laienema-glob ^ X - * Laiendab glob-mustrit kursorist vasakule. Vaata Failinime asendamine .
laienda-rida pole seotud Meeldib laienda-ajalugu , kuid laiendab sisendpuhvris iga sõna ajaloo asendusi.
laienda-muutujad ^ X - $ Laiendab muutujat kursorist vasakule. Vaata Muutuv asendamine .
ajalugu-otsing-tagasi M - lk , M - P Otsib ajaloo loendist tagurpidi käsku, mis algab sisendpuhvri praeguse sisuga kuni kursorini ja kopeerib selle sisendpuhvrisse. Otsingu string võib olla glob-muster (vt Failinime asendus), mis sisaldab ' * ',' ? ',' [] 'või' {} '. üleajalugu ja ajalooline ajalugu lähtub ajaloo loendi sobivast punktist. Ainult Emacsi režiim. Vaata ka ajalugu-otsing-edasi ja i-otsing-tagasi .
ajalugu-otsing-edasi M - n , M - N Meeldib ajalugu-otsing-tagasi , kuid otsib edasi.
i-otsing-tagasi (pole seotud) Otsib tagurpidi nagu ajalugu-otsing-tagasi , kopeerib esimese vaste sisendpuhvrisse, kui kursor on mustri lõpus ja küsib tähega ' bck: ja esimene matš. Otsingu pikendamiseks võidakse sisestada täiendavaid märke, i-otsing-tagasi võidakse tippida sama mustriga otsimise jätkamiseks, vajadusel ajaloo loendi ümber keerutamiseks, ( i-otsing-tagasi peab toimima ühe tähemärgiga) või võidakse kirjutada üks järgmistest erimärkidest:

^ W. Lisab ülejäänud sõna kursori all otsingumustrile.
kustuta (või mis tahes tähemärk, mis on seotud tagurpidi-kustuta-char ) Tühistab viimase sisestatud tähemärgi efekti ja vajadusel kustutab märgi otsingumustrist.
^ G Kui eelmine otsing õnnestus, katkestatakse kogu otsing. Kui ei, siis läheb tagasi viimase eduka otsingu juurde.
põgenema Lõpeb otsingu, jättes praeguse rea sisendpuhvrisse.
Mis tahes muu tegelane, kellega pole seotud ise sisesta-käsk lõpetab otsingu, jättes praeguse rea sisendpuhvrisse ja tõlgendatakse seejärel tavalise sisendina. Eelkõige põhjustab vaguni tagasitulek praeguse rea täitmise. Ainult Emacsi režiim. Vaata ka i-otsing-fwd ja ajalugu-otsing-tagasi .
i-otsing-fwd (pole seotud) Meeldib i-otsing-tagasi , kuid otsib edasi.
sisesta viimane sõna M - _ Lisab eelmise sisestusrea viimase sõna (' ! $ ') sisendpuhvrisse. Vaata ka copy-prev-word .
nimekiri-valikud M - ^ D Loetleb lõpuleviimise võimalused, nagu on kirjeldatud punktis Lõpetamine ja noteerimine . Vaata ka kustuta-char-või-list-või-eof ja nimekiri-valikud-toores .
nimekiri-valikud-toores ^ X - ^ D Meeldib nimekiri-valikud , kuid eirab kasutaja määratletud lõpuleviimisi.
list-glob ^ X - g , ^ X - G Nimekirjad ( ls-F sisseehitatud) sobib glob-mustriga (vt Failinime asendamine ) kursorist vasakule.
list-or-eof (pole seotud) Kas nimekiri-valikud või faili lõpp tühjal real. Vaata ka kustuta-char-või-list-või-eof .
maagia-ruum (pole seotud) Laiendab ajaloo asendusi praegusel real nagu laienda-ajalugu ja lisab tühiku. maagia-ruum on loodud ühendama tühikuklahv , kuid pole vaikimisi seotud.
normaliseeri-käsu ^ X - ? Otsib PATH-is praegust sõna ja kui see leitakse, asendab see kogu käivitatava faili tee. Tsiteeritakse erimärke. Pseudonüüme laiendatakse ja tsiteeritakse, kuid varjunimede sees olevaid käske mitte. See käsk on kasulik käskude puhul, mis võtavad käske argumendina, nt ' dbx 'ja' sh-x '.
normaliseerida-tee ^ X - n , ^ X - N Laiendab praegust sõna, nagu on kirjeldatud jaotises ' laienema 'seadistamine sümbolid kest muutuja.
ülekirjutusrežiim (pole seotud) Lülitub sisend- ja ülekirjutusrežiimide vahel.
run-fg-editor M - ^ Z Salvestab praeguse sisendjoone ja otsib peatatud tööd nimega, mis võrdub keskkonnamuutujate EDITOR või VISUAL failinime osa viimase komponendiga või kui kumbagi pole määratud, ' toim 'või' meie '. Kui selline töö leitakse, alustatakse seda uuesti justkui ' fg% töö 'oli kirjutatud. Seda kasutatakse redaktori ja kesta vahel hõlpsaks edasi-tagasi liikumiseks. Mõned inimesed seovad selle käsu ^ Z et nad saaksid seda veelgi lihtsamalt teha.
jooksu-abi M - h , M - H Otsib praeguse käsu dokumentatsiooni, kasutades sama mõistet 'praegune käsk' nagu lõpuleviimise rutiinid, ja prindib selle. Piiparit pole võimalik kasutada; jooksu-abi on mõeldud lühikeste abifailide jaoks. Kui eriline varjunimi abikomando on defineeritud, käivitatakse see ainult argumendina käsunimega. Muidu peaks dokumentatsioon olema failis nimega käsk.aita , käsk.1 , käsk.6 , käsk.8 või käsk, mis peaks olema ühes kataloogis loetletud kataloogidest HPATH keskkonnamuutuja. Kui abifaile on rohkem kui üks, prinditakse ainult esimene.
ise sisesta-käsk (tekstimärgid) Sisestusrežiimis (vaikimisi) sisestab sisestatud rea kursori all oleva märgi järel sisestatud reale. Ülekirjutamise režiimis asendab kursori all oleva tähe sisestatud märgiga. Sisestusrežiim säilitatakse tavaliselt ridade vahel, kuid sisendrežiim shellimuutuja saab seada väärtusele ' sisestada 'või' üle kirjutama ', et redaktor sellesse režiimi panna iga rea ​​alguses. Vaata ka ülekirjutusrežiim .
järjestus-sissejuhatus noole eesliide, meta eesliide, ^ X Näitab, et järgmised märgid on osa mitme võtmega järjestusest. Käsu sidumine mitmevõtmelise järjestusega loob tõesti kaks sidet: esimese tähemärgi järjestus-sissejuhatus ja kogu käsu järjekord. Kõik järjestused, mis algavad seotud tähemärgiga järjestus-sissejuhatus on tegelikult seotud määratlemata-võti kui pole seotud teise käsuga.
õigekirjajoon M - $ Katsed sisendpuhvris iga sõna õigekirja parandada, näiteks õigekiri-sõna , kuid ignoreerib sõnu, mille esimene täht on üks - ',' ! ',' ^ 'või' % 'või mis sisaldavad' ',' * 'või' ? , et vältida probleeme lülitite, asenduste ja muu sarnasega. Vt õigekirjaparandus.
õigekiri-sõna M - s , M - S Katsed praeguse sõna õigekirja parandada, nagu on kirjeldatud õigekirjaparanduses. Kontrollib iga nime, mis näib olevat teenimi.
lülita-sõna-sõnalt-ajalugu M - r , M - R Laiendab või 'laiendab' ajaloo asendusi sisendpuhvris. Vaata ka laienda-ajalugu ja auto Expand kest muutuja.
määratlemata-võti (mis tahes sidumata võti) Piiksub.
üleajalugu üles-nool, ^ P Kopeerib ajaloo loendi eelmise kirje sisendpuhvrisse. Kui histlit on määratud, kasutab kirje sõnasõnalist vormi. Seda võidakse korrata, et ajaloo loendis edasi liikuda, peatudes ülaosas.
vi-otsing-tagasi ? Viipad ' ? 'otsingu stringi jaoks (mis võib olla glob-muster, nagu ka ajalugu-otsing-tagasi ), otsib seda ja kopeerib sisendpuhvrisse. Kell kõlab, kui vastet ei leita. Tagasilöögi lõpetamine lõpetab otsingu ja jätab viimase vaste sisendpuhvrisse. Põgenemise tabamine lõpetab otsingu ja täidab matši. meie ainult režiimis.
vi-search-fwd / Meeldib vi-otsing-tagasi , kuid otsib edasi.
mis-käsk M - ? Kas a mis (vt sisseehitatud käsk) sisendpuhvri esimesel sõnal.
jänk-pop M - Y Hukatakse kohe pärast a jänk või mõni muu jänk-pop , asendab jänkitud stringi järgmise eelmise stringiga tapmisest. Sellel on ka mõrvari pööramise efekt, nii et seda stringi peetakse hilisema jõnksukäsu poolt viimati tapetuks. Korduv jänk-pop vaatab tapmise läbi mitu korda.

Leksikaalne struktuur

Kest jagab sisendjooned sõnadeks toorikute ja vahelehtede vahel. Erimärkide ' & ',' | ',' ; ',' < ',' > ',' ( 'ja' ) 'ja kahekordistunud tähemärgid' && ',' || ',' << 'ja' >> on alati eraldi sõnad, olenemata sellest, kas neid ümbritseb või mitte tühik .

Kui kesta sisend pole terminal, tähistab märk # 'alustatakse a kommenteerida . Iga ' # 'ja ülejäänud sisendjoon, millel see on, visatakse enne edasist sõelumist kõrvale.

Erimärgil (sealhulgas tühi või vaheleht) võib takistada selle eritähenduse olemasolu ja see võib olla osa teisest sõnast, kui sellele eelneb tagasilöögiga (' või) lisades selle ühte ( ' ), topelt ( ' ) või tagurpidi ( ' ) tsitaat. Kui ei ole tsiteeritud teisiti, eelneb uus rida 'on võrdne toorikuga, kuid jutumärkide sees annab see järjestus uue rea.

Lisaks kõik Asendused välja arvatud Ajaloo asendamine saab ära hoida, lisades stringid (või stringide osad), milles need esinevad, üksikute jutumärkidega või tsiteerides olulist tähemärki (tähti) (nt ' $ 'või' ' 'jaoks Muutuv asendamine või Käskude asendamine vastavalt) '. Alias ​​asendamine pole erand: mis tahes viisil mõne sõna, millele on määratud varjunimi, tsiteerimine takistab varjunime asendamist. Tavapärane varjunime tsiteerimise viis on eelneda sellele tagasilöögiga. Ajaloo asendamist takistavad tagasilöögid, kuid mitte üksikud jutumärgid. Topelt- või tagurpidi jutumärkides viidatud stringid läbivad muutuva asendamise ja käskude asendamise, kuid muud asendused on välistatud.

Ühes või kahes jutumärkides olevast tekstist saab üks sõna (või selle osa). Nende stringide metamärgid, sealhulgas tühjad ja vahelehed, ei moodusta eraldi sõnu. Ainult ühel erijuhul (vt Käskude asendamine allpool) kas topelttsiteeritud string võib anda rohkem kui ühe sõna osi; ühe tsiteeritud stringid ei tee seda kunagi. Tagasi tsitaadid (backticks) on erilised: nad annavad märku käsu asendamisest, mille tulemuseks võib olla rohkem kui üks sõna.

Keeruliste stringide, eriti stringide tsiteerimine, mis ise sisaldavad tsiteerivaid märke, võib tekitada segadust. Pidage meeles, et jutumärke ei pea kasutama nii, nagu need on inimeste kirjutamisel. Võib olla lihtsam tsiteerida mitte tervet stringi, vaid ainult neid stringi osi, mis vajavad tsiteerimist, kasutades selleks vajaduse korral erinevat tüüpi jutumärke.

The tagasilöögi_pakkumine shellimuutuja saab määrata nii, et tagasilöögid tsiteeriksid alati ' ',' ' 'ja' ' '. See võib keerukate ülesannete pakkumise lihtsustada, kuid see võib põhjustada süntaksi vigu csh skriptid.

Asendused

Ajaloo asendamine

Iga terminali sisestatud käsk või sündmus salvestatakse ajaloo loendisse. Eelmine käsk on alati salvestatud ja ajalugu shellimuutuja saab määrata arvuks, et nii palju käske salvestada. The histdup shellimuutuja saab seadistada nii, et see ei salvesta duplikaatsündmusi ega järjestikuseid duplikaatsündmusi.

Salvestatud käsud nummerdatakse järjestikku alates 1 ja tembeldatud kellaajaga. Sündmuse numbreid ei ole tavaliselt vaja kasutada, kuid praeguse sündmuse numbri saab viibaks muuta, asetades ' ! 'kiir-shellimuutuja.

Kest säästab tegelikult ajalugu laiendatud ja sõna otseses (laiendamata) vormis. Kui histlit shellimuutuja on seatud, käske, mis kuvavad ja salvestavad ajalugu, kasutavad sõna otseses vormis.

Sisseehitatud ajaloo käsk saab printida, faili salvestada, ajaloo loendi igal ajal taastada ja kustutada ning savehist ja histfail shellimuutujaid saab seadistada ajaloo loendi automaatseks sisselogimisel salvestamiseks ja sisselogimisel taastamiseks.

Ajalooasendused toovad ajaloo loendist pärit sõnad sisendvoosse, muutes käskude kordamise, praeguse käsu eelmise käsu argumentide kordamise või eelmise käsu õigekirjavigade parandamise vähese tippimise ja suure kindlusastmega.

Ajaloo asendused algavad tähemärgiga ' ! '. Need võivad alata mis tahes sisendvoos, kuid nad ei pesitse. ' ! 'võib eelneda' „selle erilise tähenduse vältimiseks; mugavuse huvides ! 'edastatakse muutmata kujul, kui sellele järgneb tühi, vaheleht, uus rida ' = 'või' ( '. Ajalugu asendatakse ka siis, kui sisendrida algab tähega ^ '. Seda spetsiaalset lühendit kirjeldatakse hiljem. Tähemärgid, mida kasutatakse ajaloo asendamiseks (' ! 'ja ^ ) saab muuta, seadistades histkarid kest muutuja. Iga sisendrida, mis sisaldab ajalooasendust, prinditakse enne selle käivitamist.

Ajalooasendusel võib olla „sündmuse spetsifikatsioon”, mis näitab sündmust, millest sõnad võetakse, „sõna tähis”, mis valib valitud sündmusest konkreetsed sõnad, ja / või „modifikaator”, mis manipuleerib valitud sündmusega sõnu.

Sündmuse spetsifikatsioon võib olla:

n Number, mis viitab konkreetsele sündmusele
- n Nihe, viidates sündmusele n enne praegust sündmust
# Praegune sündmus. Seda tuleks aastal kasutada ettevaatlikult csh , kus rekursiooni kontroll puudub. tcsh võimaldab 10 rekursiooni taset.
! Eelmine sündmus (vastab ' -1 ')
s Viimane sündmus, mille esimene sõna algab stringiga s
? s ? Viimane sündmus, mis sisaldab stringi s . Teine ? saab ära jätta, kui sellele järgneb kohe uus rida.

Mõelge näiteks kellegi ajaloo loendisse:

 9 8:30 nroff -man wumpus.man 10 8:31 cp wumpus.man wumpus.man.old 11 8:36 vi wumpus.man 12 8:37 diff wumpus.man.old wumpus.man 

Kuvatakse käsud koos nende sündmuste numbritega ja ajatemplid . Praegune sündmus, mida me pole veel sisestanud, on sündmus 13. ' ! üksteist 'ja' ! kaks 'viita sündmusele 11.' !! 'viitab eelmisele sündmusele 12.' !! 'saab lühendada' ! 'kui sellele järgneb' : '(' : 'kirjeldatakse allpool). ' ! n 'viitab sündmusele 9, mis algab tähega' n '. ' !? vana? 'viitab ka sündmusele 12, mis sisaldab' vana '. Ilma sõnaliste tähiste või teisendajateta laienevad ajalooviited kogu sündmusele, nii et võime kirjutada ' ! cp 'kopeerimiskäsu uuesti tegemiseks või' !! | veel 'kui' dif 'väljund keris ekraani ülaosast välja.

Vajadusel võidakse ajalooviited ümbritsevast tekstist isoleerida traksidega. Näiteks, ' ! vdoc 'otsiks käsku, mis algab' vdoc 'ja selles näites mitte leida ühte, vaid' ! {v} dok 'laieneks ühemõtteliselt' vi wumpus.mandoc '. Isegi traksidega ajalooasendused ei pesitse.

Kuigi csh laieneb näiteks ! 3d tähega 3 sündmusele d sellele lisatud, tcsh laiendab seda viimase sündmuseni, mis algab 3d ; ainult täielikult numbrilisi argumente käsitletakse sündmuste numbritena. See võimaldab meenutada numbritega algavaid sündmusi. Laiendamiseks ! 3d nagu csh ütlema ! {3} d .

Sõnade valimiseks sündmusest saame jälgida sündmuse spetsifikatsiooni tähega : 'ja tähis soovitud sõnadele. Sisendrea sõnad nummerdatakse 0-st, esimene (tavaliselt käsu) sõna on 0, teine ​​sõna (esimene argument) on 1 jne. Põhisõnade tähised on:

0 Esimene (käsu) sõna
n The n th argument
^ Esimene argument, mis vastab 1 '
$ Viimane argument
% Sõna sobib tähega ? s ? otsing
x - Y Rida sõnu
- Y Samaväärne 0- Y '
* Samaväärne ^ - $ ', kuid ei tagasta midagi, kui sündmus sisaldab ainult ühte sõna
x * Samaväärne x- $ '
x- Samaväärne x * ', kuid viimane sõna (' $ ')

Valitud sõnad sisestatakse käsureale eraldatuna üksikute tühikutega. Näiteks dif eelmise näite käsk võib olla kirjutatud kui diff !!: 1.old !!: 1 '(kasutades' : 1 ', et valida eelmise sündmuse esimene argument) või' dif! -2: 2! -2: 1 'argumentide valimiseks ja vahetamiseks' cp 'käsk. Kui me ei hooliks järjekorrast dif 'me oleksime võinud öelda' dif! -2: 1-2 'või' dif! -2: * '. ' cp 'käsk olla kirjutatud' cp wumpus.man! #: 1.vana ', kasutades' # ', et viidata praegusele sündmusele. ' ! n: - hurkle.man 'kasutaks uuesti kahte esimest sõna' nroff 'käsk öelda' nroff -man hurkle.man '.

' : 'sündmuse spetsifikatsiooni eraldamine sõnast' tähis 'võib ära jätta, kui argumentide valija algab tähega' ^ ',' $ ',' * ',' % 'või' - '. Näiteks meie dif 'käsk võis olla' diff !! ^. vana !! ^ 'või samaväärselt' diff !! $. vana !! $ '. Kui aga !! 'on lühendatud' ! ', argumentide valija, mis algab tähega' - 'tõlgendatakse sündmuse spetsifikatsioonina.

Ajaloo viites võib olla sõna tähis, kuid sündmuse spetsifikatsioon puudub. Seejärel viitab see eelmisele käsule. Jätkates meie dif 'näiteks oleksime võinud öelda' diff! ^. vana! ^ 'või argumentide saamiseks vastupidises järjekorras lihtsalt' diff! * '.

Ajalooviites olevat sõna või sõnu saab redigeerida või „muuta”, järgides seda ühe või mitme teisendajaga, millest igaühele eelneb „ : ':

h Eemaldage tagumine osa tee nimi komponent, jättes pea.
t Eemaldage kõik juhtnime komponendid, jättes saba.
r Eemalda failinime laiendus ' .xxx ', jättes juurnime.
on Eemaldage kõik, välja arvatud laiendus.
u Esimese väikese tähega suurtäht.
l Esimene suurtäht väiketähega.
s / l / r Asendaja l eest r . l on string nagu r , mitte a regulaarne väljend nagu samanimelises toim käsk. Tähise asemel võib eraldusmärgina kasutada mis tahes märki / '; kuni 'saab kasutada sees oleva eraldaja tsiteerimiseks l ja r . Tegelaskuju ' & 'sisse r asendatakse nimega l ; ' 'tsiteerib ka' & '. Kui l on tühi ( ' ), l eelmisest asendusest või s kasutatakse eelmist otsingu või sündmuse numbrit sündmuse spetsifikatsioonis. Lõppjoonaja võib välja jätta, kui sellele järgneb kohe uus rida.
& Korrake eelmist asendust.
g Rakendage igale sõnale üks kord järgmine teisendaja.
kuni Rakendage järgmist modifikaatorit ühe sõna jaoks nii mitu korda kui võimalik. ' kuni 'ja' g 'saab koos kasutada modifikaatori ülemaailmseks rakendamiseks. Modifikaatoriga 's' asendatakse ainult originaalsõnas sisalduvad mustrid, mitte mustrid, mis sisaldavad asendustulemusi.
lk Printige uus käsurida, kuid ärge seda käivitage.
mida Tsiteeri asendatud sõnu, vältides edasisi asendusi.
x Meeldib mida , kuid jagage sõnad tühjade, vahelehtede ja uuel real.

Muutujaid rakendatakse ainult esimesele muudetavale sõnale (kui ' g ' kasutatakse). On viga, et ükski sõna pole muudetav.

Näiteks dif 'käsk võib olla kirjutatud järgmiselt' diff wumpus.man.old! # ^: r ', kasutades' : r ' eemaldada ' .vana 'sama rea ​​esimesest argumendist (' ! # ^ '). Võiksime öelda kaja tere seal ', siis' kaja! *: u 'suurtähtedeks' Tere ',' kaja! *: au 'öelda seda valjult või' kaja! *: agu 'tõesti karjuda. Me võime järgida mail -s 'unustasin parooli' mädanema 'koos' !: s / mäda / juur 'õigekirja parandamiseks' juur '(kuid vaadake õigekirjaparandust teise lähenemise jaoks).

Asenduste jaoks on olemas spetsiaalne lühend. ' ^ ', kui see on sisendjoone esimene märk, on samaväärne tekstiga' !: s ^ '. Seega oleksime võinud öelda: ^ mäda ^ juur 'eelmises näites õigekirjaparanduse tegemiseks. See on ainus ajaloo asendamine, mis ei alga sõnaselgelt ! '.

Sisse csh sellisena võib igale ajaloole või muutuja laiendusele rakendada ainult ühte modifikaatorit. Sisse tcsh võib näiteks kasutada rohkem kui ühte

% mv wumpus.man /usr/man/man1/wumpus.1
% man !$:t:r
man wumpus

Sisse csh , tulemus oleks wumpus.1: r '. Võib osutuda vajalikuks käärsoole asendamine traksidega isoleerida:

> mv a.out /usr/games/wumpus
> setenv PATH !$:h:$PATH
Bad ! modifier: $.
> setenv PATH !{-2$:h}:$PATH
setenv PATH /usr/games:/bin:/usr/bin:.

Esimene katse õnnestuks csh kuid ebaõnnestub tcsh , sest tcsh ootab pärast teist koolonit teist modifikaatorit, mitte ' $ '.

Lõpuks on ajaloole juurdepääs nii redaktori kaudu kui ka äsja kirjeldatud asenduste kaudu. The üles- ja ajalooline ajalugu , ajalugu-otsing-tagasi ja - edasi , i-otsing-tagasi ja -fwd , vi-otsing-tagasi ja -fwd , copy-prev-word ja sisesta viimane sõna redaktori käsud otsivad ajaloo loendist sündmusi ja kopeerivad need sisendpuhvrisse. The lülita-sõna-sõnalt-ajalugu redaktori käsk vahetab sisendpuhvris ajalooridade laiendatud ja sõnasõnaliste vormide vahel. laienda-ajalugu ja laienda-rida laiendage ajalooasendusi vastavalt praeguses sõnas ja kogu sisendpuhvris.

Alias ​​asendamine

Kest haldab varjunimede loendit, mille saab seadistada, tühistada ja printida teise nimega ja unaliad käsud. Pärast käsurea parsimist lihtsateks käsudeks (vt Käsud ) kontrollitakse iga käsu esimest sõna vasakult paremale, et näha, kas sellel on alias. Kui jah, asendatakse esimene sõna varjunimega. Kui varjunimi sisaldab ajalooviidet, siis see läbib Ajaloo asendamine justkui algne käsk oleks eelmine sisendrida. Kui varjunimi ei sisalda ajalooviidet, jäetakse argumentide loend puutumata.

Seega, kui ls 'olid' ls -l 'käsk' ls / usr 'muutuks' ls -l / usr ', siin olev argumentide loend on häireteta. Kui varjunimi Vaata üles 'olid' grep! ^ / etc / passwd 'siis' otsinguarve 'muutuks' grep arve / etc / passwd '. Parseri metasüntaksi tutvustamiseks saab kasutada varjunimesid. Näiteks, ' varjunimi print 'pr ! * | lpr ' 'määrab' käsu '(' printida ') mis pr s oma argumendid liiniprinterile.

Pseudonüümi asendamist korratakse seni, kuni käsu esimesel sõnal alias puudub. Kui pseudonüümi asendus ei muuda esimest sõna (nagu eelmises näites), märgistatakse see silmu vältimiseks. Teised silmused tuvastatakse ja need põhjustavad tõrke.

Mõnele varjunimele viitab kest; vaata Spetsiaalsed varjunimed .

Muutuv asendamine

Kest haldab muutujate loetelu, millest igaühel on loetelu nullist või enamast sõnast. Kestmuutujate väärtusi saab kuvada ja muuta nupuga seatud ja määramata käsud. Süsteem peab oma nimekirja keskkonnamuutujad . Neid saab kuvada ja muuta printenv , setenv ja unsetenv .

Muutujad võib muuta kirjutuskaitstud ainult seatud -r '. Kirjutuskaitstud muutujaid ei tohi muuta ega tühistada; selle proovimine põhjustab vea. Kui muutuja on kirjutuskaitstud, ei saa muutujat kirjutatavaks muuta, nii et ' seatud -r 'tuleks kasutada ettevaatusega. Keskkonnamuutujaid ei saa muuta kirjutuskaitstavaks.

Mõned muutujad on seatud kestaga või neile viidatud. Näiteks argv muutuja on šelli argumentide loendi pilt ja selle muutuja väärtuse sõnadele viidatakse eriviisidel. Mõned muutujad, millele kest viitab, on lülitid; kest ei hooli nende väärtusest, ainult sellest, kas need on seatud või mitte. Näiteks paljusõnaline muutuja on lüliti, mis põhjustab käsu sisendi kaja. The -v käsurea suvand määrab selle muutuja. Spetsiaalsed shellimuutujad loetlevad kõik muutujad, millele kest osutab.

Muud toimingud käsitlevad muutujaid arvuliselt. ' @ 'käsk võimaldab arvulisi arvutusi teha ja tulemuse määrata muutujale. Muutujate väärtusi esitatakse siiski alati (null või rohkem) stringid . Numbritehingute puhul loetakse nullstringi nulliks ning eiratakse mitmesõnaliste väärtuste teist ja järgnevaid sõnu.

Pärast sisendjoone aliasimist ja parsimist ning enne iga käsu täitmist tehakse muutuja asendamine võtmega ' $ 'tähemärki. Seda laienemist saab vältida, kui eelneda $ ' koos ' 'välja arvatud ' s kus see alati toimub ja sees ' s kus seda kunagi ei esine. Keelpillid tsiteeritud ' tõlgendatakse hiljem (vt Käskude asendamine allpool) nii ' $ 'asendamine toimub seal alles hiljem, kui üldse. A ' $ 'antakse edasi muutmata kujul, kui sellele järgneb tühi, sakk või rea lõpp.

Sisendi / väljundi ümbersuunamised tuvastatakse enne muutuja laiendamist ja neid saab laiendada eraldi. Vastasel juhul laiendatakse käsunime ja kogu argumentide loendit koos. Seega on võimalik, et esimene (käsu) sõna (siiani) genereerib rohkem kui ühe sõna, millest esimene saab käsunimeks ja ülejäänud argumendid.

Kui see pole suletud ' või antud : q modifikaator võib muutuva asendamise tulemused lõpuks käsuga ja failinimega asendada. Jooksul ' , laieneb muutuja, mille väärtus koosneb mitmest sõnast, ainsaks sõnaks (a osa), muutuja väärtuse sõnad eraldatakse tühjadega. Kui : q modifikaatorit kasutatakse asendusele, laieneb muutuja mitme sõnaga, kusjuures iga sõna eraldatakse tühjaga ja tsiteeritakse, et vältida hilisemat käsu või failinime asendamist.

Muutujate väärtuste sisestamiseks kesta sisendisse on ette nähtud järgmised metasagedused. Välja arvatud juhul, kui pole märgitud, on määramata muutujale viitamine viga.

  $   name   ${   name   }  
Asendab muutuja väärtuse sõnad nimi , igaüks eraldatud toorikuga. Traksid soojustavad mees e järgnevatest tähemärkidest, mis muidu oleksid selle osad. Kestmuutujatel on tähtedest ja numbritest koosnevad nimed, mis algavad tähega. Allakriipsutavat tähte peetakse täheks. Kui nimi ei ole shellimuutuja, vaid on keskkonnas määratud, siis see väärtus tagastatakse (kuid mõned muud allpool toodud vormid pole antud juhul saadaval).
  $   name  [  selector  ]  $  {  name  [  selector  ]}
Asendab väärtusest ainult valitud sõnad nimi . Valija allub ' $ 'asendus ja võib koosneda ühest numbrist või kahest numbrist, mis on eraldatud tähega' - '. Muutuja väärtuse esimene sõna nummerdatakse ' 1 '. Kui vahemiku esimene number välja jätta, on see vaikimisi ' 1 '. Kui vahemiku viimane liige jäetakse välja, on see vaikimisi $ # nimi '. Valija ' * 'valib kõik sõnad. Kui teine ​​argument on välja jäetud või vahemikus, ei ole viga, et vahemik on tühi.
  $0  
Asendab faili nime, millest käsusisendit loetakse. Kui nimi pole teada, ilmneb viga.
  $  number     $  {  number  }
Samaväärne $ argv [ number ] '.
  $*  
Samaväärne $ argv ', mis on samaväärne $ argv [ * ] '.

' : jaotises kirjeldatud modifikaatorid Ajaloo asendamine , väljaarvatud ' : lk ', saab rakendada ülaltoodud asenduste korral. Kasutada võib rohkem kui ühte. Otsese käärsoole muutuva asenduse isoleerimiseks võib vaja minna breketeid, nagu ka History asendamise korral; kõik modifikaatorid peavad ilmuma traksidega.

Järgmisi asendusi ei saa muuta ' : 'modifikaatorid.

  $?   name   $  {  ?   name  }
Asendab stringi ' 1 'kui nimi on seatud, ' 0 'kui see pole nii.
  $?0  
Asendajad ' 1 'kui praegune sisendfaili nimi on teada,' 0 'kui see pole nii. Alati ' 0 'interaktiivsetes kestades.
  $#   name   ${#   name   }  
Asendab sõnade arvu nimi .
  $#  
Samaväärne $ # argv '.
  $%   name   ${%   name   }  
Asendab tähemärkide arvu nimi .
  $%   number   ${%   number   }  
Asendab tähemärkide arvu $ argv [ number ] .
  $?  
Samaväärne $ staatus '.
  $$  
Asendab (vanem) kesta (kümnendkoha) protsessinumbri.
  $!  
Asendab selle kesta poolt alustatud viimase taustaprotsessi (kümnendkoha) protsessi numbri.
  $_  
Asendab viimati täidetud käsu käsurea.
  $<  
Asendab rea reast standard sisend , ilma et seda oleks edaspidi võimalik tõlgendada. Seda saab kasutada shelliskripti abil klaviatuurilt lugemiseks. Kuigi csh tsiteerib alati $< , nagu oleks see samaväärne $<:q ', tcsh ei ole. Lisaks, millal tcsh ootab rea sisestamist, võib kasutaja sisestada katkestuse, et katkestada järjestus, millesse rida asendatakse, kuid csh ei luba seda.

Redaktori käsk laienda-muutujad , tavaliselt seotud ^ X- $ ', saab kasutada üksikute muutujate interaktiivseks laiendamiseks.

Käskude asendamine

Käskude asendamist tähistab käsk, mis on lisatud tagapakkumistesse ( ' ). Sellise käsu väljund jagatakse tühjades, vahelehtedel ja uutes ridades eraldi sõnadeks ning tühjad sõnad visatakse kõrvale. Väljund on muutuv ja käsk asendatud ning paigutatud algse stringi asemele.

Käskude asendused topelt jutumärkides ( ' ) hoida toorikud ja sakid; ainult uued read sunnivad uusi sõnu. Ühtne lõplik uus rida ei sunni igal juhul uut sõna. Seega on käsuasendusel võimalik anda ainult osa sõnast, isegi kui käsk väljastab täieliku rea.

Vaikimisi asendab shell kõik uue rea ja käru tagasituleku tähemärgid tühikutega. Kui see lülitatakse välja lülitamise teel csubstnonl , eraldab uus rida käsud nagu tavaliselt.

Failinime asendamine

Kui sõna sisaldab mõnda tähemärki * ',' ? ',' [ 'või' { 'või algab tähemärgiga' ~ 'see on kandidaat failinime asendamiseks, mida tuntakse ka kui' globbing '. Seejärel käsitletakse seda sõna mustrina ('glob-pattern') ja asendatakse mustriga sobivate failinimede tähestikulises järjekorras.

Sobivates failinimedes tähistab märk . 'failinime alguses või kohe pärast tähte' / ', samuti märk' / 'peab olema selgesõnaline (kui mitte kumbki) globdot või globstaar või mõlemad on seatud). Tegelaskuju ' * 'sobib mis tahes tähemärkide stringiga, sealhulgas null-stringiga. Tegelaskuju ' ? 'sobib ükskõik millise tähemärgiga. Järjestus ' [ ... ] 'sobib ükskõik millise lisatud tähemärgiga. Jooksul [ ... ] ', tähemärkide paar, mis on eraldatud tähega' - 'sobib mis tahes tähemärgiga nende kahe vahel leksikaalselt.

Mõned glob-mustrid saab eitada: jada ' [^ ...] 'sobib ükskõik millise tähemärgiga, mida pole määratud sulgudes olevate märkide ja / või tähemärkide vahemikega.

Kogu glob-mustri võib eitada ka ' ^ ':

echo *
bang crash crunch ouch
> echo ^cr*
bang ouch

Glob-mustrid, mis ei kasuta ? ',' * 'või' [] 'või mis kasutavad' {} 'või' ~ '(allpool) ei eitata õigesti.

Metanotatsioon ' a {b, c, d} e 'on lühend' abe äss '. Vasakult paremale on säilinud järjestus: ' /usr/source/s1/[oldls,lsíritu.c 'laieneb' /usr/source/s1/oldls.c /usr/source/s1/ls.c '. Selle järjekorra säilitamiseks sorteeritakse matšide tulemused eraldi madalal tasemel: ' ../{memo,*box} 'võib laieneda' ../memo ../box ../mbox '. Pange tähele, et ' memo 'ei olnud sobitamise tulemustega sorteeritud' * kast '. See ei ole viga, kui see konstruktsioon laieneb failidele, mida pole olemas, kuid on võimalik saada tõrge käsust, millele laiendatud loend edastatakse. See konstruktsioon võib olla pesastatud. Erijuhtumina lisatakse sõnad ' { ',' } 'ja' {} 'läbitakse häirimatult.

Tegelaskuju ' ~ 'viitab failinime alguses kodukataloogidele. Üksi seistes, s.t. ~ ', laieneb see kutsuja kodukataloogi, nagu kajastub koduse shellimuutuja väärtuses. Kui sellele järgneb nimi, mis koosneb tähtedest, numbritest ja ' - tähemärgid, mille kest otsib selle nimega kasutajat ja asendab nende kodukataloogi; seega ' ~ ken 'võib laieneda' / usr / ken 'ja' ~ ken / chmach 'kuni' / usr / ken / chmach '. Kui märk ” ~ '-le järgneb muu täht kui täht või' / 'või ilmub mujal kui sõna alguses, see jääb häirimata. Käsk nagu ' setenv MANPATH / usr / man: / usr / local / man: ~ / lib / man 'ei tee seetõttu kodukataloogi asendamist, nagu võiks loota.

See on viga glob-mustri korral, mis sisaldab * ',' ? ',' [ 'või' ~ ', koos või ilma ' ^ ', mitte ühegi failiga sobitamiseks. Kuid failiga peab vastama ainult üks glob-mustrite loendis olev muster (nii et näiteks ' rm * .a * .c * .o 'ebaõnnestub ainult siis, kui praeguses kataloogis, mis lõpeb .et ',' .c 'või' või ') ja kui nonomatch shellimuutujale määratakse muster (või mustrite loend), mis ei ühti millegagi, ei muutu selle asemel, et viga tekitada.

The globstaar shellimuutuja saab seadistada lubama ' ** 'või' *** 'faili glob mustrina, mis sobib mis tahes tähemärgijoonega, sealhulgas' / ', mis läbib rekursiivselt kõiki olemasolevaid alamkatalooge. Näiteks, ' ls **. c 'loetleb kõik .c failid praeguses kataloogipuus. Kui seda kasutatakse iseenesest, sobib see nulli või enama alamkataloogiga (nt ' ls /usr/include/**/time.h 'loetleb faili nimega' aeg.h 'sisse / usr / include kataloogipuu; ' ls /usr/include/**time.h 'sobib mis tahes failiga / usr / include kataloogipuu, mis lõpeb ' aeg.h '; ja ' ls /usr/include/**time**.h 'sobib mis tahes .h faili ' aeg 'kas alamkataloogi nimes või failinimes endas'. Rekursiooniga seotud probleemide vältimiseks tuleb ** 'glob-muster ei taandu kataloogi sisaldavale sümboolsele lingile. Selle tühistamiseks kasutage *** '

The noglob kest muutuja saab seada failinime asendamise vältimiseks ja laienema-glob redaktori käsk, tavaliselt seotud ^ X- * ', saab kasutada üksikute failinimede asenduste interaktiivseks laiendamiseks.

Kataloogivirna asendamine

Kataloogivirn on nullist nummerdatud kataloogide loend, mida kasutab pushd , popd ja dirs sisseehitatud käsud. dirs saab igal ajal printida, faili salvestada, kataloogivirna taastada ja kustutada ning päästetud ja dirsfile shellimuutujaid saab seadistada kataloogivirna automaatseks sisselogimisel salvestamiseks ja sisselogimisel taastamiseks. The dirstack shellimuutujat saab uurida kataloogivirna nägemiseks ja seadistada suvaliste kataloogide lisamiseks kataloogivirnasse.

Tegelaskuju ' = ', millele järgneb üks või mitu numbrit, laieneb kataloogivirna kirjele. Erijuhtum ” = - 'laieneb virna viimase kataloogini. Näiteks,

dirs -v
0 /usr/bin 1 /usr/spool/uucp 2 /usr/accts/sys
echo =1
/usr/spool/uucp
echo =0/calendar
/usr/bin/calendar
echo =-
/usr/accts/sys

The noglob ja nonomatch kest muutujad ja laienema-glob redaktori käsk kehtib nii kataloogivirnale kui ka failinime asendustele.

Muud asendused

Failinimedega on seotud veel mitu teisendust, mis pole ülaltooduga rangelt seotud, kuid on siin täielikkuse huvides mainitud. Kui sümbollinkide muutuja väärtuseks on seatud laienemine, võib failinime laiendada täielikule teele. Tsiteerimine takistab seda laienemist ja normaliseerida-tee toimetaja käsk teeb seda nõudmisel. The normaliseeri-käsu redaktori käsk laiendab käske sisse TEE nõudmisel täielikele radadele. Lõpuks CD ja pushd tõlgendama ' - vana töökataloogina (samaväärne shellimuutujaga võlgu ). See pole üldse asendus, vaid lühend, mille tunnevad ära ainult need käsud. Sellegipoolest saab seda ka tsiteerides ära hoida.

Käsud

Järgmises kolmes osas kirjeldatakse, kuidas kest käske täidab ning nende sisendi ja väljundiga tegeleb.

Lihtsad käsud, torujuhtmed ja järjestused

Lihtkäsk on sõnade jada, millest esimene määrab täidetava käsu. Rida lihtsaid käske, millega on ühendatud ' | tähemärgid moodustavad torujuhtme. Iga torujuhtme käsu väljund on ühendatud järgmise sisendiga.

Lihtsad käsud ja torujuhtmed võib ühendada 'jadadeks' ; 'ja täidetakse järjestikku. Käsud ja torujuhtmed saab ka järjestusteks ühendada ' || 'või' && ', mis näitab nagu C keel , et teine ​​täidetakse ainult siis, kui esimene ebaõnnestub või õnnestub.

Sulgudesse võib panna lihtsa käsu, torujuhtme või järjestuse. ' () ', et moodustada lihtne käsk, mis omakorda võib olla torujuhtme või jada komponent. Käsu, torujuhtme või järjestuse saab käivitada ootamata, kuni see lõpeb, järgides seda ' & '.

Sisseehitatud ja sisseehitamata käskude täitmine

Sisseehitatud käsud täidetakse kestas. Kui mõni torujuhtme komponent peale viimase on sisseehitatud käsk, käivitatakse torujuhe alamkoos.

Sulgudega käsud täidetakse alati alamkoores.

(cd; pwd); pwd

See käsk prindib kodukataloogi, jättes teid sinna, kus viibisite (printides selle pärast kodukataloogi)

cd; pwd

jätab teid kodukataloogi. Ennetamiseks kasutatakse kõige sagedamini sulgudes käske CD praeguse kesta mõjutamisest.

Kui leitakse, et käivitatav käsk ei ole sisseehitatud käsk, üritab shell käsku täita täitma süsteemi käsk. Iga muutuja tee sõna nimetab kataloogi, kus kest otsib käsku. Kui kestale ei anta a -f suvandina räsib kest nende kataloogide nimed sisemiseks tabeliks, nii et see proovib täitma ainult kataloogis, kus on võimalus, et käsk asub seal. See kiirendab käsu asukohta suuresti, kui otsinguteel on suur hulk katalooge. Seda räsimismehhanismi ei kasutata:

  1. Kui räsimine on teenuse kaudu selgesõnaliselt välja lülitatud lahti .
  2. Kui kestale anti a -f argument.
  3. Iga kataloogi komponendi jaoks tee mis ei alga tähega ' / '.
  4. Kui käsk sisaldab ' / '.

Eeltoodud neljal juhul ühendab kest teevektori iga komponendi antud käsunimega, et moodustada faili teenimi, mida ta seejärel proovib seda täita. Kui käivitamine on edukas, peatub otsing.

Kui fail on käivitatud õigused kuid ei ole süsteemi käivitatav (s.t see ei ole käivitatav kahendkood ega skript, mis määrab selle interpretaatori), siis eeldatakse, et see on shellikäske sisaldav fail ja selle lugemiseks sünnitatakse uus kest. The kest spetsiaalse pseudonüümi võib määrata muu tõlgi määramiseks kui shell ise.

Süsteemides, mis ei mõista #! 'skripti tõlgendamise konventsioon, mille koore võib kompileerida selle jäljendamiseks; vaata versioon kest muutuja. Kui jah, kontrollib kest faili esimest rida, et näha, kas see on vormi ' #! tõlk vihane ... '. Kui see on nii, siis käivitab kest tõlgi etteantud väärtusega vihane s ja toidab faili sellele edasi standard sisend .

Sisend väljund

Käsu standardse sisendi ja standardväljundi saab suunata järgmise süntaksiga:

  <   name  
Avatud fail nimi (mis on esimene muutuja, laiendatud käsk ja failinimi) standardse sisendina.
  <<   word  
Loe shellisisestust kuni reani, mis on identne sõna . sõna ei allu muutujale, failinimele ega käsu asendamisele ning iga sisendrida võrreldakse sõna enne kui sellel sisendjoonel asendusi tehakse. Kui just tsiteerida , ' , ' või ' ilmub sõna muutuja ja käskude asendamine tehakse sekkuvatel ridadel, võimaldades tsiteerida $ , ja ' . Asendatud käskudel on kõik tühjad kohad, vahelehed ja uusjooned säilinud, välja arvatud lõplik uus rida, mis loobutakse. Saadud tekst paigutatakse anonüümsesse ajutisse faili, mis antakse käsule standardse sisendina.
  >   name   >!   name   >&   name   >&!   name  
Faili nime kasutatakse standardväljundina. Kui faili pole olemas, siis see luuakse; kui fail on olemas, siis on kärbitud , selle varasem sisu on kadunud.

Kui kest muutuja nokitseja on seatud, siis ei tohi faili olla või see peab olema tähemärgifail (nt terminal või ' / dev / null ') või ilmneb viga. See aitab vältida failide juhuslikku hävitamist. Sel juhul ! Selle kontrolli mahasurumiseks saab kasutada vorme '.

Vormid, mis hõlmavad & 'suunab diagnostikaväljund nii määratud faili kui ka standardväljundisse. nimi laieneb samamoodi nagu ' < 'sisendfailinimed on.
  >>   name   >>&   name   >>!   name   >>&!   name  
Meeldib > ', kuid lisab väljundi domeeni lõppu nimi . Kui kest muutuja nokitseja on seatud, siis on viga, et faili pole olemas, välja arvatud juhul, kui üks ! on antud vormid.

Käsk võtab vastu keskkonna, kus kest käivitati, muutes sisend-väljundparameetrid ja käsu olemasolu torujuhtmes. Seega, erinevalt mõnest varasemast kestast, pole shellikäskude failist käivitatud käskudel vaikimisi juurdepääsu käskude tekstile; pigem saavad nad kesta algse standardse sisendi. ' << 'Sisemiste andmete esitamiseks tuleks kasutada mehhanismi. See võimaldab shellikäsu skriptidel toimida torujuhtmete komponentidena ja võimaldab shellil blokeerida selle sisendi lugemist. Pange tähele, et eraldatud käsu käitamise vaikimisi standardne sisend ei ole tühi fail / dev / null , kuid koore algne standardsisend. Kui see on terminal ja kui protsess üritab terminalist lugeda, siis protsess blokeeritakse ja kasutajat teavitatakse (vt. Töökohad ).

Diagnostikaväljundit võib suunata läbi standardväljundiga toru. Kasuta vormi ' | & 'mitte lihtsalt' | '.

Kest ei saa praegu diagnostilist väljundit ümber suunata, suunamata ka standardväljundit, kuid ' (käsk> väljundfail)> & tõrkefail 'on sageli vastuvõetav lahendus. Mõlemad väljund-fail või veafail võib olla ' / dev / tty 'väljundi terminali saatmiseks.

Funktsioonid

Kontrollige voolu

Kest sisaldab mitmeid käske, mida saab kasutada juhtimisvoo reguleerimiseks käsufailides (shelliskriptid) ja (piiratud, kuid kasulikel viisidel) terminali sisendist. Kõik need käsud toimivad nii, et sunnib kesta oma sisendit uuesti lugema või vahele jätma ning rakendamise tõttu piirab mõne käsu paigutust.

The igaühele , lüliti ja samas avaldused, samuti kui-siis-veel vormis kui avaldus nõuab, et peamised märksõnad ilmuksid sisendireal ühe lihtsa käsuna, nagu allpool näidatud.

Kui kesta sisendit pole võimalik otsida, puhverdab kest sisendit iga kord, kui silmus loetakse, ja sooritab selles sisepuhvris otsingu, et saavutada silmusest tulenev uuesti lugemine. Sel määral, kui see võimaldab, tahapoole minema s õnnestub mitte-otsitavate sisendite korral.

Avaldised

The kui , samas ja väljumine sisseehitatud käsud kasutavad ühise süntaksiga väljendeid. Avaldised võivad hõlmata mis tahes järgmist kolme jaotist kirjeldatud operaatorit. Pange tähele, et @ builtin käsul on oma eraldi süntaks.

Loogilised, aritmeetilised ja võrdlusoperaatorid

Need operaatorid on sarnased operaatoritega C ja neil on sama ülimuslikkus. Nad sisaldavad:

|| && | ^ & == != =~ !~ = <> + - * / % ! ~ ( )

Siin suureneb ülimuslikkus loendis allapoole, ' == ' ! = ' = ~ 'ja' ! ~ ',' <= ' > = ' < 'ja' > ',' << 'ja' >> ',' + 'ja' - ',' * ' / 'ja' % 'rühmades olles samal tasemel. ' == ' ! = ' = ~ 'ja' ! ~ 'võrdlevad operaatorid oma argumente stringid ; kõik teised opereerivad numbritega. Operaatorite = ~ 'ja' ! ~ ' on nagu ' ! = 'ja' == 'välja arvatud see, et parem külg on globaalne muster (vt Failinime asendamine ), millega vasaku käe operand sobitatakse. See vähendab lüliti builtin käsk shelliskriptides, kui tegelikult on vaja ainult mustri sobitamist.

Arvestatakse tühiseid või puuduvaid argumente 0 '. Kõigi avaldiste tulemused on stringid, mis tähistavad kümnendarvusid. Oluline on märkida, et ühes sõnas ei saa esineda avaldise kahte komponenti; välja arvatud parseri jaoks süntaktiliselt oluliste avaldiste komponentide kõrval (' & ' | ' < ' > ' ( ' ) ') need peaksid olema ümbritsetud tühikutega.

Käsu väljumise olek

Käske saab käivitada avaldistega ja nende väljumise oleku saab taastada sulgudes (' {} '). Pidage meeles, et traksid peaksid käsu sõnadest eraldama tühikutega. Käskude hukkamine õnnestub, tagastades tõese, st ' 1 ', kui käsk väljub olekuga 0 , muidu nad ebaõnnestuvad, tagastades vale, st ' 0 '. Kui on vaja üksikasjalikumat olekuteavet, tuleks käsk täita väljaspool avaldist ja uurida olekukesta muutujat.

Toimikute uurimise operaatorid

Mõned neist operaatoritest teostavad failide ja seotud objektide tõelisi / valesid teste. Need on vormis - peal faili , kus peal on üks järgmistest:

r Lugemisõigus
aastal Kirjutusjuurdepääs
x Käivitage juurdepääs
X Täidetav sisseehitatud tees või kestas, nt ' -X ls 'ja' -X ls-F 'on üldiselt tõesed, kuid' -X / bin / ls ' ei ole
on Olemasolu
või Omandiline kuuluvus
koos Null suurus
s Nulliväline suurus
f Tavaline fail
d Kataloog
l Sümboolne link *
b Blokeeri erifail
c Märkide erifail
lk Nimeline toru (fifo) *
S Spetsiaalne failifail *
u Set-user-ID bit on määratud
g Set-group-ID bit on määratud
kuni Kleepuv otsik on seatud
t fail (mis peab olema number) on lõppseadme avatud failikirjeldus
R On üle viidud (ainult kumer)
L Rakendab mitmeoperaatori testis järgnevaid operaatoreid sümboolsele lingile, mitte failile, millele link osutab *

faili laiendatakse käsu- ja failinime ning seejärel testitakse, kas sellel on tegeliku kasutajaga määratud seos. Kui faili pole või see pole ligipääsetav, või * ', kui määratud failitüüpi praeguses süsteemis pole, tagastavad kõik päringud vale, s.t' 0 '.

Neid operaatoreid võib lühiduse huvides kombineerida: ' -xy fail 'on samaväärne -x fail ja & -y fail '. Näiteks, ' -fx 'on tõene (tagastab' 1 ') tavaliste käivitatavate failide jaoks, kuid mitte kataloogide jaoks.

L võib mitme operaatori testis kasutada järgnevate operaatorite rakendamiseks sümboolsele lingile, mitte failile, millele link osutab. Näiteks, ' - Kuule 'kehtib kutsuvate kasutajate linkide kohta. Lr , Madal ja Lx on linkide puhul alati tõesed ja mittelinkide puhul valed. L millel on erinev tähendus, kui ta on viimane operaator mitme operaatori testis; vaata allpool.

Ootajaid on võimalik ühendada, kuid mitte kasulik ja mõnikord eksitav faili olla fail operaatoritega, kes seda ei tee (nt X ja t ). Järgnev L mitte-failioperaatoriga võib see tuua eriti kummalisi tulemusi.

Teised operaatorid tagastavad muu teabe, st mitte ainult 0 'või' 1 '. Neil on sama formaat nagu varem; peal võib olla üks järgmistest

TO Viimane faili juurdepääsuaeg, sekundite arv ajast alates
TO: Meeldib TO , kuid ajatempli vormingus, nt R 14. mai 16:36:10 1993 '
M Viimase faili muutmise aeg
M: Meeldib M , kuid ajatempli vormingus
C Viimane inoodi muutmise aeg
C: Meeldib C , kuid ajatempli vormingus
D Seadme number
Mina Inode number
F Liitfaili identifikaator kujul seade : inode
L Faili nimi, millele osutab sümboolne link
N (Kõvade) linkide arv
P Õigused kaheksandis ilma nulli ees
P: Meeldib P , juhtiva nulliga
Pmode Samaväärne -P fail ja režiim 'nt' -P22 fail 'tagastab' 22 'kui fail on kirjutatav rühmade ja muude kaupa,' kakskümmend 'kui ainult rühmade kaupa, ja' 0 'kui kumbki neist ei tee
Pmode: Meeldib Pmode , juhtiva nulliga
U Numbriline kasutajatunnus
Sisse: Kasutajanimi või arvuline kasutajatunnus, kui kasutajanimi pole teada
G Numbriline rühmagrupp
G: Grupi nimi või arvuline grupi ID, kui grupi nimi on teadmata
KOOS Suurus baitides

Ainult üks neist operaatoritest võib esineda mitme operaatori testis ja see peab olema viimane. Pange tähele, et L on mitme operaatori testi lõpus ja mujal erinev tähendus. Sest 0 'on paljude nende operaatorite jaoks kehtiv tagastusväärtus, nad ei tagasta' 0 'kui nad ebaõnnestuvad: enamik naaseb' -1 'ja F tagastab ' : '.

Kui kest on kompileeritud defineeritud POSIX-iga (vt versioonimuutuja versioon), põhineb failipäringu tulemus faili lubabittidel, mitte juurdepääsusüsteemi kõne tulemusel. Näiteks kui testitakse faili sisse kelle õigused lubaksid tavaliselt kirjutada, kuid see on failisüsteemile ühendatud kirjutuskaitstud, õnnestub test POSIX-i kestas, kuid ebaõnnestub mitte-POSIX-i kestas.

Failide päringuoperaatoreid saab hinnata ka failitest sisseehitatud käsk.

Töökohad

Kest seob töö iga torujuhtmega. See hoiab praeguste tööde tabelit, mille on printinud töökohti ja määrab neile väikesed täisarvud. Kui tööd alustatakse asünkroonselt ' & ', trükib kest välja välimuse

[1] 1234

mis näitab, et asünkroonselt alustatud töö oli töö number 1 ja tal oli üks (tipptasemel) protsess, mille protsessi ID oli 1234 .

Kui teil on töö ja soovite midagi muud teha, võite vajutada peatamisnuppu (tavaliselt ^ Z ), mis saadab praegusele tööle STOP-signaali. Koor näitab tavaliselt, et töö on peatatud, ja prindib veel ühe viiba. Kui listjobs shellimuutuja on seatud, loetletakse kõik tööd nagu töökohti sisseehitatud käsk; kui see on seatud väärtusele ' pikk 'kirje on pikas vormingus nagu' töökohti -l '. Seejärel saate peatatud töö olekuga manipuleerida. Võite selle panna taustaga bg käsk või käivitage mõned muud käsud ja lõpuks tooge töö uuesti esiplaanile fg . (Vt ka run-fg-editor redaktori käsk.) A ' ^ Z 'jõustub kohe ja on nagu katkestus selles, et ootel olev väljund ja lugemata sisend visatakse selle sisestamisel kõrvale. The oota builtin käsk paneb shell ootama kõigi tausttööde lõpuleviimist.

' ^] võti saadab viivitatud peatussignaali, mis ei genereeri STOP-signaali enne, kui programm seda proovib lugeda praegusele töökohale. Seda saab kasulikuks tippida juba siis, kui olete töö jaoks ette valmistanud mõned käsud, mille soovite lõpetada pärast seda, kui töö on need läbi loetud. ' ^ Ja 'klahv täidab seda funktsiooni csh ; aastal tcsh , ' ^ Ja 'on redigeerimiskäsk.

Taustal töötav töö peatub, kui see proovib terminalist lugeda. Tausttöödel lubatakse tavaliselt väljundit toota, kuid selle saab keelata, andes käsu ' stty tostop '. Kui määrate selle valiku tty, siis tausttööd peatuvad, kui nad üritavad väljundit toota nagu sisendi lugemisel.

Kestis olevatele töökohtadele viitamiseks on mitu võimalust. Tegelaskuju ' % tutvustab ametinime. Kui soovite viidata töökoha numbrile 1 , võite selle nimetada kui % 1 '. Juba töö nimetamine toob selle esiplaanile; seega ' % 1 'on' sünonüüm fg% 1 ', tuues 1. töö tagasi esiplaanile. Samamoodi öeldes: % 1 & 'jätkab tööd 1 taustal, nagu ka' bg% 1 '. Töö võib nimetada ka selle käivitamiseks sisestatud stringi ühemõttelise eesliitega: ' % endine 'taaskäivitaks tavaliselt peatatud endine töö, kui oleks ainult üks peatatud töö, mille nimi algas stringiga ' endine '. Samuti on võimalik öelda %? string ', et määrata töö, mille tekst sisaldab string , kui selliseid töid on ainult üks.

Kest säilitab arusaama praegustest ja eelmistest töökohtadest. Tööga seotud väljundis on praegune töö tähistatud tähega + 'ja eelmine töökoht tähega' - '. Lühendid ' % + ',' % 'ja (analoogia põhjal ajaloo mehhanismi süntaksiga)' %% 'kõik viitavad praegusele töökohale ja' % - 'viitab eelmisele töökohale.

Töökontrolli mehhanism nõuab, et stty variant ' uus 'seadistada mõnes süsteemis. See on artefakt uus draiveri tty rakendamine, mis võimaldab katkestusmärkide genereerimisel klaviatuurilt töö lõpetamiseks. Vaata stty ja väike sisseehitatud käsk, et saada üksikasju uue TTY draiveri valikute seadistamise kohta.

Olekuaruandlus

Kest õpib kohe, kui protsess muudab olekut. Tavaliselt teavitab ta teid alati, kui töö blokeeritakse, nii et edasised edusammud pole võimalikud, vaid alles enne viipa printimist. Seda tehakse nii, et see muidu teie tööd ei häiriks. Kui määrate siiski shellimuutuja teatama , teavitab kest teid kohe tausttööde oleku muutustest. Samuti on olemas shellikäsk teatama mis tähistab ühte protsessi, nii et selle staatuse muutustest teatatakse kohe. Vaikimisi tähistab teavitus praegust protsessi; ütle ' teatama 'pärast tausttöö alustamist selle märkimiseks.

Kui proovite kestast lahkuda, kui töökohad on lõpetatud, hoiatatakse teid, et 'peatatud töökohti on'. Võite kasutada töökohti käsk näha, mis need on. Kui teete seda või proovite kohe uuesti väljuda, ei hoia shell teid teist korda ja peatatud tööd lõpetatakse.

Automaatsed, perioodilised ja ajastatud sündmused

Shelli 'elutsükli' erinevatel aegadel saab käske käivitada ja muid toiminguid automaatselt teha mitmel viisil. Need on siin kokku võetud ja üksikasjalikult kirjeldatud vastava all Sisseehitatud käsud , Spetsiaalsed kestamuutujad ja Spetsiaalsed varjunimed .

The ajakava builtin käsk paneb käsud plaanitud sündmuste loendisse, mille shell peab teatud aja jooksul täitma.

The piiks cmd , cwdcmd , perioodiline , precmd , postcmd ja jobcmd Spetsiaalsed varjunimed saab vastavalt seadistada käskude täitmiseks, kui kest soovib kella helistada, kui töökataloog muutub, iga tperiood minutit enne iga viipa, enne iga käsu täitmist, pärast iga käsu täitmist ja töö alustamist või esiplaanile toomist.

The automaatne otsing shellimuutuja saab seadistada kest välja logima või lukustama pärast teatud arvu mitteaktiivsust.

The mail shellimuutuja saab seadistada perioodiliselt uute kirjade kontrollimiseks.

The printexitvalue shellimuutuja saab seada väljatrükkimiseks käskude väljumise oleku, mis väljuvad olekuga kui null.

The rmstar shellimuutuja saab seada küsima kasutajalt, millal ' rm * 'kirjutatakse, kui seda tegelikult mõeldi.

The aeg shellimuutuja saab seadistada sisseehitatud aja käsu täitmiseks pärast kõigi protsesside lõpuleviimist, mis võtavad rohkem kui etteantud arvu protsessori sekundeid.

The vaatama ja WHO shellimuutujaid saab seada teatama, kui valitud kasutajad sisse või välja logivad, ja logi sisseehitatud käsk annab nende kasutajate kohta igal ajal aru.

Emakeelsüsteemi tugi

Kest on kaheksa bitti puhas (kui jah koostatud ; vaata versioon shellimuutuja) ja toetab seega seda võimekust vajavaid tähemärke. NLS-i tugi erineb sõltuvalt sellest, kas kest kompileeriti süsteemi NLS-i kasutamiseks (vt uuesti versioon ). Mõlemal juhul 7-bitine ASCII on vaikimisi märgikood (nt klassifitseeritavate märkide klassifikatsioon) ja sortimine ning muutmine LANG või LC_CTYPE keskkonnamuutujad kontrollib nende aspektide võimalikke muutusi.

Süsteemi NLS-i kasutamisel setlocale funktsiooni kutsutakse sobiva märgikoodi / klassifikatsiooni ja sortimise määramiseks (nt et_CA.UTF-8 'annaks järele' UTF-8 tähemärgikoodina). See funktsioon uurib tavaliselt LANG ja LC_CTYPE keskkonnamuutujad; Lisateavet leiate süsteemi dokumentatsioonist. Kui süsteemi NLS-i ei kasutata, simuleerib kest seda, eeldades, et ISO 8859-1 märgistikku kasutatakse alati, kui kumbagi LANG ja LC_CTYPE muutujad on seatud, olenemata nende väärtustest. Simuleeritud NLS ei mõjuta sorteerimist.

Samuti nii reaalse kui ka simuleeritud NLS-i korral on kõik prinditavad tähemärgid vahemikus 200 - 377 , st need, millel on M-char-sidemed, taastatakse automaatselt ise sisesta-käsk . Vastav seondumine escape-char järjestusele, kui see on olemas, jääb üksi. Need märgid pole tagasilöögid, kui NOREBIND keskkonnamuutuja on seatud. See võib olla kasulik simuleeritud NLS-i või primitiivse reaalse NLS-i jaoks, mille eelduseks on täielik ISO 8859-1. Muidu kõik vahemikus olevad M-char sidemed 240 - 377 on tegelikult tagasi võetud. Asjakohaste võtmete selgesõnaline taasesitamine bindkey abil on muidugi endiselt võimalik.

Tundmatud tähemärgid (st need, mida ei saa printida ega kontrollmärke) prinditakse vormingus nnn . Kui tty pole 8-bitises režiimis, prinditakse ülejäänud 8-bitised tähemärgid, teisendades need ASCII-ks ja kasutades standout-režiimi. Kest ei muuda kunagi tty 7/8-bitist režiimi ja jälgib kasutaja algatatud 7/8-bitise režiimi muudatusi. NLS-i kasutajad (või siis need, kes soovivad kasutada metavõtit) võivad vajada tty selgesõnaliselt seadistamiseks 8-bitises režiimis stty käsk näiteks ~ / .login faili.

OS-i variandi tugi

Teatud operatsioonisüsteemide funktsioonide toetamiseks pakutakse mitmeid uusi sisseehitatud käske. Kõiki neid on üksikasjalikult kirjeldatud dokumendis Sisseehitatud käsud jaotises.

TCF-i toetavatel süsteemidel (aix-ibm370, aix-ps2) saab rada ja setpath saada ja määrata süsteemi käivitamise tee, getxvers ja setxvers hankige ja määrake eksperimentaalse versiooni eesliide ning migreerige protsesside saitide vahel migreerimine. The töökohti builtin prindib saidi, kus iga töö käib.

BS2000 alusel bs2cmd täidab aluseks oleva BS2000 / OSD operatsioonisüsteemi käske.

Domeeni / OS all inlib lisab praegusesse keskkonda jagatud teegid, juursõlm muudab juursõlme ja vaatama muudab süstüüpi.

Machi all, seatpath on samaväärne Machi omadega seatpath .

Masscomp / RTU ja Harris CX / UX alluvuses universum määrab universum .

Harris CX / UX all, ucb või kuni käivitab käsu määratud universumi all.

Jaotises Kumer / OS lõime prindib või seab universumi.

The MÜÜJA , OSTYPE ja MAKHTÜÜP keskkonnamuutujad näitavad vastavalt selle süsteemi müüjat, operatsioonisüsteemi ja masina tüüpi (mikroprotsessoriklass või masinamudel), millel shell arvab töötavat. Need on eriti kasulikud kodukataloogi jagamisel mitut tüüpi masinate vahel; võib näiteks

set path = (~/bin.$MACHTYPE /usr/ucb /bin /usr/bin .)

oma ~ / .login ja pange iga masina jaoks kompileeritud käivitatavad failid vastavasse kataloogi.

The versioon shell muutuja näitab, millised valikud olid koore koostamisel valitud.

Pange tähele ka newgrp sisseehitatud, detox ja echo_style kesta muutujad ja kesta sisendfailide süsteemist sõltuvad asukohad (vt Toimikud ).

Signaali käitlemine

Sisselogimiskarbid ignoreerivad faili lugemisel katkestusi ~ / .logout . Kest ignoreerib lõpetamist signaale kui sellega ei alustatud -q . Sisselogimiskoorid tabavad lõpetamise signaali, kuid sisselogimata kestad pärivad lõpetamise käitumise oma vanematelt. Teistel signaalidel on väärtused, mille kest vanemalt päris.

Kestskriptides saab juhtimisega katkestus- ja lõpetamissignaalide juhtimist juhtida onintr ja selle hangupide käsitlemist saab kontrollida hüppama ja nohup .

Kest väljub hangupist (vt ka Logi välja kest muutuja). Vaikimisi teevad seda ka kesta lapsed, kuid kest ei saada neile väljumisel hangupi. hüppama korraldab, et kest saadaks lapsele väljumisel hangupi ja nohup paneb lapse hanguppe eirama.

Terminalide haldamine

Kest kasutab kolme erinevat terminalirežiimi komplekti ('tty'): 'edit', mida kasutatakse redigeerimisel, 'quote', kasutatakse sõna-sõnalt märkide tsiteerimisel ja 'execute', mida kasutatakse käskude täitmisel. Kest hoiab mõnes režiimis mõnda seadistust konstantsena, nii et käsud, mis jätavad tty segadusse, ei häiri kesta. Kest vastab ka tty kiiruse ja polsterduse muutustele. Muutumatute režiimide loendit saab uurida ja muuta režiimiga väike sisseehitatud. Pange tähele, et kuigi redaktor kasutab režiimi CBREAK (või selle ekvivalenti), võtab see ikkagi trükitud märke.

The echotc , sett ja jutustama käske saab kasutada terminali võimaluste käsurealt manipuleerimiseks ja silumiseks.

Toetavate süsteemide kohta SIGWINCH või SIGWINDOW , kohaneb kest automaatselt akna suuruse muutmisega ja kohandab keskkonnamuutujaid RIDAD ja VEERUD kui see on seatud. Kui keskkonnamuutuja TERMCAP sisaldab juures# ja Mida# väljad, kohendab kest neid vastavalt uue akna suurusele.

Sisseehitatud käsud

  %i   job  
Sünonüüm fg sisseehitatud käsk.
  %   job   &  
Sünonüüm bg sisseehitatud käsk.
  :  
Ei tee midagi, edukalt.
  @   @   name   =   expr   @   name  [  index  ]  =   expr   @   name   ++  |  --   @   name  [  index  ]  ++  |  --  
Esimene vorm prindib kõigi kestamuutujate väärtused.

Teine vorm määrab väärtuse väljend kuni nimi . Kolmas vorm määrab väärtuse väljend Euroopa indeks osa komponent nimi ; mõlemad nimi ja selle indeks 'komponent peab juba olemas olema.

väljend võivad sisaldada operaatorite * ',' + 'jne C . Kui väljend sisaldab ' < ',' > ',' & 'või' ' 'siis vähemalt selle osa väljend tuleb paigutada () '. Pange tähele, et väljend pole midagi pistmist väljendite all kirjeldatuga.

Neljas ja viies moodustavad juurdekasvu (' ++ ') või vähendamine (' - ') nimi või selle nimi indeks kolmas komponent.

Ruum ' @ 'ja nimi on kohustuslik. Ruumid nende vahel nimi ja ' = 'ja' vahel = 'ja väljend on valikulised. Komponendid väljend tuleb tühikutega eraldada.
  alias  [  name  [  wordlist  ]]
Ilma argumentideta prindib kõik varjunimed. Koos nimi , prindib varjunime nimi . Koos nimi ja sõnaloend , määrab sõnaloend kui varjunimi nimi . sõnaloend on käsu- ja failinimega asendatud. nimi ei pruugi olla „alias” ega „unalias”. Vaata ka unaliad sisseehitatud käsk.
  alloc  
Näitab omandatud dünaamilise mälu mahtu, jaotatuna kasutatud ja vabaks mäluks. Argumendiga kuvatakse igas suuruskategoorias vabade ja kasutatud plokkide arv. Kategooriad algavad suurusest 8 ja kahekordistuvad igal sammul. Selle käsu väljund võib süsteemitüübi järgi erineda, kuna muud süsteemid kui VAX võivad kasutada erinevat mälujagurit.
  bg  [  %   job  ...]
Paneb määratud töö s (või argumentideta praegune töö) tagaplaanile, jätkates kumbagi, kui see peatatakse. töö võib olla number, string, ' , % , + või - nagu on kirjeldatud punktis Töökohad .
  bindkey  [  -l  |  -d  |  -e  |  -v  |  -u  ]  bindkey  [  -a  ] [  -b  ] [  -k  ] [  -r  ] [  --  ]  key   bindkey  [  -a  ] [  -b  ] [  -k  ] [  -c  |  -s  ] [  --  ]  key   command  
Ilma valikuteta loetleb esimene vorm kõik seotud võtmed ja redaktori käsu, millega kumbki on seotud, teises vormis on redaktori käsk, millega võti on seotud, ja kolmas vorm seob redaktori käsu võtmega. Valikute hulka kuuluvad:

-L Loetleb kõik redaktori käsud ja nende lühikirjeldus.
-d Seob kõik võtmed redaktori standardsidemetega.
-on Seob kõik võtmed standardsete GNU Emacs-laadsete köidete külge.
-v Seob kõik võtmed standardile meie -taolised köited.
-le Loendab või muudab alternatiivses võtmekaardil võtmete sidumist. See on põhikaart, mida kasutatakse meie käsurežiim.
-b võtit tõlgendatakse kui kirjutatud kontrollmärki ^ iseloomu (nt ' ^ A ') või C - iseloomu (nt ' C - TO '), kirjutatud metakangelane M - iseloomu (nt ' M - TO '), funktsiooniklahv on kirjutatud F - string (nt ' F - string ') või laiendatud eesliidevõti kirjutatud X - iseloomu (nt ' X - TO ').
-le võtit tõlgendatakse kui sümboolset nooleklahvi nime, mis võib olla üks alla ',' üles ',' vasakule 'või' eks '.
-r Eemaldab võtme sidumise. Ole ettevaatlik: ' bindkey -r 'ei seo võtit ise sisesta-käsk , seob see võtme täielikult lahti.
-c käsku tõlgendatakse redigeerija käsu asemel sisseehitatud või välise käsuna.
-s käsk võetakse sõnasõnalise stringina ja käsitletakse terminali sisendina, kui võti sisestatakse. Seotud võtmeid käsus tõlgendatakse ise ja seda jätkub kümme tõlgendustaset.
- Sunnib pausi valikute töötlemisel, nii et järgmine sõna võetakse võtmeks, isegi kui see algab tähega - '.
-u (või mis tahes sobimatu valik) Prindib kasutusteate.
võti võib olla üks märk või string. Kui käsk on seotud stringiga, on stringi esimene märk seotud järjestus-sissejuhatus ja kogu string on seotud käsuga.

Juhtmärgid võti võivad olla sõnasõnalised (neid saab tippida redaktorikäsuga eelnedes tsiteeritud-sisesta , tavaliselt seotud ^ V ') või kirjalik ei -märgi stiil, nt ' ^ A '. Kustuta on kirjutatud ' ^? '(märk-küsimärk). võti ja käsk võivad sisaldada tagasilöögiga põgenemisjärjestusi (Süsteemi V stiilis viskas välja ) järgnevalt:

to Kelluke
b Tagasilükkeklahv
on Põgeneda
f Vormivoog
n Uus rida
r Vankri tagasipöördumine
t Horisontaalne sakk
v Vertikaalne vahekaart
nnn The ASCII märk, mis vastab kaheksandarvule nnn
' 'nullib järgmise märgi eritähenduse, kui sellel on, eriti' 'ja' ^ '.
  bs2cmd   bs2000-command  
Passid bs2000-käsk Euroopa BS2000 käsutõlk täitmiseks. Käivitada saab ainult mitteinteraktiivseid käske ja pole võimalik käivitada ühtegi käsku, mis kataks praeguse protsessi pildi, näiteks / TÄITA või / KÕNEPROTSEDUUR . (Ainult BS2000)
  break  
Põhjustab täitmise jätkamist pärast lähima ümbrise lõppu igaühele või samas . Praeguse rea ülejäänud käsud täidetakse. Mitmetasandiline murda s on seega võimalik, kirjutades need kõik ühele reale.
  breaksw  
Põhjustab a murda alates lüliti , jätkatakse pärast endsw .
  builtins  
Prindib kõigi sisseehitatud käskude nimed.
  bye  
Sünonüüm Logi välja sisseehitatud käsk. Saadaval ainult siis, kui kest on nii kompileeritud; vaata versioon kest muutuja.
  case   label   :  
Sild lüliti avalduses, nagu allpool arutletud.
  cd  [  -p  ] [  -l  ] [  -n  |  -v  ] [  I--  ] [  name  ]
Kui kataloogi nimi on antud, muudab kest oma töökataloog kuni nimi . Kui ei, siis muutub Kodu . Kui nimi on ' - 'seda tõlgendatakse eelmise töökataloogina (vt Muud asendused ). Kui nimi ei ole praeguse kataloogi alamkataloog (ja ei alga tähega ' / ',' ./ 'või' ../ '), kontrollitakse muutuja cdpath iga komponenti, et näha, kas sellel on alamkataloogi nimi. Lõpuks, kui kõik muu ebaõnnestub, kuid nimi on shellimuutuja, mille väärtus algab / ', siis proovitakse seda kontrollida, kas see on kataloog.

Koos -p , prindib lõpliku kataloogivirna, täpselt nagu dirs . The -L , -n ja -v lippudel on sama mõju CD nagu edasi dirs ja nad annavad mõista -p . Kasutamine - sunnib a murda alates valikutöötlusest, nii et järgmine sõna võetakse katalooginimeks, isegi kui see algab tähega ' - '.

Vaata ka implicitcd kest muutuja.
  chdir  
Sünonüüm CD sisseehitatud käsk.
  complete  [  command  [  word   /   pattern   /   list  [  :   select  ]  /  [[  suffix  ]  /  ] ...]]
Ilma argumentideta loetleb kõik täiendused. Koos käsk , loetleb domeeni käsk . Koos käsk ja sõna jne, määratleb lõpetused.

käsk võib olla käsu täielik nimi või glob-muster (vt Failinime asendus). See võib alata - tähistab, et lõpetamist tuleks kasutada ainult siis, kui käsk on mitmetähenduslik.

sõna määrab, milline sõna praeguse sõna suhtes tuleb täita, ja see võib olla üks järgmistest:

c Praegune sõna lõpuleviimine. muster on glob-muster, mis peab vastama käsureal oleva praeguse sõna algusele. muster aktiivse sõna täitmisel eiratakse.
C Meeldib c , kuid sisaldab muster praeguse sõna lõpuleviimisel.
n Järgmise sõna lõpetamine. muster on glob-muster, mis peab vastama käsurea eelmise sõna algusele.
N Meeldib n , kuid peab vastama sõna algusele kaks enne praegust sõna.
lk Asukohast sõltuv lõpetamine. muster on arvuline vahemik, sama süntaksiga, mida kasutatakse kesta muutujate indekseerimiseks, mis peab sisaldama praegust sõna.
nimekirja , võimalike täienduste loend võib olla üks järgmistest:

kuni Varjunimed
b Köited (redaktori käsud)
c Käsud (sisseehitatud või välised käsud)
C Välised käsud, mis algavad kaasasoleva tee eesliitega
d Kataloogid
D Kataloogid, mis algavad kaasasoleva tee eesliitega
on Keskkonnamuutujad
f Failinimed
F Failinimed, mis algavad kaasasoleva tee eesliitega
g Grupinimed
j Töökohad
l Piirid
n Ei midagi
s Shelli muutujad
S Signaalid
t Tavalised failid (tekst)
T Tavalised (tekst) failid, mis algavad kaasasoleva tee eesliitega
v Kõik muutujad
u Kasutajanimed
x Meeldib n , kuid prindid valivad millal nimekiri-valikud kasutatakse.
X Lõpetused
$ kus Sõnad muutujast kus
( ... ) Sõnad antud loendist
' ... ' Sõnad käsu väljundist
valige on valikuline glob-muster. Kui antakse, siis sõnad ainult nimekirja see matš valige peetakse ja fignore shellimuutujat ignoreeritakse. Viimasel kolmel lõpetamise tüübil ei pruugi olla a valige muster ja x kasutab valige selgitava sõnumina, kui nimekiri-valikud kasutatakse redaktori käsku.

järelliide on üks märk, mis lisatakse edukale lõpuleviimisele. Kui null, pole märki lisatud. Kui see välja jätta (sellisel juhul võib ära jätta ka neljanda eraldaja), lisatakse kataloogidele kataloogi ja teistele sõnadele tühik.

käsk kutsutud ' ... ' versioonil on täiendav keskkonnamuutuja komplekt, muutuja nimi on COMMAND_LINE ja sisaldab (nagu nimigi osutab) praeguse (juba sisestatud) käsurea sisu. Võib uurida ja kasutada COMMAND_LINE muutuja oma kohandatud skriptis keerukamate lõpuleviimide loomiseks (vt svn pakendis).

Nüüd mõned näited. Mõni käsk võtab argumentidena ainult katalooge, seega pole mõtet tavalisi faile täita.

complete cd 'p/1/d/'
täidab ainult järgmise sõna ' CD '(' p / 1 ') kataloogiga. p-tüüp lõpetamist saab kasutada ka käsu täitmise kitsendamiseks:

> co[^D]
complete compress
complete -co* 'p/0/(compress)/'
co[^D]
compress
Selle lõpuleviimisega lõpetatakse käsud (sõnad positsioonil 0, ' p / 0 ') mis algavad tähega Mida '(seega sobib' Mida* ') kuni' suruma '(ainus sõna loendis). Juhtiv - 'näitab, et seda lõpuleviimist kasutatakse ainult mitmetähenduslike käskudega.

complete find 'n/-user/u/'
on näide n -tüübi valmimine. Suvaline sõna leidma 'ja kohe järgneb' -kasutaja 'on kasutajate loendist täidetud.

complete cc 'c/-I/d/'
demonstreerib c -tüübi valmimine. Suvaline sõna DC 'ja algab' -Ma 'on täidetud kataloogina. ' -Ma 'ei võeta kataloogi osana, kuna kasutasime väiketähti c .

Erinevad loendid on kasulikud erinevate käskudega.

complete alias 'p/1/a/'
complete man 'p/*/c/'
complete set 'p/1/s/'
complete true 'p/1/x:Truth has no options./'
Need täielikud sõnad järgnevad sõnale teise nimega 'varjunimedega' mees 'käskudega ja' seatud 'shellimuutujatega. ' tõsi 'ei ole ühtegi võimalust, nii et x ei tee midagi, kui proovitakse lõpule viia ja trükitakse 'Tõel pole valikuid'. kui valmimisvalikud on loetletud.

Pange tähele, et mees ja mitmed teised allpool toodud näited oleksid sama hästi võinud kasutada c / * 'või' n / * 'nagu' p / * '.

Sõnu saab täiendada muutujaga, mida hinnatakse valmimise ajal,

complete ftp 'p/1/$hostnames/'
set hostnames = (rtfm.mit.edu tesla.ee.cornell.edu)
ftp [^D]
rtfm.mit.edu tesla.ee.cornell.edu
ftp [^C]
set hostnames = (rtfm.mit.edu tesla.ee.cornell.edu uunet.uu.net)
ftp [^D]
rtfm.mit.edu tesla.ee.cornell.edu uunet.uu.net
või lõpetamise ajal käivitatud käsust:

complete kill 'p/*/'ps | awk {print $1}'/'
kill -9 [^D]
23113 23377 23380 23406 23429 23529 23530 PID
Pange tähele, et täielik käsk ise oma argumente ei tsiteeri, nii et traksid, tühik ja ' $ 'sisse' {print $ 1} 'tuleb tsiteerida selgesõnaliselt.

Ühel käsul võib olla mitu lõpuleviimist:

complete dbx 'p/2/(core)/' 'p/*/c/'
täiendab teist argumenti dbx 'sõnaga' tuum 'ja kõik muud käsudega argumendid. Pange tähele, et positsiooni täitmine on täpsustatud enne järgmine sõna valmimine. Sest lõpetusi hinnatakse vasakult paremale, kui järgmine sõna täpsustati kõigepealt, et see sobiks alati ja positsioonilist lõpetamist ei täideta kunagi. See on lõpetuse määratlemisel tavaline viga.

Valimismuster on kasulik, kui käsk võtab argumentidena faile, millel on ainult kindlad vormid. Näiteks,

complete cc 'p/*/f:*.[cao]/'
lõpetab ' DC 'argumendid ainult lõpuga failidele' .c ',' .et 'või' või '. valige võib faile ka välja jätta, kasutades globen-mustri eitust, nagu on kirjeldatud jaotises Failinime asendamine. Võib kasutada

complete rm 'p/*/f:^*.{c,h,cc,C,tex,1,man,l,y}/'
väärtusliku lähtekoodi väljajätmiseks rm valmimine. Muidugi võiks välistatud nimesid ikkagi käsitsi sisestada või lõpetamismehhanismi tühistada täielik-sõna-toores või nimekiri-valikud-toores redaktori käsud.

' C ',' D ',' F 'ja' T 'nimekirjad on nagu' c ',' d ',' f 'ja' t ', kuid nad kasutavad valige argument teisel viisil: piirata lõpetamist failidega, mis algavad kindla tee eesliitega. Näiteks kasutab Elmi meiliprogramm ' = 'kui lühend oma postkataloogist. Võib kasutada

complete elm [email protected] [email protected] :$HOME/Mail/@
lõpetama ' jalakas -f = 'nagu oleks' jalakas -f ~ / Mail / '. Pange tähele, et me kasutasime @ ' selle asemel ' / 'segiajamise vältimiseks valitud argumendiga ja me kasutasime' $ KODU ' selle asemel ' ~ ', sest kodukataloogi asendamine töötab ainult sõna alguses.

järelliide kasutatakse mittestandardse järelliite (mitte ruumi või ' / 'kataloogide jaoks' lõpetatud sõnadeni.

complete finger 'c/*@/$hostnames/' 'p/1/u/@'
täiendab argumente sõrm 'kasutajate loendist lisab' @ 'ja lõpeb pärast' @ ' alates ' hostinimed 'muutuja. Pange uuesti tähele järjekorda, milles lõpetused täpsustatakse.

Lõpuks on siin inspiratsiooni kompleksne näide:

complete find  'n/-name/f/' 'n/-newer/f/' 'n/-{,n}cpio/f/'  'n/-exec/c/' 'n/-ok/c/' 'n/-user/u/'  'n/-group/g/' 'n/-fstype/(nfs 4.2)/'  'n/-type/(b c d f l p s)/'  'c/-/(name newer cpio ncpio exec ok user  group fstype type atime ctime depth inum  ls mtime nogroup nouser perm print prune  size xdev)/'  'p/*/d/'
See lõpetab sõnad pärast -nimi ',' - uus ',' -cpio 'või' ncpio '(pange tähele mustrit, mis sobib mõlemaga) failidele, järgnevad sõnad' -exec 'või' -Okei 'käsud, sõnad järgnevad' kasutaja 'ja' Grupp 'vastavalt kasutajatele ja rühmadele ning sõnad järgnevad' -tüüp 'või' -tüüp 'antud nimekirja liikmetele. See täiendab ka antud loendis olevad lülitid ise (pange tähele, kuidas c -tüübi lõpuleviimine) ja lisab kataloogi kõik, mida muidu pole lõpetatud.

Pidage meeles, et programmeeritud täiendusi eiratakse, kui lõpetatav sõna on tilde asendus (algusega ' ~ ') või muutuja (algab' $ '). täielik on eksperimentaalne funktsioon ja süntaks võib kesta tulevastes versioonides muutuda. Vaata ka mittetäielik sisseehitatud käsk.
  continue  
Jätkab lähima ümbrise täitmist samas või igaühele . Ülejäänud praeguse rea käsud täidetakse.
  default:  
Sildistab vaiketähe lüliti avalduses. See peaks tulema kõigi juhtumite siltide järele.
  dirs  [  -l  ] [  -n  |  -v  ]  dirs   -S  |  -L  [  filename  ]  dirs -c  
Esimene vorm prindib kataloogivirna. Virna ülaosa on vasakul ja virna esimene kataloog on praegune kataloog. Koos -L , ' ~ 'või' ~ nimi 'väljundis laiendatakse selgesõnaliselt kasutaja nimeks kodu või kodukataloogi teenimi. Koos -n , kirjed mähitakse enne, kui need ekraani servani jõuavad. Koos -v , trükitakse kirjed üks rida, millele eelneb nende virna positsioon. Kui neid on rohkem kui üks -n või -v antakse, -v on ülimuslik. -p aktsepteeritakse, kuid ei tee midagi.

Koos -S , teine ​​vorm salvestab kataloogivirna failinimesse seeriana CD ja pushd käsud. Koos -L , kestallikad faili nimi , mis on arvatavasti kataloogivirna fail, mille on salvestanud -S valik või päästetud mehhanism. Mõlemal juhul, dirsfile kasutatakse juhul, kui faili nimi ei anta ja ~ / .cshdirs kasutatakse juhul, kui dirsfile on määramata.

Pange tähele, et sisselogimise kestad on samaväärsed dirs -L 'käivitamisel ja kui päästetud on seatud, ' dirs -S enne väljumist. Sest ainult ~ / .tcshrc hangitakse tavaliselt enne ~ / .cshdirs , dirsfile tuleks sisse seada ~ / .tcshrc pigem kui ~ / .login . Viimane vorm kustutab kataloogivirna.
  echo  [  -n  ]  word  ...
Kirjutab iga sõna kesta standardväljundisse, eraldatuna tühikutega ja lõpetades uue reaga. The echo_style Shelli muutuja võib seada jäljendama (või mitte) BSD ja / või süsteemi V versioonid viskas välja .
  echotc  [  -sv  ]  arg  ...
Harjutab terminali võimalusi (vt termcap ) sisse vaidleb vastu . Näiteks, ' echotc kodu 'saadab kursori koduasendisse,' echotc cm 3 10 saadab selle veergu 3 ja 10 ning echotc ts 0; kaja 'See on test.'; echotc fs 'prindib' See on test. 'olekureal.

Kui vihane on ' baud ',' cols ',' read ',' meta 'või' vahelehed ', prindib selle võimaluse väärtuse (' jah 'või' mitte 'näitab, et terminalil on see võimalus olemas või puudub'). Seda võib kasutada selleks, et muuta shelliskripti väljund aeglases terminalis vähem verbose või piirata käsu väljundit ekraanil olevate ridade arvuga:

set history='echotc lines'
@ history--
Termcap-stringid võivad sisaldada metamärke, mis ei kaja korrektselt. Koorimuutuja määramisel terminali võimekuse stringile tuleks kasutada topelt jutumärke, nagu järgmises näites, mis paigutab kuupäeva olekureale:

set tosl=''echotc ts 0''
set frsl=''echotc fs''
echo -n '$tosl';date; echo -n '$frsl'
Koos -s , tagastavad olematud võimalused pigem tühja stringi kui vea põhjustamise. Koos -v , sõnumid on paljusõnalised.
  else   end   endif   endsw  
Vaadake programmi kirjeldust igaühele , kui , lüliti ja samas avaldused allpool.
  eval   arg  ...
Käsitleb argumente kesta sisendina ja täidab saadud käsu (d) praeguse kesta kontekstis. Seda kasutatakse tavaliselt käskude või muutuja asendamise tulemusena loodud käskude täitmiseks, kuna sõelumine toimub enne neid asendusi. Vaata tset valimi kasutamiseks eval .
  exec   command  
Käivitab määratud käsu praeguse kesta asemel.
  exit  [  expr  ]
Kest väljub kas määratud väärtusega väljend (avaldis, mida on kirjeldatud jaotises Väljendid) või ilma väljend , väärtusega 0 .
  fg  [  %   job  ...]
Toob täpsustatud töö s (või ilma argumentideta praegune töö) esiplaanile, jätkates igaüht, kui see peatatakse. töö võib olla number, string, % , + või - nagu on kirjeldatud töökohas. Vaata ka run-fg-editor toimetaja käsk.
  filetest   -   op   file  ...
Kehtib peal (mis on toimiku päringuoperaator, nagu on kirjeldatud jaotises Failipäringu operaatorid) igale faili ja tagastab tulemused tühikutega eraldatud loendina.
  foreach   name  (  wordlist  )...  end  
Määrab muutuja nime järjest igale domeeni liikmele sõnaloend ja täidab käskude jada selle käsu ja sobitamise vahel lõpp . Mõlemad igaühele ja lõpp peab ilmuma üksi eraldi ridadel. Sisseehitatud käsk jätkata saab kasutada tsükli enneaegseks jätkamiseks ja sisseehitatud käsuks murda ennetähtaegselt lõpetada. Kui seda käsku terminalist loetakse, loetakse silmust üks kord, kui küsitakse igaühele? '(või viip2 ) enne mis tahes tsükli lausete täitmist. Kui teete vea, kirjutades terminali silmusesse, võite selle välja hõõruda.
  getspath  
Prindib süsteemi käivitamise tee. (Ainult TCF)
  getxvers  
Prindib eksperimentaalse versiooni eesliite. (Ainult TCF)
  glob   wordlist  
Meeldib viskas välja , kuid ' -n 'parameetrit ei tuvastata ja sõnad piiritletakse väljundis nullmärkidega. Kasulik programmide jaoks, mis soovivad kasutada shellit sõnaloendi failinime laiendamiseks.
  goto   word  
sõna on failinimi ja käsk asendatud, et saada string vormis ' silt '. Kest kerib oma sisendit nii palju kui võimalik, otsib rida kujul ' silt: ', millele võib eelneda tühjad kohad või vahelehed, ja see jätkub pärast seda rida.
  hashstat  
Prindib statistikarea, mis näitab, kui tõhus on sisemine räsitabel käskude leidmisel (ja vältimisel exec s). An exec proovitakse tee iga komponendi jaoks, kus räsifunktsioon näitab võimalikku lööki, ja igas komponendis, mis ei alga tähega ' / '.

Masinatel ilma vfork , prindib ainult räsikoppide arvu ja suuruse.
  history  [  -hTr  ] [  n  ]  history -S  |  -L  |  -M  [  filename  ]  history -c  
Esimene vorm prindib ajaloosündmuste loendi. Kui n antakse ainult n viimased sündmused prinditakse või salvestatakse. Koos -h , ajaloo loend trükitakse ilma juhtnumbriteta. Kui -T on täpsustatud, trükitakse ajatemplid ka kommentaaridena. Seda saab kasutada failide loomiseks, mis sobivad ajalugu -L 'või' allikas -h '. Koos -r , on printimise järjekord kõige uuem esimesena, mitte kõige vanem.

Koos -S , teine ​​vorm salvestab ajaloo loendi kausta faili nimi . Kui esimene sõna savehist shellimuutujaks on määratud arv, maksimaalselt nii palju ridu on salvestatud. Kui teine ​​sõna savehist on määratud mine ', ajaloo loend liidetakse olemasoleva ajaloofailiga selle asendamise asemel (kui seda on) ja sorteeritakse ajatempli järgi. Ühinemine on mõeldud keskkonda nagu X Window System, millel on samaaegselt mitu kestat. Praegu õnnestub see alles siis, kui kestad üksteise järel kenasti lakkavad.

Koos -L , kest lisatakse faili nimi , mis on arvatavasti ajaloo loend, mille on salvestanud -S valik või savehist mehhanismi, ajaloo loendisse. -M on nagu -L , kuid sisu faili nimi liidetakse ajaloo loendisse ja sorteeritakse ajatempli järgi. Mõlemal juhul, histfail kasutatakse juhul, kui faili nimi ei anta ja ~ / .ajalugu kasutatakse juhul, kui histfail on määramata. ' ajalugu -L 'on täpselt nagu' allikas -h 'välja arvatud see, et see ei nõua failinime.

Pange tähele, et sisselogimise kestad on samaväärsed ajalugu -L 'käivitamisel ja kui savehist on seatud, ' ajalugu -S enne väljumist. Sest ainult ~ / .tcshrc hangitakse tavaliselt enne ~ / .ajalugu , histfail tuleks sisse seada ~ / .tcshrc pigem kui ~ / .login .

Kui histlit on seatud, prindib ja salvestab esimene ja teine ​​vorm ajaloo loendi sõnasõnalise (laiendamata) vormi.

Viimane vorm kustutab ajaloo loendi.
  hup  [  command  ]
Koos käsk , jookseb käsk selline, et väljub hangupist signaal ja korraldab, et kest saadaks talle hangup signaali, kui kest väljub. Pange tähele, et käsud võivad seada oma vastuse hangupidele, alistades hüppama . Põhjenduseta põhjustab mitteinteraktiivne kest ainult ülejäänud skripti hangupist väljumise. Vaata ka Signaali käsitsemine ja nohup sisseehitatud käsk.
  if (   expr   )   command  
Kui väljend (avaldis, nagu on kirjeldatud punktis Avaldised ) hindab true, siis käivitatakse käsk. Muutuv asendus sisse lülitatud käsk juhtub varakult, samal ajal ka ülejäänud kui käsk. käsk peab olema lihtne käsk, mitte varjunimi, torujuhe, käsuloend või sulgudes olev käskude loend, kuid sellel võib olla argumente. Sisendi / väljundi ümbersuunamine toimub isegi siis, kui väljend on vale ja käsku ei täideta; see on viga.
  if (   expr   ) then  ...  else if (   expr2   ) then  ...  else  ...  endif  
Kui täpsustatud väljend on tõsi, siis käsklused esimesele muud hukatakse; muidu kui ex2 on tõene, siis käsklused teisele muud hukatakse jne. Mis tahes arv muidu-kui paarid on võimalikud; ainult üks endif on vaja. The muud osa on samuti valikuline. Sõnad muud ja endif peab ilmuma sisendrida alguses; kui peab ilmuma oma sisendjoonel üksi või pärast muud .
  inlib   shared-library  ...
Lisab igaüks jagatud raamatukogu praegusele keskkonnale. Jagatud teeki ei saa kuidagi eemaldada. (Ainult domeen / OS)
  jobs  [  -l  ]
Loetleb aktiivsed töökohad. Koos -L , loetleb lisaks tavalisele teabele ka protsessi ID-d. TCF-süsteemides prindib saidi, kus iga töö toimub.
  kill  [  -s   signal  ]  %   job  |  pid  ...  kill -l  
Esimene ja teine ​​vorm saadavad määratud signaali (või kui seda pole antud, siis TERM (lõpetada) signaal) määratud töödele või protsessidele. töö võib olla number, string, % , + või - nagu on kirjeldatud töökohas. Signaalid antakse kas numbri või nime järgi (nagu on esitatud jaotises /usr/include/signal.h , eemaldatud eesliitest ' SIG '). Vaiketööd pole; lihtsalt öeldes tapma 'ei saada praegusele tööle signaali. Kui saadetav signaal on TERM (lõpetada) või HUP (hangup), siis saadetakse töö või protsess a KONTO (jätkata) signaali samuti. Kolmas vorm loetleb signaalinimed.
  limit  [  -h  ] [  resource  [  maximum-use  ]]
Piirab tarbimist praeguse protsessi ja iga selle loodud protsessi kaudu, et see ei ületaks eraldi maksimaalselt kasutatav määratud ressursil. Kui ei maksimaalselt kasutatav antakse, siis trükitakse praegune piir; kui ressurssi ei anta, on antud kõik piirangud. Kui -h antud lipp, kasutatakse praeguste piiride asemel kõvasid piire. Karmid piirid kehtestavad praeguste piiride väärtustele ülemmäära. Ainult superkasutaja võib tõsta rangeid piire, kuid kasutaja võib praeguseid piire seaduslikus vahemikus langetada või tõsta.

Juhitavad ressursid hõlmavad praegu (kui OS toetab):

cputime igas protsessis kasutatava maksimaalse protsessorisekundite arv
faili suurus suurim üksik fail, mida saab luua
andmeside andmete + virna piirkonna maksimaalne kasv kaudu sbrk pärast programmi teksti lõppu
virnasuurus automaatselt laiendatud virna piirkonna maksimaalne suurus
coredumpsize loodava suurima südamiku prügila suurus
mälukasutus maksimaalne füüsilise mälu maht, mille protsess võib talle teatud aja jooksul eraldada
vmemoryuse maksimaalne virtuaalse mälu maht, mille protsess võib talle teatud aja jooksul eraldada (aadressiruum)
vmemoryuse maksimaalne virtuaalse mälu maht, mille protsess võib talle teatud aja jooksul eraldada
kuhjaga maksimaalne mälumaht, mille protsess võib eraldada brk () süsteemikõne
kirjeldajad või avatud failid selle protsessi jaoks avatud failide maksimaalne arv
samaaegsus selle protsessi maksimaalne niitide arv
mälust lukustatud maksimaalne suurus, mille protsess võib mällu lukustada mlock
maxproc selle kasutaja ID jaoks samaaegsete protsesside maksimaalne arv
sbsize selle kasutaja jaoks mõeldud pistikupuhvri maksimaalne suurus
vahetama selle kasutaja jaoks reserveeritud või kasutatud maksimaalne vahetusruumi maht
makslukud selle kasutaja maksimaalne lukkude arv
maxsignaal selle kasutaja ootel signaalide maksimaalne arv
maxmessage selle kasutaja maksimaalne baitide arv POSIX mošeedes
maxnice maksimaalselt tore prioriteet, mida kasutajal on lubatud kaardistada asukohast [ 19 ... - kakskümmend ] kuni [ 0 ... 39 ] selle kasutaja jaoks
maksimaalselt kasutatav võib anda (ujuva punkti või täisarvuna) arvuna, millele järgneb skaalategur. Kõigi muude piiride jaoks kui cputime vaikeskaala on ' kuni 'või' kilobaiti '(1024 baiti); mastaabitegur ' m 'või' megabaiti 'või' g 'või' gigabaiti 'võib kasutada ka'. Sest cputime vaikeskaala on ' sekundit ', samas' m 'minutit või' h 'tundide kaupa või vormi aeg' mm : ss Võib kasutada minutit ja sekundit.

Kui maksimaalselt kasutatav on ' piiramatu ', siis eemaldatakse määratud ressursi piirang (see on samaväärne ressursiga piiramatu sisseehitatud käsk).

Nii ressursinimede kui ka skaalategurite jaoks piisab nimede üheselt mõistetavatest eesliidetest.
  log  
Prindib vaatama shellimuutuja ja aruanded iga valvesse märgitud kasutaja kohta, kes on sisse loginud, olenemata sellest, millal nad viimati sisse logisid. Vaadake ka jälgimispäevik .
  login  
Lõpetab sisselogimiskesta, asendades selle eksemplariga / bin / login . See on üks viis välja logida, mis on lisatud ühilduvusega sh .
  logout  
Lõpetab sisselogimiskesta. Eriti kasulik, kui eiramine on seatud.
  ls-F  [  -   switch  ...] [  file  ...]
Loetleb selliseid faile nagu ' ls -F ', kuid palju kiiremini. See identifitseerib loendis iga erifaili tüübi erimärgiga:

/ Kataloog.
* Täidetav.
# Blokeerige seade.
% Märkide seade.
| Nimega toru (ainult nimetud torudega süsteemid).
= Pistikupesa (ainult pistikupesadega süsteemid).
@ Sümboolne link (ainult sümboolsete linkidega süsteemid).
+ Peidetud kataloog (ainult AIX) või kontekstist sõltuv (ainult HP / UX).
: Spetsiaalne võrk (ainult HP / UX).
Kui nimekirja linke shellimuutuja on määratud, sümboolsed lingid tuvastatakse üksikasjalikumalt (loomulikult ainult süsteemides, millel neid on):

@ Sümboolne link kataloogile, mis pole kataloog.
> Sümboolne link kataloogile.
& Sümboolne link kuhugi.
nimekirja linke aeglustub ka ls-F ja põhjused vaheseinad failide hoidmine, millele viitavad sümboolsed lingid monteeritud .

Kui listflags shellimuutuja on seatud väärtusele ' x ',' kuni 'või' TO 'või nende mis tahes kombinatsioon (nt' kaugel '), kasutatakse neid lipukestena ls-F , pannes selle käituma nagu ' ls -xF ',' ls -Fa ',' ls -FA 'või nende kombinatsioon (nt' ls -FxA '). Masinatel, kus ls -C 'pole vaikimisi, ls-F käitub nagu ' ls-CF ', kui ei listflags sisaldab ' x ', sel juhul see toimib nagu' ls -xF '. ls-F edastab oma argumendid ls kui talle antakse mingeid lüliteid, siis ' alias ls ls-F teeb üldiselt õiget asja.

The ls-F sisseehitatud saab faile loetleda erinevate värvidega, sõltuvalt failitüübist või laiendist. Vaadake Värv kest muutuja ja LS_COLORS keskkonnamuutuja.
  migrate  [  -   site  ]  pid  |  %   jobid  ...  migrate   -   site  
Esimene vorm migreerib protsessi või töö määratud saidile või vaikesaidile, mille määrab süsteemitee. Teine vorm on samaväärne migrate -site $$ ': see migreerib praeguse protsessi määratud saidile. Kesta enda migreerimine võib põhjustada ootamatut käitumist, kuna kest ei meeldi oma tty kaotada. (Ainult TCF)
  newgrp  [  -  ] [  group  ]
Samaväärne exec newgrp '; vaata newgrp. Saadaval ainult siis, kui kest on nii kompileeritud; vaata versioon kest muutuja.
  nice  [  +   number  ] [  command  ]
Määrab kesta ajastamise prioriteedi väärtuseks number või ilma number , to 4 . Koos käsk , jookseb käsk asjakohase prioriteediga. Mida suurem arv, seda vähem protsessorit protsess saab. The ülikasutaja võib määrata negatiivse prioriteedi, kasutades tore -number ... '. käsk käivitatakse alati alamkoores ja käskudele seatud piirangud lihtsalt kui kehtivad avaldused.
  nohup  [  command  ]
Koos käsk , jookseb käsk selline, et see ignoreerib hangup signaale. Pange tähele, et käsud võivad seada oma vastuse hangupidele, alistades nohup . Põhjenduseta paneb mitteaktiivne kest ainult ülejäänud skripti hanguppe ignoreerima. Vaata ka Signaali käsitsemine ja hüppama sisseehitatud käsk.
  notify  [  %   job  ...]
Paneb kesta teatama kasutajale asünkroonselt, kui mis tahes määratud töö olek (või ilma % töö , praegune töö) muutub, selle asemel, et oodata järgmise viipeni, nagu tavaliselt. töö võib olla number, string, % , + või - nagu on kirjeldatud punktis Töökohad . Vaata ka teatama kest muutuja.
  onintr  [  -  |  label  ]
Juhib kesta tegevust katkestustel. Ilma argumentideta taastab kestade vaiketoimingu katkestustel, milleks on shelliskriptide lõpetamine või terminalikäskude sisendtasemele naasmine. Koos - 'põhjustab kõigi katkestuste eiramist. Sildiga käivitab kest a ' goto silt 'kui katkestus saabub või lapse protsess lõpeb selle katkemise tõttu.

onintr eiratakse, kui kest töötab eraldiseisvalt ja süsteemi käivitusfailides (vt Toimikud ), kus katkestused on niikuinii keelatud.
  popd  [  -p  ] [  -l  ] [  -n  |  -v  ] [  +   n  ]
Ilma argumentideta hüppab kataloogivirna ja naaseb uude tippkataloogi. Numbriga ' + n ', viskab n kolmas kanne virnas.

Lõpuks kõik popd printige lõplik kataloogivirn, nagu ka dirs . The pushdsilent Selle ja selle vältimiseks saab määrata muutuja shell -p Pushsilent'i tühistamiseks võib anda lipu. The -L , -n ja -v lippudel on sama mõju popd nagu edasi dirs .
  printenv  [  name  ]
Prindib kõigi nimed ja väärtused keskkonnamuutujad või koos nimi , keskkonnamuutuja väärtus nimi .
  pushd  [  -p  ] [  -l  ] [  -n  |  -v  ] [  name  |  +   n  ]
Ilma argumentideta vahetab kataloogivirna kaks ülemist elementi. Kui pushdtohome on seatud, pushd ilma argumentideta teeb ' pushd ~ ', nagu CD . Koos nimi , lükkab praeguse töökataloogi kataloogivirna ja muutub nimi . Kui nimi on ' - 'seda tõlgendatakse eelmise töökataloogina (vt Failinime asendamine ). Kui dunique on seatud, pushd eemaldab kõik nimi enne virna peale surumist. Numbriga ' + n ', pöörab n kataloogide virna kolmas element on ülemine element ja muudab seda. Kui dextract on siiski seatud ' pushd + n 'väljavõtted n th kataloog, lükkab selle virna ülaosale ja muudab seda.

Lõpuks kõik pushd printige lõplik kataloogivirn, nagu ka dirs . The pushdsilent Selle ja selle vältimiseks saab määrata muutuja shell -p alistamiseks võib anda lipu pushdsilent . The -L , -n ja -v lippudel on sama mõju pushd nagu edasi dirs .
  rehash  
Põhjustab kataloogis olevate kataloogide sisu sisemist räsitabelit tee ümberarvutatav muutuja. Seda on vaja, kui autorehash shellimuutujat pole määratud ja kataloogis lisatakse uued käsud tee ajal, kui olete sisse logitud autorehash , leitakse uus käsk automaatselt, välja arvatud erijuhul, kui räsitabelis on juba olemas teine ​​samanimeline käsk, mis asub teises kataloogis. Tühjendab ka tilde laiendamisega loodud kodukataloogide vahemälu.
  repeat   count   command  
Täpsustatud käsk , mille suhtes kehtivad samad piirangud kui käsk täidetakse ühel real, kui ülaltoodud lause loendama korda. I / O ümbersuunamised toimuvad täpselt üks kord, isegi kui loendus on 0 .
  rootnode //   nodename  
Muudab juursõlme // sõlmenimi , nii et / 'tõlgendatakse kui' // sõlmenimi '. (Ainult domeen / OS)
  sched   sched  [  +  ]  hh  :  mm   command   sched   -n  
Esimene vorm prindib plaanitud sündmuste loendi. The ajakava shellimuutuja võib määrata vormi määratlemiseks, milles plaaniline sündmus nimekiri on prinditud. Teine vorm lisab käsule plaaniline sündmus nimekirja. Näiteks,

sched 11:00 echo It's eleven o'clock.
põhjustab kest kaja ' Kell on üksteist. kell 11.00. Kellaaeg võib olla 12-tunnises AM / PM-vormingus:

sched 5pm set prompt='[%h] It's after 5; go home'
või võib olla praeguse aja suhtes:

sched +2:15 /usr/lib/uucp/uucico -r1 -sother
Suhteline aja spetsifikatsioon ei pruugi kasutada AM / PM-vormingut. Kolmas vorm eemaldab üksuse n sündmuste loendist:

sched
1 Wed Apr 4 15:42 /usr/lib/uucp/uucico -r1 -sother2 Wed Apr 4 17:00 set prompt=[%h] It's after 5; go home
sched -2
sched
1 Wed Apr 4 15:42 /usr/lib/uucp/uucico -r1 -sother
Käsk plaaniline sündmus nimekiri käivitatakse vahetult enne esimese viiba printimist pärast käsu ajastamise aega. Käsu käivitamise täpset aega on võimalik vahele jätta, kuid tähtaja ületanud käsk täidetakse järgmisel viipal. Käsk, mis saabub siis, kui kest ootab kasutaja sisendit, käivitatakse kohe. Juba töötava käsu tavapärast tööd ei katkestata, nii et a plaaniline sündmus loendi elementi võib käivitada.

See mehhanism on sarnane, kuid mitte sama kell käsk mõnes Unixi süsteemis. Selle peamine puudus on see, et see ei pruugi käsku käivitada täpselt määratud ajal. Selle peamine eelis on see, et ajakava töötab otse kestast, sellel on juurdepääs kesta muutujatele ja muudele struktuuridele. See annab mehhanismi oma töökeskkonna muutmiseks vastavalt kellaajale.
  set   set   name  ...  set   name   =   word  ...  set  [  -r  ] [  -f  |  -l  ]  name   =  (  wordlist  ) ...  set   name  [  index  ]  =   word  ...  set   -r   set   -r   name  ...  set -r   name   =   word  ...
Esimene käsu vorm prindib kõigi shellimuutujate väärtuse. Muutujad, mis sisaldavad sulgudes sõnaloendina rohkem kui ühte sõna. Teine vorm määrab nimeks nullstringi. Kolmas vormikomplektid nimi ühe sõna juurde. Neljas vormikomplektid nimi sõnade loendisse sõnaloend . Kõigil juhtudel laiendatakse väärtust käsu- ja failinimega. Kui -r on määratud, väärtus seatakse kirjutuskaitstud. Kui -f või -L on täpsustatud, seatud ainult unikaalsed sõnad, mis hoiavad nende korda. -f eelistab sõna esmakordset esinemist ja -L viimane. Viies vorm seab indeks osa komponent nimi kuni sõna ; see komponent peab juba olemas olema. Kuues vorm loetleb ainult kõigi kirjutuskaitstud muutujate nimed. Seitsmes vorm teeb nimi kirjutuskaitstud, olenemata sellest, kas sellel on väärtus. Kaheksas vorm on sama mis kolmas vorm, kuid teeb nimi kirjutuskaitstud samal ajal.

Neid argumente saab korrata, et määrata ja / või teha ainult kirjutuskaitstud muutujaid ühe komplekti käsuga. Pange tähele, et muutuja laiendamine toimub kõigi argumentide puhul enne sätete toimumist. Pange tähele ka seda, et = 'võib olla nii nime kui ka sõna kõrval või eraldatud mõlemast tühikuga, kuid ei tohi olla külgnev ainult ühe või teisega. Vaata ka määramata sisseehitatud käsk.
  setenv  [  name  [  value  ]]
Ilma argumentideta prindib kõigi keskkonnamuutujate nimed ja väärtused. Antud nimi , määrab keskkonnamuutuja nimi kuni väärtus või ilma väärtus , null-stringini.
  setpath   path  
Samaväärne seatpath . (Ainult Mach)
  setspath   LOCAL  |  site  |  cpu  ...
Määrab süsteemi käivitamise tee. (Ainult TCF)
  settc   cap   value  
Käsib kestal uskuda, et terminali võimekuse piir (nagu määratletud punktis termcap ) on väärtus väärtus . Tervislikkuse kontrolli ei tehta. Kontseptsioonide kasutajatel võib tekkida vajadus settc xn nr ', et saada kõige paremas veerus korralik pakkimine.
  setty  [  -d  |  -q  |  -x  ] [  -a  ] [[  +  |  -  ]  mode  ]
Juhib, milliseid tty režiime (vt Terminalihaldus) kest ei luba muuta. -d , -q või -x jutustab väike tegutsema redigeeri ',' tsiteerida 'või' täitma 'vastavalt tty režiimide komplekt; ilma -d , -q või -x , ' täitma ' kasutatakse.

Ilma muude argumentideta väike loetleb valitud komplekti režiimid, mis on fikseeritud (' + režiimis ') või välja (' - režiimis '). Saadaolevad režiimid ja seeläbi kuvar varieeruvad süsteemiti. Koos -le , loetleb kõik valitud komplekti tty režiimid, olenemata sellest, kas need on fikseeritud või mitte. Koos + režiimis , - režiimis või režiimis , parandab režiimis sisse või välja või eemaldab juhtelemendi režiimis valitud komplektis. Näiteks, ' setty + kajakaja 'parandab' kaja 'režiim sisse ja võimaldab käskudel sisse lülituda' kaja režiim sisse või välja, mõlemad, kui kest käske täidab.
  setxvers  [  string  ]
Määrake katselise versiooni eesliide string või eemaldab selle, kui string on ära jäetud. (Ainult TCF)
  shift  [  variable  ]
Ilma argumentideta, viskab minema argv [1] ja vahetab argv vasakule. See on viga argv mitte seada või kui väärtuseks on vähem kui üks sõna. Muutujaga täidab muutujaga sama funktsiooni.
  source  [  -h  ]  name  [  args  ...]
Kest loeb ja täidab käske nimi . Käske ei lisata ajaloo loendisse. Kui mõni vaidleb vastu antakse, pannakse need sisse argv . allikas käsud võivad olla pesastatud; kui need on liiga sügavalt pesastatud, võib kest failide kirjeldajatest otsa saada. Viga a allikas igal tasandil lõpetab kõik pesastatud allikas käsud. Koos -h , paigutatakse käsud käivitamise asemel ajaloo loendisse, umbes nagu ' ajalugu -L '.
  stop   %   job  |  pid  ...
Peatab taustal täidetavad määratud tööd või protsessid. töö võib olla number, string, % , + või - nagu on kirjeldatud töökohas. Vaiketööd pole; lihtsalt öeldes peatus 'ei peata praegust tööd.
  suspend  
Paneb kest peatuma oma jälgedes, umbes nagu oleks talle saadetud peatumismärguandega ^ Z . Seda kasutatakse kõige sagedamini alustatud kestade peatamiseks selle .
  switch (   string   )   case   str1   :  ...  breaksw  ...  default:  ...  breaksw   endsw  
Iga juhtumi silt sobitatakse järjestikku vastavalt määratud stringile, mida kõigepealt laiendatakse käsu- ja failinimega. Faili metamärgid ' * ',' ? 'ja' [ ... ] 'võib kasutada muutuvate laiendustega korpuse siltides. Kui ükski silt ei sobi enne, kui leitakse 'vaikesilt', algab käivitamine pärast vaikesilti. Iga juhtumi silt ja vaikesilt peavad ilmuma rea ​​alguses. Käsk purunes põhjustab täitmise jätkumist pärast endsw . Vastasel juhul võib juhtimine langeda juhtumite ja vaikesiltide kaudu nagu C-s. Kui ükski silt ei ühti ja vaikimisi pole, jätkatakse täitmist pärast endsw .
  telltc  
Loetleb kõigi terminali võimaluste väärtused.
  termname  [  terminal type  ]
Testib, kui terminali tüüp (või praegune väärtus TERM kui terminalitüüpi pole antud) on hostides kirje termcap või terminfo andmebaasi. Prindib terminali tüübi stdouti ja tagastab 0, kui kirje on olemas, vastasel juhul tagastab 1.
  time  [  command  ]
Täidab käsk (mis peab olema lihtne käsk, mitte varjunimi, torujuhe, käsuloend või sulgudes olev käskude loend) ja prindib aja kokkuvõtte, nagu on kirjeldatud aeg muutuv. Vajadusel luuakse käsu valmimisel ajastatistika printimiseks lisakest. Ilma käsk , prindib praeguse koore ja selle laste aja kokkuvõtte.
  umask  [  value  ]
Määrab faili loomise mask kuni väärtus , mis on antud kaheksandis. Maski ühised väärtused on 002 , mis annab kogu juurdepääsu rühmale ning teistele lugemise ja teostamise ning 022 , andes grupile ja teistele lugemis- ja teostusjuurdepääsu. Ilma väärtuseta prindib praeguse faili loomise maski.
  unalias   pattern  
Eemaldab kõik varjunimed, mille nimed sobivad muster . ' unalias * 'eemaldab seega kõik varjunimed. See pole viga, kui mitte midagi pole unialias.
  uncomplete   pattern  
Eemaldab kõik lõpetused, mille nimed vastavad mustrile. ' mittetäielik * 'eemaldab seega kõik täiendused. See pole viga, kui miski jääb pooleli.
  unhash  
Keelab sisemise räsitabeli kasutamise käivitatud programmide asukoha kiirendamiseks.
  universe   universe  
Määrab universumi universum . (Ainult Masscomp / RTU)
  unlimit  [  -hf  ] [  resource  ]
Eemaldab ressursi piirangu või kui ressurssi pole määratud, siis kõik ressursside piirangud. Koos -h , vastavad kõvad piirid eemaldatakse. Ainult superkasutaja võib seda teha. Pange tähele, et piiramatu ei pruugi edukast väljuda, kuna enamik süsteeme ei luba deskriptoreid piirata. Koos -f vigu ignoreeritakse.
  unset   pattern  
Eemaldab kõik muutujad, mille nimed sobivad muster , kui need pole kirjutuskaitstud. ' määramata * 'eemaldab seega kõik muutujad, kui need pole kirjutuskaitstud; see on halb mõte. See ei ole viga, kui midagi pole lahti seatud.
  unsetenv   pattern  
Eemaldab kõik keskkonnamuutujad, mille nimed sobivad mustriga. ' unsetenv * 'eemaldab seega kõik keskkonnamuutujad; see on halb mõte. See pole viga, et mitte midagi pole unsetenv toim.
  ver  [  systype  [  command  ]]
Ilma argumentideta, prindib SÜSTEEM . Koos süstüüp , komplektid SÜSTEEM kuni süstüüp . Koos süstüüp ja käsk , täidab käsk all süstüüp . süstüüp võib olla ' bsd4.3 'või' sys5.3 '. (Ainult domeen / OS)
  wait  
Kest ootab kõiki tausttöid. Kui kest on interaktiivne, häirib katkestus ootamist ja sunnib kest printima kõigi täitmata tööde nimed ja töökohanumbrid.
  warp   universe  
Määrab universumi universum . (Ainult kumer / OS)
  watchlog  
Alternatiivne nimi logi sisseehitatud käsk. Saadaval ainult siis, kui kest on nii kompileeritud; vaata versioon kest muutuja.
  where   command  
Teatab kõigist teadaolevatest juhtumitest käsk , sealhulgas varjunimed, sisseehitatud ja käivitatavad failid tee .
  which   command  
Kuvab käsu, mille shell täidab pärast asendusi, teeotsimist jne. Sisseehitatud käsk on täpselt selline, mis aga aru annab õigesti tcsh varjunimed ja sisseehitatud funktsioonid ning on 10–100 korda kiirem. Vaata ka mis-käsk toimetaja käsk.
  while (   expr   )  ...  end  
Täidab käske samas ja sobitamine lõpp samas väljend (avaldis, mida on kirjeldatud jaotises Avaldised) hindab nulli. samas ja lõpp peavad oma sisendjoontel ilmuma üksi. murda ja jätkata võib kasutada silmuse ennetähtaegseks lõpetamiseks või jätkamiseks. Kui sisendiks on terminal, palutakse kasutajal esimest korda läbi tsükli nagu koos igaühele .

Spetsiaalsed varjunimed

Kui see on määratud, käivitatakse kõik need varjunimed näidatud ajal automaatselt. Need kõik on esialgu määratlemata.

piiks cmd Töötab siis, kui kest tahab terminalikella helistada.
cwdcmd Käivitatakse pärast iga töökataloogi muutmist. Näiteks kui kasutaja töötab X Window Systemi abil xterm ja uuesti vanemate akende haldur, mis toetab näiteks tiitliribasid twm ja teeb

alias cwdcmd 'echo -n '^[]2;${HOST}:$cwd ^G''
siis muudab kest jooksu pealkirja xterm olla host, koolon ja kogu praegune töökataloog. Fantantne viis seda teha on

alias cwdcmd 'echo -n '^[]2;${HOST}:$cwd^G^[]1;${HOST}^G''
See paneb hostinime ja töökataloogi tiitliribale, ikoonihalduri menüüsse aga ainult hosti nime.

Pange tähele, et a CD , pushd või popd aastal cwdcmd võib põhjustada lõpmatu ahela. Igaüks, kes seda teeb, saab selle, mida ta väärib.
jobcmd Käivitatakse enne iga käsu käivitamist või kui käsk muudab olekut. See on sarnane postcmd , kuid see ei trüki sisseehitatud.

alias jobcmd 'echo -n '^[]2;!#:q^G''
siis hukatakse vi foo.c paneb käsurea xterm tiitliriba.
abikomando Kutsutud jooksu-abi toimetaja käsk. Ainuargumendina antakse käsu nimi, mille jaoks abi otsitakse. Näiteks kui keegi seda teeb

alias helpcommand '!:1 --help'
seejärel kutsutakse käsu enda abinäidet, kasutades GNU abikõne konventsiooni. Praegu pole lihtsat viisi arvestada erinevate helistamiskonventsioonidega (nt tavaline Unix ' -h '), välja arvatud paljude käskude tabeli kasutamine.
perioodiline Töötab igaüks tperiood minutit. See pakub mugavat võimalust levinud, kuid harva toimuvate muudatuste, näiteks uue kirja kontrollimiseks. Näiteks kui keegi seda teeb

set tperiod = 30
alias periodic checknews
siis checknews programm kestab iga 30 minuti järel. Kui perioodiline on seatud aga tperiood on määramata või seatud kuni 0 , perioodiline käitub nagu precmd .
precmd Käivitatakse vahetult enne iga viiba printimist. Näiteks kui keegi seda teeb

alias precmd date
siis jookseb kuupäev vahetult enne, kui kest iga käsu jaoks küsib. Millel pole piire precmd saab teha, kuid tuleks kasutada kaalutlusõigust.
postcmd Käivitatakse enne iga käsu täitmist. Kui jooksed

alias postcmd 'echo -n '^[]2;!#:q^G''
siis hukatakse vi foo.c paneb käsurea kausta xterm tiitliriba.
kest Määrab tõlgi käivitatavate skriptide jaoks, mis ise ei määra tõlki. Esimene sõna peaks olema soovitud tõlgi täielik nimi (nt ' / bin / csh 'või' / usr / local / bin / tcsh ').

Spetsiaalsed kestamuutujad

Selles jaotises kirjeldatud muutujatel on kestale eriline tähendus. Kest asetub lisaliide , argv , automaatne otsing , csubstnonl , käsk , echo_style , redigeeri , giid , Grupp , Kodu , loginsh , oid , tee , viip , viip2 , viip3 , kest , shlvl , tcsh , tähtaeg , tty , uid , kasutaja ja versioon käivitamisel; need ei muutu pärast seda, kui kasutaja neid ei muuda. Kest uueneb cwd , dirstack , võlgu ja staatus kui vaja, ja seab Logi välja peal Logi välja .

Kest sünkroonib Grupp , Kodu , tee , shlvl , tähtaeg ja kasutaja ühesuguste nimedega keskkonnamuutujatega: alati, kui keskkonnamuutuja muudab kestat, muudab vastav shellimuutuja vastavaks (kui shellimuutuja pole kirjutuskaitstud) ja vastupidi. Pange tähele, et kuigi cwd ja PWD millel on identsed tähendused, neid ei sünkroonita sel viisil ja et kest teisendab automaatselt faili erinevad vormingud tee ja TEE .

lisaliide Kui see on määratud, lisab failinime lõpuleviimine ' / 'kataloogide lõppu ja tühik tavaliste failide lõppu, kui need täpselt kokku sobivad. Vaikimisi määratud.
detox Kui see on seatud, automaatne otsing Autolock-funktsioon kasutab kerberose autentimiseks oma väärtust kohaliku kasutajanime asemel.
ampm Kui see on määratud, kuvatakse kõik kellaajad 12-tunnises AM / PM-vormingus.
argv Argumendid kestale. Asukohaparameetrid on võetud argv , s.t. 1 dollar 'asendatakse tekstiga' $ argv [1] 'jne. Vaikimisi seatud, kuid interaktiivsetes kestades tavaliselt tühi.
automaatne parandus Kui see on määratud, käivitatakse õigekirja-sõna redaktori käsk enne iga lõpetamise katset.
auto Expand Kui see on seatud, laienda-ajalugu redaktori käsk käivitatakse enne iga lõpetamiskatset automaatselt. Kui see on seatud väärtusele ainult ajalugu , siis laieneb ainult ajalugu ja teine ​​valmimine laiendab failinimesid.
autolist Kui see on seatud, loetletakse võimalused pärast mitmetähenduslikku lõpetamist. Kui see on määratud mitmetähenduslik ', võimalused on loetletud ainult siis, kui lõpuleviimisel uusi märke ei lisata.
automaatne otsing Esimene sõna on tegevusetuse minutite arv enne automaatset väljalogimist. Valikuline teine ​​sõna on tegevusetuse minutite arv enne automaatset lukustamist. Kui kest automaatselt välja logib, prindib see automaatse väljalogimise, määrab muutuja Logi välja kuni automaatne ja väljub. Kui kest automaatselt lukustub, peab kasutaja töö jätkamiseks sisestama oma parooli. Viie vale katse tulemuseks on automaatne väljalogimine. Seatud ' 60 '(automaatne väljalogimine 60 minuti pärast ja ilma lukustamiseta) vaikimisi sisselogimise ja superkasutajate kestades, kuid mitte juhul, kui kest arvab, et see töötab aknasüsteemi (st EKRAAN keskkonnamuutuja on seatud), tty on pseudo-tty (pty) või pole kest nii kompileeritud (vt versioon kest muutuja). Vaata ka detox ja Logi välja kest muutujad.
autorehash Kui see on seatud, on kataloogis olevate kataloogide sisu sisemine räsitabel tee muutuja arvutatakse uuesti, kui käsku räsitabelist ei leita. Samuti luuakse saadaolevate käskude loend iga käsu lõpuleviimise või õigekirjaparandamise katse jaoks, kui see on seatud väärtusele ' täielik 'või' õige vastavalt; kui seatud väärtusele ' alati ', seda tehakse mõlemal juhul.
tagasilöögi_pakkumine Kui see on määratud, kaldkriips (' ') tsiteeri alati , ' ja ' . See võib keerukate ülesannete pakkumise lihtsustada, kuid see võib põhjustada süntaksi vigu csh skriptid.
kataloog Sõnumikataloogi failinimi. Kui see on seatud, tcsh kasutama ' tcsh. $ {catalog} 'vaikimisi sõnumikataloogina' tcsh '.
cdpath Nimekiri kataloogidest, milles CD peaks otsima alamkatalooge, kui neid ei leidu praeguses kataloogis.
Värv Kui see on määratud, võimaldab see sisseehitatud värvilist kuvamist ls-F ja see möödub --värv = auto kuni ls . Teise võimalusena saab selle seada ainult ls-F või ainult ls värvi lubamiseks ainult ühele käsule. Selle määramine tühiseks on samaväärne selle seadmisega (ls-f ls) .
värvikass Kui see on määratud, lubab see NLS-i sõnumifailide jaoks värvipõgenemisjärjestuse. Ja kuvage värvilisi NLS-sõnumeid.
käsk Kui see on määratud, siis käsk, mis edastati kestale koos -c lipp.
kaaslane_sõlm Kui see on määratud, hindab kest väljendeid paremalt vasakule, nagu originaali csh .
täielik Kui see on määratud süüteküünal ', muutub valmimine suurtähetundetuks. Kui see on määratud suurendada ', lõpetamisel ignoreeritakse väiketähti ning sidekriipsud ja alakriipsud on samaväärsed; see käsitleb ka punkte, sidekriipse ja alakriipse (' . ',' - 'ja' _ ') sõnade eraldajatena. Kui see on määratud Suurenda ', lõpuleviimine sobib selgesõnaliselt suurtähtede ja alakriipsudega ning väiketähtede ja sidekriipsudega suurtähetundetult; see käsitleb punkte, sidekriipse ja alakriipsusid sõnaeraldajatena.
jätkata Kui see on seatud käskude loendisse, jätkab shell loetletud käske selle asemel, et alustada uut.
jätkake_args Sama nagu jätkata , kuid kest täidab:

echo 'pwd' $argv > ~/._pause; %
õige Kui see on määratud cmd ', korrigeeritakse käske õigekirja automaatselt. Kui see on määratud täielik ', käsud lõpetatakse automaatselt. Kui see on määratud kõik ', kogu käsurida on parandatud.
csubstnonl Kui see on määratud, asendatakse uue rea ja veo tagasipöördumised käskude asendamisel tühikutega. Vaikimisi määratud.
cwd Praeguse kataloogi täielik teenimi. Vaata ka dirstack ja võlgu kest muutujad.
dextract Kui see on seatud, ' pushd + n 'väljavõtted n th kataloog kataloogivirnast selle asemel, et seda ülespoole pöörata.
dirsfile Vaikekoht, kus ' dirs -S 'ja' dirs -L 'otsige ajaloofaili. Kui see pole määratud, ~ / .cshdirs kasutatakse. Sest ainult ~ / .tcshrc hangitakse tavaliselt enne ~ / .cshdirs , dirsfile tuleks sisse seada ~ / .tcshrc pigem kui ~ / .login .
dirstack Kõigi kataloogivirnade kataloogide massiiv. ' $ dirstack [1] 'on praegune töökataloog, ' $ dirstack [2] 'virna esimene kataloog jne. Pange tähele, et praegune töökataloog on' $ dirstack [1] ' aga ' = 0 'kataloogivirna asendustes jms. Hunnikut saab omavoliliselt muuta, seadistades dirstack , kuid esimene element (praegune töökataloog) on ​​alati õige. Vaata ka cwd ja võlgu kest muutujad.
dspmbyte Mõjutab, kui ' dspm 'on loetletud versiooni shellimuutuja osana. Kui see on määratud euc ', see võimaldab kuvada ja redigeerida EUC-kanji (jaapani) koodi. Kui see on määratud sjis ', see võimaldab kuvada ja redigeerida Shift-JIS (jaapani) koodi. Kui see on määratud suur5 ', see võimaldab kuvada ja redigeerida Big5 (hiina) koodi. Kui see on määratud utf8 ', see võimaldab kuvada ja redigeerida Utf8 (Unicode) koodi. Kui see on seatud järgmisele vormingule, võimaldab see kuvada ja redigeerida algset mitmebaidist koodivormingut:

set dspmbyte = 0000....(256 bytes)....0000
Tabel nõuab vaid 256 baiti. Iga 256 tähemärki sisaldav märk vastab (vasakult paremale) ASCII koodidele 0x00 , 0x01 , ... 0xff . Iga märk on seatud numbrile 0 , 1 , kaks ja 3 . Igal numbril on järgmine tähendus:

0 ... ei kasutata mitmebaidiste tähemärkide jaoks.
1 ... kasutatakse mitmebaidise märgi esimese baidi jaoks.
kaks ... kasutatakse mitmebaidise märgi teise baidi jaoks.
3 ... kasutatakse nii mitmebaidise märgi esimese kui ka teise baidi jaoks.
Näide:

Kui see on määratud 001322 ', esimene märk (tähendab 0x00 selle ASCII kood) ja teine ​​märk (tähendab 0x01 ASCII kood) 0 '. Siis ei kasutata seda mitmebaidiste tähemärkide jaoks. 3. märk ( 0x02 ) on seatud väärtusele „ 1 ', mis näitab, et seda kasutatakse mitmebaidise märgi esimese baidi jaoks. 4. märk ( 0x03 ) on seatud ' 3 '. Seda kasutatakse nii mitmebaidise märgi esimese kui ka teise baidi puhul. 5. ja 6. tähemärk (0x04,0x05) on seatud väärtusele ' kaks ', mis näitab, et neid kasutatakse mitmebaidise märgi teise baidi jaoks.

GNU fileutilsi versioon ls ei saa kuvada mitmebaidiseid failinimesid ilma -N ( - kirjakeelne ) valik. Kui kasutate seda versiooni, määrake teine ​​sõna dspmbyte kuni ls '. Kui ei, siis näiteks ls-F -l 'ei saa kuvada mitmebaidiseid failinimesid.

Märge:

Seda muutujat saab kasutada ainult siis, kui KANJI ja DSPMBYTE on kompileerimise ajal määratletud.
dunique Kui see on seatud, pushd eemaldab kõik nimi enne virna peale surumist.
viskas välja Kui see on määratud, kajab iga käsk koos argumentidega vahetult enne selle käivitamist. Sisseehitamata käskude korral toimuvad kõik laiendused enne kaja tegemist. Sisseehitatud käsud kajavad enne käsu ja failinime asendamist, kuna need asendused tehakse seejärel valikuliselt. Määratud -x käsurea valik.
echo_style Stiil viskas välja sisseehitatud. Võib olla seatud väärtusele

bsd Ärge korrake uut rida, kui esimene argument on ' -n '.
sysv Tuvastage tagasilöögitud põgenemisjärjestused kaja stringides.
mõlemad Tunnustage nii -n 'lipp ja tagasilöögitud põgenemisjärjestused; vaikimisi.
mitte ühtegi Ära tunnista kumbagi.
Vaikimisi määrake kohaliku süsteemi vaikeseade. BSD ja System V valikuid on kirjeldatud viskas välja mees vastavate süsteemide lehekülgi.
redigeeri Kui see on määratud, kasutatakse käsurea redaktorit. Vaikimisi määratud interaktiivsetes kestades.
ellips Kui see on määratud, kuvatakse ' % c '/'%. 'ja' % C viipjärjestused (vt viip kesta muutuja) tähistavad vahele jäetud katalooge ellipsiga (' ... ') selle asemel ' / '.
euid Kasutaja tegelik kasutajatunnus.
euser Esimene vastav passwd sisestuse nimi, mis vastab tegelikule kasutajatunnusele.
fignore Loetleb failinime sufiksid, mida lõpetamisel eiratakse.
filec Sisse tcsh , kasutatakse alati lõpetamist ja vaikimisi seda muutujat ignoreeritakse. Kui redigeeri on määramata, siis traditsiooniline csh kasutatakse lõpetamist. Kui see on sisse seatud csh , kasutatakse failinime lõpetamist.
giid Kasutaja tegelik grupi ID.
globdot Kui see on seatud, metamärk glob-mustrid sobivad failidega ja kataloogidega, mis algavad tähega ' . ' väljaarvatud ' . 'ja' .. '
globstaar Kui see on määratud, kuvatakse ' ** 'ja' *** 'faili glob mustrid sobivad mis tahes stringide märkidega, sealhulgas' / olemasolevate alamkataloogide läbimine. (nt ' ls **. c 'loetleb kõik .c failid praeguses kataloogipuus). Kui seda kasutatakse iseenesest, sobib see nulli või enama alamkataloogiga (nt ' ls /usr/include/**/time.h 'loetleb faili nimega' aeg.h 'sisse / usr / include kataloogipuu; arvestades, et ls /usr/include/**time.h 'sobib mis tahes failiga / usr / include kataloogipuu, mis lõpeb ' aeg.h '). Rekursiooniga seotud probleemide vältimiseks tuleb ** 'glob-muster ei taandu kataloogi sisaldavale sümboolsele lingile. Selle tühistamiseks kasutage *** '
Grupp Kasutaja grupi nimi.
esile tõstma Kui see on määratud, vastab täiendav otsing (in i-otsing-tagasi ja i-otsing-fwd ) ning märgi ja kursori vaheline piirkond on tagurpidi videos esile tõstetud.

Esiletõstmine nõuab sagedasemat terminali kirjutamist, mis toob sisse lisakulud. Kui hoolite terminali jõudlusest, võiksite selle jätta määramata.
histkarid Stringi väärtus, mis määrab ajaloo asendamisel kasutatud tähemärgid. Selle väärtuse esimest tähemärki kasutatakse ajaloo asendusmärgina, asendades vaikimärgi ' ! '. Selle väärtuse teine ​​märk asendab märki ' ^ 'kiiretes asendustes.
histdup Juhib ajaloo loendis dubleerivate kirjete käitlemist. Kui see on määratud kõik 'ajaloo loendisse kantakse ainult ainulaadsed ajaloosündmused. Kui see on määratud prev 'ja viimane ajaloosündmus on sama mis praegune käsk, siis praegust käsku ajalukku ei sisestata. Kui see on määratud kustutada 'ja sama sündmus on ajaloo loendis, see vana sündmus kustutatakse ja praegune lisatakse. Pange tähele, et ' prev 'ja' kõik 'valikud nummerdavad ajaloosündmused ümber, nii et lünki pole.
histfail Vaikekoht, kus ' ajalugu -S 'ja' ajalugu -L 'otsige ajaloofaili. Kui see pole määratud, ~ / .ajalugu kasutatakse. histfail on kasulik, kui jagate sama kodukataloogi erinevate masinate vahel või kui salvestate erinevatesse terminalidesse eraldi ajalugu. Sest ainult ~ / .tcshrc hangitakse tavaliselt enne ~ / .ajalugu , histfail tuleks sisse seada ~ / .tcshrc pigem kui ~ / .login .
histlit Kui see on määratud, siis sisseehitatud ja redaktori käsud ning savehist mehhanism kasutab ajaloo loendis ridade sõnasõnalist (laiendamata) vormi. Vaata ka lülita-sõna-sõnalt-ajalugu toimetaja käsk.
ajalugu Esimene sõna näitab salvestatavate ajaloosündmuste arvu. Valikuline teine ​​sõna tähistab vormingut, milles ajalugu trükitakse; kui seda ei anta, ' % h t% T t% R n ' kasutatakse. Vormindusjärjestusi kirjeldatakse allpool viipa all; pange tähele muutuja tähendust % R '. Seatud ' 100 ' algselt.
Kodu Initsialiseeritud kutsuri kodukataloogi. Failinime laiendus ~ tähistab seda muutujat.
eiramine Kui määratud tühjaks stringiks või ' 0 'ja sisendseade on terminal, käsk faili lõpp (tavaliselt genereerib kasutaja selle sisestades' ^ D 'tühjal real') põhjustab kestale printimise 'tcsh-st väljumiseks'. väljumise asemel. See hoiab ära kesta kogemata tapmise. Ajalooliselt lahkus see seade pärast 26 järjestikust EOF-i, et vältida lõpmatuid silmuseid. Kui on määratud arv n , kest ignoreerib n - 1 järjestikune failide lõpp ja väljumised n th. Kui see pole määratud, ' 1 'kasutatakse, st kest väljub ühel' ^ D '.
implicitcd Kui see on määratud, käsitleb shell sisestatud katalooginime käsuna, justkui oleks see selle kataloogi muutmise taotlus. Kui seatud väärtusele paljusõnaline , kaustas kataloogi muutus standardväljundi. See käitumine on takistatud mitteinteraktiivsetes shelliskriptides või rohkem kui ühe sõnaga käsureal. Kataloogi muutmine on ülimuslik sarnase nimega käsu täitmise ees, kuid seda tehakse alias-asenduste järel. Tilde ja muutuv laiendused toimivad ootuspäraselt.
sisendrežiim Kui see on määratud sisestada 'või' üle kirjutama ', paneb redaktori iga rea ​​alguses sellesse sisendrežiimi.
tapmine Kontrollib tapmisrõngas topeltkirjete käsitlemist. Kui see on määratud kõik tapmisrõngasse sisestatakse ainult unikaalsed stringid. Kui see on määratud prev 'ja viimane tapetud string on sama mis praegune tapetud string, siis praegust stringi rõngasse ei sisestata. Kui see on määratud kustutada 'ja sama string leitakse tapmisrõngast, vana string kustutatakse ja praegune lisatakse.
tapmine Näitab tapetud stringide arvu mälus hoidmiseks. Seatud ' 30 ' algselt. Kui see on määramata või seatud väärtusele alla ' kaks ', kest jätab alles alles viimati tapetud stringi. Stringid pannakse tapmisse redaktori käskudega, mis kustutavad (tapa) tekstistringid, nt tagasi-kustuta-sõna , kill-line jne, samuti copy-region-as-kill käsk. The jänk redaktori käsk tõmbab käsureale viimati tapetud stringi jänk-pop (vt Redaktori käsud ) saab kasutada varem tapetud keelte tõmbamiseks.
listflags Kui see on määratud x ',' kuni 'või' TO 'või nende mis tahes kombinatsioon (nt' kaugel '), kasutatakse neid lipukestena ls-F , pannes selle käituma nagu ' ls -xF ',' ls -Fa ',' ls -FA 'või nende kombinatsioon (nt' ls -FxA '):' kuni 'näitab kõiki faile (isegi kui need algavad tähega' . '),' TO 'näitab kõiki faile peale' . 'ja' .. 'ja' x sordib alla asemel. Kui teine ​​sõna listflags on seatud, kasutatakse seda teekonnana ls '.
listjobs Kui see on määratud, kuvatakse töö peatamise korral kõik tööd. Kui seatud väärtusele „pikk”, on kirje pikas vormingus.
nimekirja linke Kui see on seatud, ls-F builtin käsk näitab faili tüüpi, millele iga sümboolne link osutab.
listmax Maksimaalne üksuste arv, mida nimekiri-valikud redaktori käsk loetleb seda enne küsimata.
listmaxrows Maksimaalne üksuste ridade arv, mida nimekiri-valikud redaktori käsk loetleb seda enne küsimata.
loginsh Kest määrab, kui see on sisselogimise kest. Selle seadistamine või tühistamine kestas ei mõjuta. Vaata ka shlvl .
Logi välja Kesta poolt määratud normaalne 'enne tavalist väljalogimist' automaatne 'enne automaatset väljalogimist ja' hangup 'kui kest tapeti signaali abil (vt Signaali käsitsemine ). Vaata ka automaatne otsing kest muutuja.
mail Failide ja kataloogide loend sissetulevate kirjade kontrollimiseks, eelistatult numbriline sõna. Kui viimasest kontrollist on möödunud 10 minutit, kontrollib kest enne iga viipa iga faili ja ütleb: 'Teil on uus kiri.' (või kui post sisaldab mitut faili, siis on nimi . ') kui failisuurus on suurem kui null ja muutmisaeg on pikem kui selle juurdepääsuaeg.

Kui olete sisselogimiskarbis, ei teatata ülearuste teadete vältimiseks meilifailist, välja arvatud juhul, kui seda on pärast kesta käivitamist muudetud. Enamik sisselogimisprogramme ütleb teile, kas teil on sisselogimisel kirju või mitte.

Kui postis määratud fail on kataloog, loeb kest iga selles kataloogis oleva faili eraldi sõnumina ja teatab 'Teil on n kirjad. ' või 'teil on n kirjad sisse nimi . ' vastavalt vajadusele. Seda funktsiooni pakutakse peamiselt nendele süsteemidele, mis hoiavad sel viisil posti, näiteks Andrew Mail System.

Kui e-posti esimene sõna on numbriline, võetakse see teistsuguse kirjavahetuse intervallina sekundites.

Väga harvadel juhtudel võib kest teatada „Teil on posti”. „Teil on uus kiri” asemel.
tikumepiip Kui see on määratud mitte kunagi ', valmimine ei anna kunagi piiksu. Kui see on määratud nomatch ', piiksub ainult siis, kui vastet pole. Kui see on määratud mitmetähenduslik ', piiksub, kui vasteid on mitu. Kui see on määratud notunic ', piiksub, kui on üks täpne ja teine ​​pikem vaste. Kui see pole määratud, ' mitmetähenduslik ' kasutatakse.
nobeep Kui see on seatud, on piiksumine täielikult keelatud. Vaata ka nähtav kell .
nokitseja Kui see on määratud, seatakse väljundi ümbersuunamisele piirangud, et faile kogemata ei hävitataks ja et >> 'ümbersuunamised viitavad olemasolevatele failidele, nagu on kirjeldatud jaotises Sisend / väljund.
noogutamine Kui see on määratud, keelake printimine ASJA! 'kellaaja täpsustamisel tunni muutumisel.
noglob Kui see on seatud, Failinime asendamine ja Kataloogivirna asendamine on pärsitud. See on kõige kasulikum shelliskriptides, mis ei tegele failinimedega, või pärast failinimede loendi saamist ja edasisi laiendusi pole soovitav.
nokanji Kui seatud ja kest toetab Kanjit (vt versiooni shell muutujat), on see keelatud, et saaks kasutada metavõtit.
nonomatch Kui see on määratud, a Failinime asendamine ja Kataloogivirna asendamine mis ei ühti ühegi olemasoleva failiga, jääb vea tekitamise asemel puutumata. Ikka on viga, et asendus on valesti vormistatud, nt viskas välja [ 'annab ikka vea.
tõstke Kataloogide loend (või globaalsed mustrid, mis sobivad kataloogidega; vt Failinime asendamine ) seda ei tohiks olla riik ed lõpetamise toimingu ajal. Seda kasutatakse tavaliselt kataloogide välistamiseks, mille jaoks kulub liiga palju aega riik , näiteks / afs .
teatama Kui see on määratud, teatab kest töö lõpetamisest asünkroonselt. Vaikimisi esitatakse töö lõpetamine vahetult enne viiba printimist.
oid Kasutaja tegelik organisatsiooni ID. (Ainult domeen / OS)
võlgu Vana töökataloog, mis on samaväärne ' - ' kasutatud CD ja pushd . Vaata ka cwd ja dirstack kest muutujad.
padhour Kui see on määratud, lubage polsterduse printimine ' 0 tundide kaupa 24 ja 12 tunni formaadid. E.G .: 07:45:42 vs. 7:45:42 .
parseoktal Vanemate versioonidega ühilduvuse säilitamiseks algavad numbrilised muutujad 0 ei tõlgendata kaheksandatena. Selle muutuja määramine võimaldab korralikku kaheksandparsimist.
tee Kataloogide loend, kust käivitatavaid käske otsida. Nullsõna määrab praeguse kataloogi. Kui teekonna muutujat pole, käivitatakse ainult täielikud teede nimed. tee määrab kest käivitamisel TEE keskkonnamuutuja või kui TEE ei eksisteeri, süsteemsõltuva vaikimisi midagi sellist ' (/ usr / local / bin / usr / bsd / bin / usr / bin.) '. Kest võib panna ' . 'esimene või viimane teel või jätke see täielikult välja, sõltuvalt selle koostamise viisist; vaata versioon kest muutuja. Kest, millele pole antud kumbagi -c ega ka -t valik räsib pärast lugemist kataloogi sisu teele ~ / .tcshrc ja iga aja tee lähtestatakse. Kui keegi lisab teekonna kataloogi uue käsu, kui kest on aktiivne, võib selle leidmiseks olla vaja shellile uuesti teha.
printexitvalue Kui see on määratud ja interaktiivne programm väljub nullist erineva olekuga, prindib kest „Exit status”.
viip String, mis prinditakse enne iga käsu lugemist terminalist. viip võib sisaldada mis tahes järgmist vormindamisjärjestust, mis asendatakse antud teabega:

% / Praegune töökataloog.
% ~ Praegune töökataloog, kuid oma kodukataloog, mida tähistab ' ~ 'ja teiste kasutajate kodukataloogid, mida tähistab' ~ kasutaja ' kohta Failinime asendamine . ' ~ kasutaja 'asendamine toimub ainult siis, kui kest on juba kasutatud' ~ kasutaja 'praeguse seansi teenimes.
% c [[0] n ] , %. [[0] n ] Praeguse töökataloogi lõppkomponent või n tagakomponendid, kui number n antakse. Kui n algab ' 0 ', vahelejäänud komponentide arv eelneb järgmisele komponendile / vormingutele vormingus' / järel '. Kui on määratud ellipsise kestmuutuja, tähistatakse vahele jäetud komponente ellipsiga, nii et tervikuks saab ' ... taga '. ' ~ 'asendamine toimub nagu' % ~ 'ülal, kuid' ~ 'komponenti ei arvestata tagumiste komponentide loendamisel.
% C Meeldib % c , kuid ilma ~ 'asendamine.
% h , %! , ! Praeguse ajaloosündmuse number.
% M Täis hostinimi .
% m Hosti nimi kuni esimeseni . '.
% S ( % s ) Alustage (peatage) standout-režiimi.
% B ( % b ) Alustage (peatage) rasvase kuvamise režiimi.
% U ( % u ) Start (stopp) allajoonimise režiim.
% t , % @ Kellaaeg 12-tunnises AM / PM-vormingus.
% T. Meeldib % t ', kuid 24-tunnises vormingus (kuid vaadake ampm kest muutuja).
% lk 'Täpne' kellaaeg 12-tunnises AM / PM-vormingus sekunditega.
% P Meeldib % lk ', kuid 24-tunnises vormingus (kuid vaadake ampm kest muutuja).
c c on parsitud nagu bindkey .
^ c c on parsitud nagu bindkey .
%% Üksik % '.
% n Kasutajanimi.
% N Tegelik kasutajanimi.
% j Töökohtade arv.
% d Nädalapäev Päev 'formaat.
% D Päev dd 'formaat.
% sisse Kuu Minu 'formaat.
% IN Kuu mm 'formaat.
% Y Aasta jah 'formaat.
% Y Aasta aaaa 'formaat.
% l Kesta tty.
% L Kustutatakse viiba lõpust ekraani lõpuni või rea lõpuni.
% $ Laiendab kesta või keskkonnamuutuja nime kohe pärast ' $ '.
% # ' > '(või viipurid shellimuutuja) tavakasutajatele, ' # '(või viipurid ) superkasutaja jaoks.
% { string %} Sisaldab stringi sõna otseses mõttes põgenemisjärjestusena. Seda tuleks kasutada ainult terminali atribuutide muutmiseks ja see ei tohiks kursori asukohta teisaldada. See ei saa olla viimane järjestus viip .
%? Vahetult enne viiba täidetud käsu tagastuskood.
% R Sisse viip2 , parseri olek. Sisse viip3 , parandatud string. Sisse ajalugu , ajaloo string.
' % B ',' % S ',' % U 'ja' % { string %} 'on saadaval ainult kaheksa-bitiste puhaste kestadena; vaata versioon kest muutuja.

Ülikasutaja kesta eristamiseks kasutatakse sageli rasvast, silmapaistvat ja allajoonitud järjestust. Näiteks,

> set prompt = '%m [%h] %B[%@]%b [%/] you rang? '
tut [37] [2:54pm] [/usr/accts/sys] you rang? _
Kui % t ',' % @ ',' % T. ',' % lk 'või' % P kasutatakse 'ja noogutamine pole seadistatud, siis printige ' ASJA! 'tunni muutumisel (st': 00 'minutit) tegeliku aja asemel.

Vaikeseade on ' % # 'interaktiivsetes kestades.
viip2 String, millega küsida samas ja igaühele silmused ja pärast rida, mis lõpevad ' '. Võib kasutada sama formaadiga järjestusi nagu viip ; pange tähele muutuja tähendust % R '. Vaikimisi määrake % R? 'interaktiivsetes kestades.
viip3 String, millega automaatse õigekirjaparanduse kinnitamisel küsitakse. Võib kasutada sama formaadiga järjestusi nagu viip ; pange tähele muutuja tähendust % R '. Vaikimisi määrake ÕIGE>% R (y | n | e | a)? 'interaktiivsetes kestades.
viipurid Kui see on määratud (kahekohaliseks stringiks), kuvatakse ' % # 'vormingus jada kiir-shell muutuja asendatakse esimese tähega tavakasutajate jaoks ja teise märgiga superkasutaja jaoks.
pushdtohome Kui see on seatud, pushd ilma argumentideta teeb ' pushd ~ ', nagu CD .
pushdsilent Kui see on seatud, pushd ja popd ärge printige kataloogivirna.
täpne Kui see on määratud, lõpetatakse lõpuleviimine täpse vastega isegi siis, kui pikem vaste on võimalik.
ainult_täidetavad Kui see on määratud, kuvatakse käskude loendis ainult failid, mida saab käivitada. Aeglane.
rmstar Kui see on määratud, palutakse kasutajal enne rm * 'täidetakse.
rprompt String, mida printida ekraani paremale küljele (pärast käsusisestust), kui viip kuvatakse vasakul. See tunneb ära samad vormindusmärgid kui viip. See kaob automaatselt ja ilmub vajaduse korral uuesti, tagamaks, et käsu sisend ei oleks varjatud, ja see kuvatakse ainult siis, kui viip, käsu sisend ja ise sobivad esimesel real kokku. Kui muutmist pole määratud, siis rprompt prinditakse pärast viiba ja enne käsu sisestamist.
päästetud Kui see on määratud, siis kest teeb dirs -S enne väljumist. Kui esimeseks sõnaks on määratud arv, salvestatakse kõige rohkem kataloogivirna kirjeid.
savehist Kui see on määratud, siis kest teeb ajalugu -S enne väljumist. Kui esimeseks sõnaks on määratud arv, salvestatakse maksimaalselt nii palju ridu. (Arv peab olema väiksem või võrdne ajalugu .) Kui teiseks sõnaks on seatud mine ', ajaloo loend liidetakse olemasoleva ajaloofailiga selle asemel, et seda asendada (kui see on olemas), sorteeritakse ajatempli järgi ja viimased sündmused jäävad alles.
ajakava Vorming, milles ajakava sisseehitatud käsk prindib plaanitud sündmusi; kui seda ei anta, ' % h t% T t% R n ' kasutatakse. Vormindusjärjestusi on eespool kirjeldatud viivitamatult; pange tähele muutuja tähendust % R '.
kest Fail, milles kest asub. Seda kasutatakse kestade hargnemisel failide tõlgendamiseks, millel on täidetud bitid, kuid mida süsteem ei saa käivitada. Vaadake toote kirjeldust Sisseehitatud ja mitteehitatud käskude täitmine . Algatatakse kesta (süsteemist sõltuvasse) koju.
shlvl Pesastatud kestade arv. Lähtestatakse sisselogimiskestades väärtusele 1. Vaata ka loginsh .
staatus Viimase käsu tagastatud olek, välja arvatud juhul, kui see on muutuja suvaline viga on seatud ja mis tahes viga gaasijuhtmes või tagasipakkumise laienduses levitatakse (see on vaikeväärtus csh käitumine ja praegune tcsh vaikeväärtus). Kui see lõppes ebanormaalselt, siis 0200 lisatakse olekusse. Sisseehitatud käsud, mis ei pääse tagasi väljumise olekusse ' 1 ', kõik muud sisseehitatud käsud tagastavad oleku' 0 '.
sümbolid Kontrollimiseks saab seada erinevatele väärtustele sümboolne link ('symlink') eraldusvõime:

Kui see on määratud jälitama ', kui praegune kataloog muutub sümboolset linki sisaldavaks kataloogiks, laiendatakse seda kataloogi tegelikule nimele, kuhu link osutab. See ei tööta kasutaja kodukataloogis; see on viga.

Kui see on määratud ignoreeri ', proovib shell enne lingi ületamist ehitada praeguse kataloogi praeguse kataloogi suhtes. See tähendab seda CD sümboolse lingi kaudu ja seejärel ' cd .. 'ing naaseb ühe algsesse kataloogi. See mõjutab ainult sisseehitatud käske ja failinime lõpetamist.

Kui see on määratud laienema ', proovib kest parandada sümboolseid linke, laiendades tegelikult argumente, mis näevad välja nagu teede nimed. See mõjutab kõiki käske, mitte ainult sisseehitatud. Kahjuks ei tööta see raskesti äratuntavate failinimede puhul, näiteks nende puhul, mis on manustatud käskude suvanditesse. Laienemist võidakse tsiteerida. Kuigi see seade on tavaliselt kõige mugavam, on see mõnikord eksitav ja mõnikord segadust tekitav, kui see ei tunnista argumenti, mida tuleks laiendada. Kompromiss on kasutada ignoreeri 'ja kasuta redaktori käsku normaliseerida-tee (vaikimisi seotud ^ X-n ), kui see on vajalik.

Mõned näited on korras. Kõigepealt seadistame mõned mängukataloogid:

cd /tmp
mkdir from from/src to
ln -s from/src to/dst
Siin on selline käitumine sümbolid seadistamata:

cd /tmp/to/dst; echo $cwd
/tmp/to/dst
cd ..; echo $cwd
/tmp/from
siin on käitumine sümbolid seatud ' jälitama ':

cd /tmp/to/dst; echo $cwd
/tmp/from/src
cd ..; echo $cwd
/tmp/from
siin on käitumine sümbolid seatud ' ignoreeri ':

cd /tmp/to/dst; echo $cwd
/tmp/to/dst
cd ..; echo $cwd
/tmp/to
ja siin on käitumine sümbolid seatud ' laienema '.

cd /tmp/to/dst; echo $cwd
/tmp/to/dst
cd ..; echo $cwd
/tmp/to
cd /tmp/to/dst; echo $cwd
/tmp/to/dst
cd '..'; echo $cwd
/tmp/from
/bin/echo ..
/tmp/to
/bin/echo '..'
..
Pange tähele, et ' laienema 'laiendamine töötab täpselt nagu' ignoreeri sisseehitatud ehitiste jaoks CD , on tsiteerimisega takistatud ja see juhtub enne, kui failinimed edastatakse sisseehitamata käskudele.
tcsh Shelli versiooninumber vormingus ' R . VV . PP ', kus' R 'on peamine väljalaskenumber,' VV 'praegune versioon ja' PP 'patchlevel.
tähtaeg Terminali tüüp. Tavaliselt seatakse sisse ~ / .login nagu on kirjeldatud jaotises Käivitamine ja seiskamine.
aeg Kui määratakse arv, siis aeg builtin käivitub automaatselt pärast iga käsku, mis võtab rohkem kui mitu protsessori sekundit. Kui on teine ​​sõna, kasutatakse seda vormingu stringina väljundis aeg sisseehitatud.

Formaadistringis võib kasutada järgmisi järjestusi:

% U Protsessi kulutatud aeg kasutajarežiimis protsessori sekundites.
% S Aeg, mis protsess kulutas kerneli režiimis protsessori sekundites.
%ON Kulunud aeg (seinakell) sekundites.
% P Protsessori protsent arvutatuna ( % U + % S ) / %ON .
% IN Protsessi vahetamise kordade arv.
% X Keskmine (jagatud) tekstiruumi maht kbyte.
% D Keskmine kogus (jagamata) andmetes / korstna ruumis, mida kasutatakse Kbaitides.
% TO Kasutatud ruum kokku ( % X + % D ) kbyte.
% M Maksimaalne mälumaht, mida protsess igal ajal kasutas, Kbaitides.
% F Suuremate lehtede vigade arv (leht oli vaja kettalt tuua).
% R Väiksemate lehevigade arv.
% I Sisestustoimingute arv.
% VÕI Väljundtoimingute arv.
% r Vastuvõetud pistikupesateadete arv.
% s Saadetud pistikupesasõnumite arv.
% kuni Vastuvõetud signaalide arv.
% sisse Vabatahtlike kontekstivahetuste (ootamiste) arv.
% c Tahtmatute kontekstilülituste arv.
Ilma süsteemita toetatakse ainult nelja esimest järjestust BSD ressursside piiramise funktsioonid. Vaikeaja formaat on ' % Uu% Ss% E% P% X +% Dk% I +% Oio% Fpf +% Ww 'süsteemide jaoks, mis toetavad ressursikasutuse aruandlust ja' % Uu% Ss% E% P 'süsteemide jaoks, mis seda ei tee.

Sequenti DYNIX / ptx all % X , % D , % TO , % r ja % s pole saadaval, kuid järgmised järgmised järjestused on:

% Y Sooritatud süsteemikõnede arv.
% Koos Nõudmisel nullitäitega lehtede arv.
% i Kerneli arv suurendas protsessi residentide komplekti suurust.
% d Kernel vähendas protsessi residentide komplekti suurust.
% l Sooritatud süsteemikõnede arv.
% m Sooritatud süsteemikõnede arv.
% lk Toorketaseadmetest lugemiste arv.
% q Toorketaseadmetesse kirjutamiste arv.
ja vaikeaja formaat on ' % Uu% Ss% E% P% I +% Oio% Fpf +% Ww '. Pange tähele, et mitme protsessori puhul võib protsessori protsent olla suurem kui 100%.
tperiood Periood hukkamise vahel minutites perioodiline eriline varjunimi.
tty Tty nimi või tühi, kui see pole ühele lisatud.
uid Kasutaja tegelik kasutajatunnus.
kasutaja Kasutaja sisselogimisnimi.
paljusõnaline Kui see on määratud, prinditakse iga käsu sõnad pärast ajaloo asendamist (kui see on olemas). Määratud -v käsurea valik.
versioon Versiooni ID tempel. See sisaldab kesta versiooni numbrit (vt tcsh ), päritolu, väljaandmise kuupäev, müüja, operatsioonisüsteem ja masin (vt MÜÜJA , OSTYPE ja MAKHTÜÜP ) ja komaga eraldatud loend kompileerimise ajal määratud valikutest. Märgitakse valikud, mis on jaotuses vaikimisi määratud.

8b Kest on kaheksa bitti puhas; vaikimisi
7b Kest pole kaheksa bitine puhas
lai Koor on mitmebaidine, kodeeriv puhas (nagu UTF-8)
nls Kasutatakse süsteemi NLS-i; vaikimisi süsteemidele, millel on NLS
lf Sisselogimise kestad täidetakse /etc/csh.login enne kui pärast /etc/csh.cshrc ja ~ / .login enne kui pärast ~ / .tcshrc ja ~ / .ajalugu .
dl ' . 'on seatud turvalisuse suunas viimasele teele; vaikimisi
nd ' . 'on turvalisuse tagamiseks teelt välja jäetud
meie meie -stiili redigeerimine on pigem vaikimisi kui emacs
dtr Sisselogimiskestad jätavad väljumisel DTR-i
tsau tsau on sõna sünonüüm Logi välja ja logi on valglogi alternatiivne nimi
Euroopa automaatne otsing on lubatud; vaikimisi
saab Kanji kasutatakse vajaduse korral vastavalt lokaadi sätetele, välja arvatud juhul, kui nokanji shellimuutuja on määratud
sm Süsteemi omad malloc kasutatakse
hb ' #! shelliskriptide käivitamisel jäljendatakse konventsiooni
ng The newgrp sisseehitatud on saadaval
rh Kest üritab seadistada Kaugjuhtimispult keskkonnamuutuja
afs Koor kontrollib teie parooli kerberose serveriga, kui kohalik autentimine ebaõnnestub. The detox kesta muutuja või AFSUSER keskkonnamuutuja alistab teie kohaliku kasutajanime, kui see on määratud.
Administraator võib sisestada täiendavaid stringe, et näidata erinevusi kohalikus versioonis.
nähtav kell Kui see on seatud, kasutatakse kuuldava kella asemel ekraanivälku. Vaata ka nobeep .
vaatama Sisselogimiste ja väljalogimiste jälgimiseks kasutaja / terminali paaride loend. Kui kumbki kasutaja on ' ükskõik milline 'kõiki terminale jälgitakse antud kasutaja jaoks ja vastupidi. Kell seatakse olekusse (mis tahes) jälgib kõiki kasutajaid ja terminale. Näiteks,

set watch = (george ttyd1 any console $user any)
teatab kasutaja tegevusest ' george 'ttyd1-l, konsooli kõik kasutajad ja ükskõik milline terminal (ise) või üleastuja.

Sisselogimisi ja väljalogimisi kontrollitakse vaikimisi iga 10 minuti järel, kuid selle esimene sõna on vaatama saab seadistada arvule, et seda iga paari minuti järel kontrollida. Näiteks,

set watch = (1 any any)
teatab sisselogimisest / väljalogimisest üks kord minutis. Kannatamatute jaoks on logi builtin käsk käivitab jälgimisaruande igal ajal. Kõigist praegustest sisselogimistest teatatakse (nagu sisseehitatud sisselogimisel) kui esmakordselt seadistatakse jälgimine.

The WHO shellimuutuja kontrollib jälgimisaruannete vormingut.
WHO Vormingu string vaatama sõnumeid. Järgmised järjestused asendatakse antud teabega:

% n Sisseloginud / välja loginud kasutaja nimi.
% kuni Täheldatud toiming, st 'sisse logitud', 'välja logitud' või 'vana kasutaja on asendatud'.
% l Terminal (tty), kuhu kasutaja sisse / välja logis.
% M Kaughosti täielik hostinimi või „local”, kui sisselogimine / väljalogimine oli kohalikult hostilt.
% m Kaughosti hostinimi kuni esimeseni . '. Täisnimi trükitakse, kui see on IP aadress või X Window Systemi kuva.
% M ja % m on saadaval ainult süsteemides, mis salvestavad kaughosti nime / etc / utmp . Kui see pole määratud, ' % n-l on% a% l alates% m. kasutatakse või % n-l on% a% l. 'süsteemides, mis ei salvesta kaughosti nime.
sõnamärgid Mittetähtnumbriliste tähemärkide loend, mida redaktori käsud loevad sõna osaks sõna edasi, tagasi sõna jne. Kui see pole määratud, ' *? _-. [] ~ = ' kasutatakse.

Keskkond

AFSUSER Samaväärne detox kest muutuja.
VEERUD Terminali veergude arv. Vaata Terminalide haldamine .
EKRAAN Kasutab X Window System. Kui see on määratud, siis kest ei määra automaatne otsing .
TOIMETAJA Vaikimisi toimetaja teenimi. Vaata ka VISUAALNE keskkonnamuutuja ja run-fg-editor toimetaja käsk.
GRUPP Samaväärne Grupp kest muutuja.
KODU Samaväärne Kodu kest muutuja.
HOST Algustatakse selle masina nimele, millel kest töötab, nagu määrab gethostname süsteemikõne.
HOSTTYPE Algustatakse selle masina tüübile, millel kest töötab, nagu see on kompileerimise ajal määratud. See muutuja on vananenud ja eemaldatakse tulevases versioonis.
HPATH Kooloniga eraldatud kataloogide loend, kus käsk run-help editor otsib käsudokumentatsiooni.
LANG Annab eelistatud iseloomukeskkonna. Vaata Emakeele süsteemi tugi .
LC_CTYPE Kui see on määratud, siis ainult ctype tähemärkide käitlemist muudetakse. Vaata Emakeele süsteemi tugi.
RIDAD Liinide arv terminalis. Vaata Terminalide haldamine .
LS_COLORS Selle muutuja vorming meenutab termcap failiformaat; kooloniga eraldatud vormi avaldiste loend ' xx = string ', kus' xx 'on kahekohaline muutuja nimi. Muutujad koos nendega seotud vaikeväärtustega on:

mitte 0 Normaalne (mitte-failinimi) tekst
olema 0 Tavaline fail
kohta 01; 34 Kataloog
ln 01; 36 Sümboolne link
pi 33 Nimeline toru (FIFO)
nii 01; 35 Pistikupesa
tegema 01; 35 Läbi
bd 01; 33 Blokeerige seade
CD 01; 32 Märkide seade
endine 01; 32 Käivitatav fail
mina (puudub) Fail puudub (vaikimisi fi)
või (puudub) Orvuks jäänud sümboolne link (vaikimisi ln )
lc ^ [[ Vasak kood
rc m Õige kood
ec (puudub) Lõppkood (asendab lc + mitte + rc )
Peate lisama ainult need muutujad, mida soovite vaikeväärtusest muuta.

Failinimesid saab värvida ka failinime laienduse põhjal. See on täpsustatud dokumendis LS_COLORS muutuja süntaksit kasutades ' * ext = string '. Näiteks kõigi värvimiseks ISO 6429 koodide abil C-keel lähtefailid sinine, mille määraksid ' *. c = 34 '. See värviks kõik failid, mis lõpevad tähega .c sinise (34) värviga.

Kontrollmärke saab kirjutada kas C -stiiliga põgenenud märge või sisse stty -taoline ^ -märkus. C-stiilis tähistus lisab ^ [ Escape jaoks, _ tavalise kosmosemärgi jaoks ja ? kustutamiseks. Samuti ^ [ põgenemismärki saab kasutada teksti vaikimisi tõlgenduse tühistamiseks ^ [ , ^ , : ja = .

Iga fail kirjutatakse järgmiselt . Kui kood on määratlemata, jada selle asemel kasutatakse. Seda on üldiselt mugavam kasutada, kuid vähem üldist. The vasakule , eks ja lõpp koodid on ette nähtud, nii et te ei pea ühiseid osi uuesti ja uuesti tippima ning kummalisi terminale toetama; tavaliselt ei pea te neid üldse muutma, kui teie terminal ei kasuta ISO 6429 värvilahendusi, vaid mõnda muud süsteemi.

Kui teie terminal kasutab ISO 6429 värvikoode, saate koostada tüübikoodid (st kõik, välja arvatud lc , rc ja ec koodid) semikoolonitega eraldatud arvkäskudest. Kõige tavalisemad käsud on:

0 vaikevärvi taastamiseks
1 erksamate värvide jaoks
4 allajoonitud teksti jaoks
5 vilkuva teksti jaoks
30 musta esiplaani jaoks
31 punase esiplaani jaoks
32 rohelise esiplaani jaoks
33 kollase (või pruuni) esiplaani jaoks
3. 4 sinise esiplaani jaoks
35 lillale esiplaanile
36 tsüani esiplaanil
37 valge (või halli) esiplaani jaoks
40 musta tausta jaoks
41 punase tausta jaoks
42 rohelise tausta jaoks
43 kollase (või pruuni) tausta jaoks
44 sinise tausta jaoks
Neli, viis lilla tausta jaoks
46 sinise tausta jaoks
47 valge (või halli) tausta jaoks
Kõik käsud ei tööta kõigis süsteemides ega kuvaseadmetes.

Mõni terminaliprogramm ei tunnista vaikimisi lõpp korralikult koodi. Kui kogu kataloog värvub pärast kataloogide loendi tegemist, proovige seda muuta mitte ja olema koodid alates 0 standardsete esi- ja taustavärvide numbrikoodidele.
MAKHTÜÜP Masina tüüp (mikroprotsessori klass või mudeli mudel), mis on määratud kompileerimise ajal.
NOREBIND Kui see on seatud, ei taastata prinditavaid märke ise sisesta-käsk . Vt emakeelsüsteemi tugi.
OSTYPE Operatsioonisüsteem, mis on määratud kompileerimise ajal.
TEE Käärsoolega eraldatud kataloogide loend, kust käivitatavaid faile otsida. Samaväärne path shell muutujaga, kuid teises vormingus.
PWD Samaväärne cwd shellimuutuja, kuid pole sellega sünkroonitud; värskendatakse alles pärast kataloogi tegelikku muutmist.
Kaugjuhtimispult Host, kust kasutaja on sisse loginud eemalt, kui see on nii ja kest saab selle kindlaks teha. Määra ainult siis, kui kest on nii kompileeritud; vaata versioon kest muutuja.
SHLVL Samaväärne shlvl kest muutuja.
SÜSTEEM Praegune süsteemitüüp. (Ainult domeen / OS)
TERM Samaväärne terminiga muutuja.
TERMCAP Terminali võimekuse string. Vaata Terminalide haldamine .
KASUTAJA Samaväärne kasutaja shellimuutujaga.
MÜÜJA Müüja, mis on määratud kompileerimise ajal.
VISUAALNE Täisekraanvaate redaktori vaikenimi. Vaata ka TOIMETAJA keskkonnamuutuja ja run-fg-editor toimetaja käsk.

Toimikud

/etc/csh.cshrc Loe kõigepealt iga kesta järgi. KumeradOS, Stellix ja Intel kasutamine / etc / cshrc ja NeXT arvutid kasutavad /etc/cshrc.std . A / UX, AMIX, Cray ja IRIX ei oma aastal vastet csh , kuid lugege seda faili sisse tcsh igatahes. Ka Solaris 2.x-l pole seda, aga tcsh loeb /etc/.cshrc .
/etc/csh.login Pärast sisselogimise kestade lugemist /etc/csh.cshrc . ConvexOS, Stellix ja Intel kasutavad / etc / login , NeXT-de kasutamine /etc/login.std , Solaris 2.x kasutab /etc/.login ning A / UX, AMIX, Cray ja IRIX kasutamine / etc / cshrc .
~ / .tcshrc Loeb iga kesta järgi /etc/csh.cshrc või selle ekvivalent.
~ / .cshrc Loe iga koore järgi, kui ~ / .tcshrc pole olemas /etc/csh.cshrc või selle ekvivalent. Selles käsiraamatus kasutatakse ~ / .tcshrc ' tähendab ' ~ / .tcshrc või kui ~ / .tcshrc ei leitud ~ / .cshrc '.
~ / .ajalugu Pärast sisselogimise kestade lugemist ~ / .tcshrc kui savehist on seatud, aga vaata ka histfail .
~ / .login Pärast sisselogimise kestade lugemist ~ / .tcshrc või ~ / .ajalugu . Kest võib kompileerida lugemiseks ~ / .login enne kui pärast ~ / .tcshrc ja ~ / .ajalugu ; vaata versioon kest muutuja.
~ / .cshdirs Pärast sisselogimise kestade lugemist ~ / .login kui päästetud on seatud, aga vaata ka dirsfile .
/etc/csh.logout Loeb sisselogimisel sisselogimiskest. ConvexOS, Stellix ja Intel kasutavad / etc / logout ja NeXT-d kasutavad /etc/logout.std . A / UX, AMIX, Cray ja IRIX ei oma aastal vastet csh , kuid lugege seda faili sisse tcsh igatahes. Ka Solaris 2.x-l pole seda, aga tcsh loeb /etc/.logout .
~ / .logout Pärast sisselogimist loeb sisse logimiskest /etc/csh.logout või selle ekvivalent.
/ bin / sh Kasutatakse shelliskriptide tõlgendamiseks, mis ei alga tähega ' # '.
/ tmp / sh * Ajutine fail päringule << '.
/ etc / passwd Kodukataloogide allikas ~ nimi 'asendused.

Näited

Alustama tcsh teisest kestast käivitage käsk:

tcsh

Nüüd kirjutame lihtsa tcsh ja käivitage see.

Alustame uue faili loomisega meie toimetaja. Nimetame seda ' failiinfo ':

vi fileinfo

See käivitab meie toimetaja ja paigutage teid uude faili nimega failiinfo . (Lisateabe saamiseks meie , vaadake meie meie dokumentatsioon ). Vajutage i sisestusrežiimi sisenemiseks ja järgmise skripti sisestamiseks:

#!/bin/tcsh # Usage: fileinfo name # If there are no arguments, print a help message. if ( $#argv == 0 ) then echo 'Usage: fileinfo name' exit endif # If the first argument is not a file that exists, exit. if ( ! -e $1 ) then echo 'Error: File $1 does not exist' exit endif # List ls file info: echo '' echo 'File list info:' ls -l $1 # list file info # Show how many lines in the file: echo '' echo 'Numer of lines:' wc -l $1 # count words in this file # And what type of file it is: echo '' echo 'File type:' file $1 

Kui olete valmis, vajutage Esc sisestusrežiimist väljumiseks sisestage käsk : sisse faili salvestamiseks. Seejärel saate tippida : q väljuma meie .

Ülaltoodud skript võtab argumendina failinime ja prindib selle faili kohta teabe, sealhulgas mitu rida failis (kasutades tualett käsk) ja mis tüüpi fail see on (kasutades faili käsk).

Teeme stsenaariumi käivitatav koos chmod käsk:

chmod +x fileinfo

... ja nüüd proovime seda, hankides teavet skriptifaili enda kohta. Nagu alati, kuna skripti, mida soovime käivitada, pole meie oma TEE keskkonnamuutuja, käivitame faili, lisades selle kataloogi nimega: sel juhul praegune kataloog, ' ./ '. Meie argumendina täpsustame skripti nime (mis ei vaja kataloogi eesliidet).

./fileinfo fileinfo

Ja siin on väljund:

File list info: -rwxr-xr-x 1 username username 315 May 21 09:42 fileinfo Numer of lines: 19 fileinfo File type: fileinfo: Tenex C shell script, ASCII text executable 

bash - Shell Bourne Again käsutõlk.
csh - Shelli käsu tõlk.
ksh - Korni korpuse käsutõlk.
sh - Bourne'i shellikäskude tõlk.


Asendab faili nime, millest käsusisendit loetakse. Kui nimi pole teada, ilmneb viga.
  $  number     $  {  number  }
Samaväärne $ argv [ number ] '.
  $*  
Samaväärne $ argv ', mis on samaväärne $ argv [ * ] '.

' : jaotises kirjeldatud modifikaatorid Ajaloo asendamine , väljaarvatud ' : lk ', saab rakendada ülaltoodud asenduste korral. Kasutada võib rohkem kui ühte. Otsese käärsoole muutuva asenduse isoleerimiseks võib vaja minna breketeid, nagu ka History asendamise korral; kõik modifikaatorid peavad ilmuma traksidega.

Järgmisi asendusi ei saa muuta ' : 'modifikaatorid.

  $?   name   $  {  ?   name  }
Asendab stringi ' 1 'kui nimi on seatud, ' 0 'kui see pole nii.
  $?0  
Asendajad ' 1 'kui praegune sisendfaili nimi on teada,' 0 'kui see pole nii. Alati ' 0 'interaktiivsetes kestades.
  $#   name   ${#   name   }  
Asendab sõnade arvu nimi .
  $#  
Samaväärne $ # argv '.
  $%   name   ${%   name   }  
Asendab tähemärkide arvu nimi .
  $%   number   ${%   number   }  
Asendab tähemärkide arvu $ argv [ number ] .
  $?  
Samaväärne $ staatus '.
  $$  
Asendab (vanem) kesta (kümnendkoha) protsessinumbri.
  $!  
Asendab selle kesta poolt alustatud viimase taustaprotsessi (kümnendkoha) protsessi numbri.
  $_  
Asendab viimati täidetud käsu käsurea.
  $<  
Asendab rea reast standard sisend , ilma et seda oleks edaspidi võimalik tõlgendada. Seda saab kasutada shelliskripti abil klaviatuurilt lugemiseks. Kuigi csh tsiteerib alati $< , nagu oleks see samaväärne $<:q ', tcsh ei ole. Lisaks, millal tcsh ootab rea sisestamist, võib kasutaja sisestada katkestuse, et katkestada järjestus, millesse rida asendatakse, kuid csh ei luba seda.

Redaktori käsk laienda-muutujad , tavaliselt seotud ^ X- $ ', saab kasutada üksikute muutujate interaktiivseks laiendamiseks.

Käskude asendamine

Käskude asendamist tähistab käsk, mis on lisatud tagapakkumistesse ( ' ). Sellise käsu väljund jagatakse tühjades, vahelehtedel ja uutes ridades eraldi sõnadeks ning tühjad sõnad visatakse kõrvale. Väljund on muutuv ja käsk asendatud ning paigutatud algse stringi asemele.

Käskude asendused topelt jutumärkides ( ' ) hoida toorikud ja sakid; ainult uued read sunnivad uusi sõnu. Ühtne lõplik uus rida ei sunni igal juhul uut sõna. Seega on käsuasendusel võimalik anda ainult osa sõnast, isegi kui käsk väljastab täieliku rea.

Vaikimisi asendab shell kõik uue rea ja käru tagasituleku tähemärgid tühikutega. Kui see lülitatakse välja lülitamise teel csubstnonl , eraldab uus rida käsud nagu tavaliselt.

Failinime asendamine

Kui sõna sisaldab mõnda tähemärki * ',' ? ',' [ 'või' { 'või algab tähemärgiga' ~ 'see on kandidaat failinime asendamiseks, mida tuntakse ka kui' globbing '. Seejärel käsitletakse seda sõna mustrina ('glob-pattern') ja asendatakse mustriga sobivate failinimede tähestikulises järjekorras.

Sobivates failinimedes tähistab märk . 'failinime alguses või kohe pärast tähte' / ', samuti märk' / 'peab olema selgesõnaline (kui mitte kumbki) globdot või globstaar või mõlemad on seatud). Tegelaskuju ' * 'sobib mis tahes tähemärkide stringiga, sealhulgas null-stringiga. Tegelaskuju ' ? 'sobib ükskõik millise tähemärgiga. Järjestus ' [ ... ] 'sobib ükskõik millise lisatud tähemärgiga. Jooksul [ ... ] ', tähemärkide paar, mis on eraldatud tähega' - 'sobib mis tahes tähemärgiga nende kahe vahel leksikaalselt.

Mõned glob-mustrid saab eitada: jada ' [^ ...] 'sobib ükskõik millise tähemärgiga, mida pole määratud sulgudes olevate märkide ja / või tähemärkide vahemikega.

Kogu glob-mustri võib eitada ka ' ^ ':

echo *
bang crash crunch ouch
> echo ^cr*
bang ouch

Glob-mustrid, mis ei kasuta ? ',' * 'või' [] 'või mis kasutavad' {} 'või' ~ '(allpool) ei eitata õigesti.

Metanotatsioon ' a {b, c, d} e 'on lühend' abe äss '. Vasakult paremale on säilinud järjestus: ' /usr/source/s1/[oldls,lsíritu.c 'laieneb' /usr/source/s1/oldls.c /usr/source/s1/ls.c '. Selle järjekorra säilitamiseks sorteeritakse matšide tulemused eraldi madalal tasemel: ' ../{memo,*box} 'võib laieneda' ../memo ../box ../mbox '. Pange tähele, et ' memo 'ei olnud sobitamise tulemustega sorteeritud' * kast '. See ei ole viga, kui see konstruktsioon laieneb failidele, mida pole olemas, kuid on võimalik saada tõrge käsust, millele laiendatud loend edastatakse. See konstruktsioon võib olla pesastatud. Erijuhtumina lisatakse sõnad ' { ',' } 'ja' {} 'läbitakse häirimatult.

Tegelaskuju ' ~ 'viitab failinime alguses kodukataloogidele. Üksi seistes, s.t. ~ ', laieneb see kutsuja kodukataloogi, nagu kajastub koduse shellimuutuja väärtuses. Kui sellele järgneb nimi, mis koosneb tähtedest, numbritest ja ' - tähemärgid, mille kest otsib selle nimega kasutajat ja asendab nende kodukataloogi; seega ' ~ ken 'võib laieneda' / usr / ken 'ja' ~ ken / chmach 'kuni' / usr / ken / chmach '. Kui märk ” ~ '-le järgneb muu täht kui täht või' / 'või ilmub mujal kui sõna alguses, see jääb häirimata. Käsk nagu ' setenv MANPATH / usr / man: / usr / local / man: ~ / lib / man 'ei tee seetõttu kodukataloogi asendamist, nagu võiks loota.

käivitage käsurealt partiifail

See on viga glob-mustri korral, mis sisaldab * ',' ? ',' [ 'või' ~ ', koos või ilma ' ^ ', mitte ühegi failiga sobitamiseks. Kuid failiga peab vastama ainult üks glob-mustrite loendis olev muster (nii et näiteks ' rm * .a * .c * .o 'ebaõnnestub ainult siis, kui praeguses kataloogis, mis lõpeb .et ',' .c 'või' või ') ja kui nonomatch shellimuutujale määratakse muster (või mustrite loend), mis ei ühti millegagi, ei muutu selle asemel, et viga tekitada.

The globstaar shellimuutuja saab seadistada lubama ' ** 'või' *** 'faili glob mustrina, mis sobib mis tahes tähemärgijoonega, sealhulgas' / ', mis läbib rekursiivselt kõiki olemasolevaid alamkatalooge. Näiteks, ' ls **. c 'loetleb kõik .c failid praeguses kataloogipuus. Kui seda kasutatakse iseenesest, sobib see nulli või enama alamkataloogiga (nt ' ls /usr/include/**/time.h 'loetleb faili nimega' aeg.h 'sisse / usr / include kataloogipuu; ' ls /usr/include/**time.h 'sobib mis tahes failiga / usr / include kataloogipuu, mis lõpeb ' aeg.h '; ja ' ls /usr/include/**time**.h 'sobib mis tahes .h faili ' aeg 'kas alamkataloogi nimes või failinimes endas'. Rekursiooniga seotud probleemide vältimiseks tuleb ** 'glob-muster ei taandu kataloogi sisaldavale sümboolsele lingile. Selle tühistamiseks kasutage *** '

The noglob kest muutuja saab seada failinime asendamise vältimiseks ja laienema-glob redaktori käsk, tavaliselt seotud ^ X- * ', saab kasutada üksikute failinimede asenduste interaktiivseks laiendamiseks.

Kataloogivirna asendamine

Kataloogivirn on nullist nummerdatud kataloogide loend, mida kasutab pushd , popd ja dirs sisseehitatud käsud. dirs saab igal ajal printida, faili salvestada, kataloogivirna taastada ja kustutada ning päästetud ja dirsfile shellimuutujaid saab seadistada kataloogivirna automaatseks sisselogimisel salvestamiseks ja sisselogimisel taastamiseks. The dirstack shellimuutujat saab uurida kataloogivirna nägemiseks ja seadistada suvaliste kataloogide lisamiseks kataloogivirnasse.

Tegelaskuju ' = ', millele järgneb üks või mitu numbrit, laieneb kataloogivirna kirjele. Erijuhtum ” = - 'laieneb virna viimase kataloogini. Näiteks,

dirs -v
0 /usr/bin 1 /usr/spool/uucp 2 /usr/accts/sys
echo =1
/usr/spool/uucp
echo =0/calendar
/usr/bin/calendar
echo =-
/usr/accts/sys

The noglob ja nonomatch kest muutujad ja laienema-glob redaktori käsk kehtib nii kataloogivirnale kui ka failinime asendustele.

Muud asendused

Failinimedega on seotud veel mitu teisendust, mis pole ülaltooduga rangelt seotud, kuid on siin täielikkuse huvides mainitud. Kui sümbollinkide muutuja väärtuseks on seatud laienemine, võib failinime laiendada täielikule teele. Tsiteerimine takistab seda laienemist ja normaliseerida-tee toimetaja käsk teeb seda nõudmisel. The normaliseeri-käsu redaktori käsk laiendab käske sisse TEE nõudmisel täielikele radadele. Lõpuks CD ja pushd tõlgendama ' - vana töökataloogina (samaväärne shellimuutujaga võlgu ). See pole üldse asendus, vaid lühend, mille tunnevad ära ainult need käsud. Sellegipoolest saab seda ka tsiteerides ära hoida.

Käsud

Järgmises kolmes osas kirjeldatakse, kuidas kest käske täidab ning nende sisendi ja väljundiga tegeleb.

Lihtsad käsud, torujuhtmed ja järjestused

Lihtkäsk on sõnade jada, millest esimene määrab täidetava käsu. Rida lihtsaid käske, millega on ühendatud ' | tähemärgid moodustavad torujuhtme. Iga torujuhtme käsu väljund on ühendatud järgmise sisendiga.

Lihtsad käsud ja torujuhtmed võib ühendada 'jadadeks' ; 'ja täidetakse järjestikku. Käsud ja torujuhtmed saab ka järjestusteks ühendada ' || 'või' && ', mis näitab nagu C keel , et teine ​​täidetakse ainult siis, kui esimene ebaõnnestub või õnnestub.

Sulgudesse võib panna lihtsa käsu, torujuhtme või järjestuse. ' () ', et moodustada lihtne käsk, mis omakorda võib olla torujuhtme või jada komponent. Käsu, torujuhtme või järjestuse saab käivitada ootamata, kuni see lõpeb, järgides seda ' & '.

Sisseehitatud ja sisseehitamata käskude täitmine

Sisseehitatud käsud täidetakse kestas. Kui mõni torujuhtme komponent peale viimase on sisseehitatud käsk, käivitatakse torujuhe alamkoos.

Sulgudega käsud täidetakse alati alamkoores.

(cd; pwd); pwd

See käsk prindib kodukataloogi, jättes teid sinna, kus viibisite (printides selle pärast kodukataloogi)

cd; pwd

jätab teid kodukataloogi. Ennetamiseks kasutatakse kõige sagedamini sulgudes käske CD praeguse kesta mõjutamisest.

Kui leitakse, et käivitatav käsk ei ole sisseehitatud käsk, üritab shell käsku täita täitma süsteemi käsk. Iga muutuja tee sõna nimetab kataloogi, kus kest otsib käsku. Kui kestale ei anta a -f suvandina räsib kest nende kataloogide nimed sisemiseks tabeliks, nii et see proovib täitma ainult kataloogis, kus on võimalus, et käsk asub seal. See kiirendab käsu asukohta suuresti, kui otsinguteel on suur hulk katalooge. Seda räsimismehhanismi ei kasutata:

  1. Kui räsimine on teenuse kaudu selgesõnaliselt välja lülitatud lahti .
  2. Kui kestale anti a -f argument.
  3. Iga kataloogi komponendi jaoks tee mis ei alga tähega ' / '.
  4. Kui käsk sisaldab ' / '.

Eeltoodud neljal juhul ühendab kest teevektori iga komponendi antud käsunimega, et moodustada faili teenimi, mida ta seejärel proovib seda täita. Kui käivitamine on edukas, peatub otsing.

Kui fail on käivitatud õigused kuid ei ole süsteemi käivitatav (s.t see ei ole käivitatav kahendkood ega skript, mis määrab selle interpretaatori), siis eeldatakse, et see on shellikäske sisaldav fail ja selle lugemiseks sünnitatakse uus kest. The kest spetsiaalse pseudonüümi võib määrata muu tõlgi määramiseks kui shell ise.

Süsteemides, mis ei mõista #! 'skripti tõlgendamise konventsioon, mille koore võib kompileerida selle jäljendamiseks; vaata versioon kest muutuja. Kui jah, kontrollib kest faili esimest rida, et näha, kas see on vormi ' #! tõlk vihane ... '. Kui see on nii, siis käivitab kest tõlgi etteantud väärtusega vihane s ja toidab faili sellele edasi standard sisend .

Sisend väljund

Käsu standardse sisendi ja standardväljundi saab suunata järgmise süntaksiga:

  <   name  
Avatud fail nimi (mis on esimene muutuja, laiendatud käsk ja failinimi) standardse sisendina.
  <<   word  
Loe shellisisestust kuni reani, mis on identne sõna . sõna ei allu muutujale, failinimele ega käsu asendamisele ning iga sisendrida võrreldakse sõna enne kui sellel sisendjoonel asendusi tehakse. Kui just tsiteerida , ' , ' või ' ilmub sõna muutuja ja käskude asendamine tehakse sekkuvatel ridadel, võimaldades tsiteerida $ , ja ' . Asendatud käskudel on kõik tühjad kohad, vahelehed ja uusjooned säilinud, välja arvatud lõplik uus rida, mis loobutakse. Saadud tekst paigutatakse anonüümsesse ajutisse faili, mis antakse käsule standardse sisendina.
  >   name   >!   name   >&   name   >&!   name  
Faili nime kasutatakse standardväljundina. Kui faili pole olemas, siis see luuakse; kui fail on olemas, siis on kärbitud , selle varasem sisu on kadunud.

Kui kest muutuja nokitseja on seatud, siis ei tohi faili olla või see peab olema tähemärgifail (nt terminal või ' / dev / null ') või ilmneb viga. See aitab vältida failide juhuslikku hävitamist. Sel juhul ! Selle kontrolli mahasurumiseks saab kasutada vorme '.

Vormid, mis hõlmavad & 'suunab diagnostikaväljund nii määratud faili kui ka standardväljundisse. nimi laieneb samamoodi nagu ' < 'sisendfailinimed on.
  >>   name   >>&   name   >>!   name   >>&!   name  
Meeldib > ', kuid lisab väljundi domeeni lõppu nimi . Kui kest muutuja nokitseja on seatud, siis on viga, et faili pole olemas, välja arvatud juhul, kui üks ! on antud vormid.

Käsk võtab vastu keskkonna, kus kest käivitati, muutes sisend-väljundparameetrid ja käsu olemasolu torujuhtmes. Seega, erinevalt mõnest varasemast kestast, pole shellikäskude failist käivitatud käskudel vaikimisi juurdepääsu käskude tekstile; pigem saavad nad kesta algse standardse sisendi. ' << 'Sisemiste andmete esitamiseks tuleks kasutada mehhanismi. See võimaldab shellikäsu skriptidel toimida torujuhtmete komponentidena ja võimaldab shellil blokeerida selle sisendi lugemist. Pange tähele, et eraldatud käsu käitamise vaikimisi standardne sisend ei ole tühi fail / dev / null , kuid koore algne standardsisend. Kui see on terminal ja kui protsess üritab terminalist lugeda, siis protsess blokeeritakse ja kasutajat teavitatakse (vt. Töökohad ).

Diagnostikaväljundit võib suunata läbi standardväljundiga toru. Kasuta vormi ' | & 'mitte lihtsalt' | '.

Kest ei saa praegu diagnostilist väljundit ümber suunata, suunamata ka standardväljundit, kuid ' (käsk> väljundfail)> & tõrkefail 'on sageli vastuvõetav lahendus. Mõlemad väljund-fail või veafail võib olla ' / dev / tty 'väljundi terminali saatmiseks.

Funktsioonid

Kontrollige voolu

Kest sisaldab mitmeid käske, mida saab kasutada juhtimisvoo reguleerimiseks käsufailides (shelliskriptid) ja (piiratud, kuid kasulikel viisidel) terminali sisendist. Kõik need käsud toimivad nii, et sunnib kesta oma sisendit uuesti lugema või vahele jätma ning rakendamise tõttu piirab mõne käsu paigutust.

The igaühele , lüliti ja samas avaldused, samuti kui-siis-veel vormis kui avaldus nõuab, et peamised märksõnad ilmuksid sisendireal ühe lihtsa käsuna, nagu allpool näidatud.

Kui kesta sisendit pole võimalik otsida, puhverdab kest sisendit iga kord, kui silmus loetakse, ja sooritab selles sisepuhvris otsingu, et saavutada silmusest tulenev uuesti lugemine. Sel määral, kui see võimaldab, tahapoole minema s õnnestub mitte-otsitavate sisendite korral.

Avaldised

The kui , samas ja väljumine sisseehitatud käsud kasutavad ühise süntaksiga väljendeid. Avaldised võivad hõlmata mis tahes järgmist kolme jaotist kirjeldatud operaatorit. Pange tähele, et @ builtin käsul on oma eraldi süntaks.

Loogilised, aritmeetilised ja võrdlusoperaatorid

Need operaatorid on sarnased operaatoritega C ja neil on sama ülimuslikkus. Nad sisaldavad:

|| && | ^ & == != =~ !~ = <> + - * / % ! ~ ( )

Siin suureneb ülimuslikkus loendis allapoole, ' == ' ! = ' = ~ 'ja' ! ~ ',' <= ' > = ' < 'ja' > ',' << 'ja' >> ',' + 'ja' - ',' * ' / 'ja' % 'rühmades olles samal tasemel. ' == ' ! = ' = ~ 'ja' ! ~ 'võrdlevad operaatorid oma argumente stringid ; kõik teised opereerivad numbritega. Operaatorite = ~ 'ja' ! ~ ' on nagu ' ! = 'ja' == 'välja arvatud see, et parem külg on globaalne muster (vt Failinime asendamine ), millega vasaku käe operand sobitatakse. See vähendab lüliti builtin käsk shelliskriptides, kui tegelikult on vaja ainult mustri sobitamist.

Arvestatakse tühiseid või puuduvaid argumente 0 '. Kõigi avaldiste tulemused on stringid, mis tähistavad kümnendarvusid. Oluline on märkida, et ühes sõnas ei saa esineda avaldise kahte komponenti; välja arvatud parseri jaoks süntaktiliselt oluliste avaldiste komponentide kõrval (' & ' | ' < ' > ' ( ' ) ') need peaksid olema ümbritsetud tühikutega.

Käsu väljumise olek

Käske saab käivitada avaldistega ja nende väljumise oleku saab taastada sulgudes (' {} '). Pidage meeles, et traksid peaksid käsu sõnadest eraldama tühikutega. Käskude hukkamine õnnestub, tagastades tõese, st ' 1 ', kui käsk väljub olekuga 0 , muidu nad ebaõnnestuvad, tagastades vale, st ' 0 '. Kui on vaja üksikasjalikumat olekuteavet, tuleks käsk täita väljaspool avaldist ja uurida olekukesta muutujat.

Toimikute uurimise operaatorid

Mõned neist operaatoritest teostavad failide ja seotud objektide tõelisi / valesid teste. Need on vormis - peal faili , kus peal on üks järgmistest:

r Lugemisõigus
aastal Kirjutusjuurdepääs
x Käivitage juurdepääs
X Täidetav sisseehitatud tees või kestas, nt ' -X ls 'ja' -X ls-F 'on üldiselt tõesed, kuid' -X / bin / ls ' ei ole
on Olemasolu
või Omandiline kuuluvus
koos Null suurus
s Nulliväline suurus
f Tavaline fail
d Kataloog
l Sümboolne link *
b Blokeeri erifail
c Märkide erifail
lk Nimeline toru (fifo) *
S Spetsiaalne failifail *
u Set-user-ID bit on määratud
g Set-group-ID bit on määratud
kuni Kleepuv otsik on seatud
t fail (mis peab olema number) on lõppseadme avatud failikirjeldus
R On üle viidud (ainult kumer)
L Rakendab mitmeoperaatori testis järgnevaid operaatoreid sümboolsele lingile, mitte failile, millele link osutab *

faili laiendatakse käsu- ja failinime ning seejärel testitakse, kas sellel on tegeliku kasutajaga määratud seos. Kui faili pole või see pole ligipääsetav, või * ', kui määratud failitüüpi praeguses süsteemis pole, tagastavad kõik päringud vale, s.t' 0 '.

Neid operaatoreid võib lühiduse huvides kombineerida: ' -xy fail 'on samaväärne -x fail ja & -y fail '. Näiteks, ' -fx 'on tõene (tagastab' 1 ') tavaliste käivitatavate failide jaoks, kuid mitte kataloogide jaoks.

L võib mitme operaatori testis kasutada järgnevate operaatorite rakendamiseks sümboolsele lingile, mitte failile, millele link osutab. Näiteks, ' - Kuule 'kehtib kutsuvate kasutajate linkide kohta. Lr , Madal ja Lx on linkide puhul alati tõesed ja mittelinkide puhul valed. L millel on erinev tähendus, kui ta on viimane operaator mitme operaatori testis; vaata allpool.

Ootajaid on võimalik ühendada, kuid mitte kasulik ja mõnikord eksitav faili olla fail operaatoritega, kes seda ei tee (nt X ja t ). Järgnev L mitte-failioperaatoriga võib see tuua eriti kummalisi tulemusi.

Teised operaatorid tagastavad muu teabe, st mitte ainult 0 'või' 1 '. Neil on sama formaat nagu varem; peal võib olla üks järgmistest

TO Viimane faili juurdepääsuaeg, sekundite arv ajast alates
TO: Meeldib TO , kuid ajatempli vormingus, nt R 14. mai 16:36:10 1993 '
M Viimase faili muutmise aeg
M: Meeldib M , kuid ajatempli vormingus
C Viimane inoodi muutmise aeg
C: Meeldib C , kuid ajatempli vormingus
D Seadme number
Mina Inode number
F Liitfaili identifikaator kujul seade : inode
L Faili nimi, millele osutab sümboolne link
N (Kõvade) linkide arv
P Õigused kaheksandis ilma nulli ees
P: Meeldib P , juhtiva nulliga
Pmode Samaväärne -P fail ja režiim 'nt' -P22 fail 'tagastab' 22 'kui fail on kirjutatav rühmade ja muude kaupa,' kakskümmend 'kui ainult rühmade kaupa, ja' 0 'kui kumbki neist ei tee
Pmode: Meeldib Pmode , juhtiva nulliga
U Numbriline kasutajatunnus
Sisse: Kasutajanimi või arvuline kasutajatunnus, kui kasutajanimi pole teada
G Numbriline rühmagrupp
G: Grupi nimi või arvuline grupi ID, kui grupi nimi on teadmata
KOOS Suurus baitides

Ainult üks neist operaatoritest võib esineda mitme operaatori testis ja see peab olema viimane. Pange tähele, et L on mitme operaatori testi lõpus ja mujal erinev tähendus. Sest 0 'on paljude nende operaatorite jaoks kehtiv tagastusväärtus, nad ei tagasta' 0 'kui nad ebaõnnestuvad: enamik naaseb' -1 'ja F tagastab ' : '.

Kui kest on kompileeritud defineeritud POSIX-iga (vt versioonimuutuja versioon), põhineb failipäringu tulemus faili lubabittidel, mitte juurdepääsusüsteemi kõne tulemusel. Näiteks kui testitakse faili sisse kelle õigused lubaksid tavaliselt kirjutada, kuid see on failisüsteemile ühendatud kirjutuskaitstud, õnnestub test POSIX-i kestas, kuid ebaõnnestub mitte-POSIX-i kestas.

Failide päringuoperaatoreid saab hinnata ka failitest sisseehitatud käsk.

Töökohad

Kest seob töö iga torujuhtmega. See hoiab praeguste tööde tabelit, mille on printinud töökohti ja määrab neile väikesed täisarvud. Kui tööd alustatakse asünkroonselt ' & ', trükib kest välja välimuse

[1] 1234

mis näitab, et asünkroonselt alustatud töö oli töö number 1 ja tal oli üks (tipptasemel) protsess, mille protsessi ID oli 1234 .

Kui teil on töö ja soovite midagi muud teha, võite vajutada peatamisnuppu (tavaliselt ^ Z ), mis saadab praegusele tööle STOP-signaali. Koor näitab tavaliselt, et töö on peatatud, ja prindib veel ühe viiba. Kui listjobs shellimuutuja on seatud, loetletakse kõik tööd nagu töökohti sisseehitatud käsk; kui see on seatud väärtusele ' pikk 'kirje on pikas vormingus nagu' töökohti -l '. Seejärel saate peatatud töö olekuga manipuleerida. Võite selle panna taustaga bg käsk või käivitage mõned muud käsud ja lõpuks tooge töö uuesti esiplaanile fg . (Vt ka run-fg-editor redaktori käsk.) A ' ^ Z 'jõustub kohe ja on nagu katkestus selles, et ootel olev väljund ja lugemata sisend visatakse selle sisestamisel kõrvale. The oota builtin käsk paneb shell ootama kõigi tausttööde lõpuleviimist.

' ^] võti saadab viivitatud peatussignaali, mis ei genereeri STOP-signaali enne, kui programm seda proovib lugeda praegusele töökohale. Seda saab kasulikuks tippida juba siis, kui olete töö jaoks ette valmistanud mõned käsud, mille soovite lõpetada pärast seda, kui töö on need läbi loetud. ' ^ Ja 'klahv täidab seda funktsiooni csh ; aastal tcsh , ' ^ Ja 'on redigeerimiskäsk.

Taustal töötav töö peatub, kui see proovib terminalist lugeda. Tausttöödel lubatakse tavaliselt väljundit toota, kuid selle saab keelata, andes käsu ' stty tostop '. Kui määrate selle valiku tty, siis tausttööd peatuvad, kui nad üritavad väljundit toota nagu sisendi lugemisel.

Kestis olevatele töökohtadele viitamiseks on mitu võimalust. Tegelaskuju ' % tutvustab ametinime. Kui soovite viidata töökoha numbrile 1 , võite selle nimetada kui % 1 '. Juba töö nimetamine toob selle esiplaanile; seega ' % 1 'on' sünonüüm fg% 1 ', tuues 1. töö tagasi esiplaanile. Samamoodi öeldes: % 1 & 'jätkab tööd 1 taustal, nagu ka' bg% 1 '. Töö võib nimetada ka selle käivitamiseks sisestatud stringi ühemõttelise eesliitega: ' % endine 'taaskäivitaks tavaliselt peatatud endine töö, kui oleks ainult üks peatatud töö, mille nimi algas stringiga ' endine '. Samuti on võimalik öelda %? string ', et määrata töö, mille tekst sisaldab string , kui selliseid töid on ainult üks.

Kest säilitab arusaama praegustest ja eelmistest töökohtadest. Tööga seotud väljundis on praegune töö tähistatud tähega + 'ja eelmine töökoht tähega' - '. Lühendid ' % + ',' % 'ja (analoogia põhjal ajaloo mehhanismi süntaksiga)' %% 'kõik viitavad praegusele töökohale ja' % - 'viitab eelmisele töökohale.

Töökontrolli mehhanism nõuab, et stty variant ' uus 'seadistada mõnes süsteemis. See on artefakt uus draiveri tty rakendamine, mis võimaldab katkestusmärkide genereerimisel klaviatuurilt töö lõpetamiseks. Vaata stty ja väike sisseehitatud käsk, et saada üksikasju uue TTY draiveri valikute seadistamise kohta.

Olekuaruandlus

Kest õpib kohe, kui protsess muudab olekut. Tavaliselt teavitab ta teid alati, kui töö blokeeritakse, nii et edasised edusammud pole võimalikud, vaid alles enne viipa printimist. Seda tehakse nii, et see muidu teie tööd ei häiriks. Kui määrate siiski shellimuutuja teatama , teavitab kest teid kohe tausttööde oleku muutustest. Samuti on olemas shellikäsk teatama mis tähistab ühte protsessi, nii et selle staatuse muutustest teatatakse kohe. Vaikimisi tähistab teavitus praegust protsessi; ütle ' teatama 'pärast tausttöö alustamist selle märkimiseks.

Kui proovite kestast lahkuda, kui töökohad on lõpetatud, hoiatatakse teid, et 'peatatud töökohti on'. Võite kasutada töökohti käsk näha, mis need on. Kui teete seda või proovite kohe uuesti väljuda, ei hoia shell teid teist korda ja peatatud tööd lõpetatakse.

Automaatsed, perioodilised ja ajastatud sündmused

Shelli 'elutsükli' erinevatel aegadel saab käske käivitada ja muid toiminguid automaatselt teha mitmel viisil. Need on siin kokku võetud ja üksikasjalikult kirjeldatud vastava all Sisseehitatud käsud , Spetsiaalsed kestamuutujad ja Spetsiaalsed varjunimed .

The ajakava builtin käsk paneb käsud plaanitud sündmuste loendisse, mille shell peab teatud aja jooksul täitma.

The piiks cmd , cwdcmd , perioodiline , precmd , postcmd ja jobcmd Spetsiaalsed varjunimed saab vastavalt seadistada käskude täitmiseks, kui kest soovib kella helistada, kui töökataloog muutub, iga tperiood minutit enne iga viipa, enne iga käsu täitmist, pärast iga käsu täitmist ja töö alustamist või esiplaanile toomist.

The automaatne otsing shellimuutuja saab seadistada kest välja logima või lukustama pärast teatud arvu mitteaktiivsust.

The mail shellimuutuja saab seadistada perioodiliselt uute kirjade kontrollimiseks.

The printexitvalue shellimuutuja saab seada väljatrükkimiseks käskude väljumise oleku, mis väljuvad olekuga kui null.

The rmstar shellimuutuja saab seada küsima kasutajalt, millal ' rm * 'kirjutatakse, kui seda tegelikult mõeldi.

The aeg shellimuutuja saab seadistada sisseehitatud aja käsu täitmiseks pärast kõigi protsesside lõpuleviimist, mis võtavad rohkem kui etteantud arvu protsessori sekundeid.

The vaatama ja WHO shellimuutujaid saab seada teatama, kui valitud kasutajad sisse või välja logivad, ja logi sisseehitatud käsk annab nende kasutajate kohta igal ajal aru.

Emakeelsüsteemi tugi

Kest on kaheksa bitti puhas (kui jah koostatud ; vaata versioon shellimuutuja) ja toetab seega seda võimekust vajavaid tähemärke. NLS-i tugi erineb sõltuvalt sellest, kas kest kompileeriti süsteemi NLS-i kasutamiseks (vt uuesti versioon ). Mõlemal juhul 7-bitine ASCII on vaikimisi märgikood (nt klassifitseeritavate märkide klassifikatsioon) ja sortimine ning muutmine LANG või LC_CTYPE keskkonnamuutujad kontrollib nende aspektide võimalikke muutusi.

Süsteemi NLS-i kasutamisel setlocale funktsiooni kutsutakse sobiva märgikoodi / klassifikatsiooni ja sortimise määramiseks (nt et_CA.UTF-8 'annaks järele' UTF-8 tähemärgikoodina). See funktsioon uurib tavaliselt LANG ja LC_CTYPE keskkonnamuutujad; Lisateavet leiate süsteemi dokumentatsioonist. Kui süsteemi NLS-i ei kasutata, simuleerib kest seda, eeldades, et ISO 8859-1 märgistikku kasutatakse alati, kui kumbagi LANG ja LC_CTYPE muutujad on seatud, olenemata nende väärtustest. Simuleeritud NLS ei mõjuta sorteerimist.

Samuti nii reaalse kui ka simuleeritud NLS-i korral on kõik prinditavad tähemärgid vahemikus 200 - 377 , st need, millel on M-char-sidemed, taastatakse automaatselt ise sisesta-käsk . Vastav seondumine escape-char järjestusele, kui see on olemas, jääb üksi. Need märgid pole tagasilöögid, kui NOREBIND keskkonnamuutuja on seatud. See võib olla kasulik simuleeritud NLS-i või primitiivse reaalse NLS-i jaoks, mille eelduseks on täielik ISO 8859-1. Muidu kõik vahemikus olevad M-char sidemed 240 - 377 on tegelikult tagasi võetud. Asjakohaste võtmete selgesõnaline taasesitamine bindkey abil on muidugi endiselt võimalik.

Tundmatud tähemärgid (st need, mida ei saa printida ega kontrollmärke) prinditakse vormingus nnn . Kui tty pole 8-bitises režiimis, prinditakse ülejäänud 8-bitised tähemärgid, teisendades need ASCII-ks ja kasutades standout-režiimi. Kest ei muuda kunagi tty 7/8-bitist režiimi ja jälgib kasutaja algatatud 7/8-bitise režiimi muudatusi. NLS-i kasutajad (või siis need, kes soovivad kasutada metavõtit) võivad vajada tty selgesõnaliselt seadistamiseks 8-bitises režiimis stty käsk näiteks ~ / .login faili.

OS-i variandi tugi

Teatud operatsioonisüsteemide funktsioonide toetamiseks pakutakse mitmeid uusi sisseehitatud käske. Kõiki neid on üksikasjalikult kirjeldatud dokumendis Sisseehitatud käsud jaotises.

TCF-i toetavatel süsteemidel (aix-ibm370, aix-ps2) saab rada ja setpath saada ja määrata süsteemi käivitamise tee, getxvers ja setxvers hankige ja määrake eksperimentaalse versiooni eesliide ning migreerige protsesside saitide vahel migreerimine. The töökohti builtin prindib saidi, kus iga töö käib.

BS2000 alusel bs2cmd täidab aluseks oleva BS2000 / OSD operatsioonisüsteemi käske.

Domeeni / OS all inlib lisab praegusesse keskkonda jagatud teegid, juursõlm muudab juursõlme ja vaatama muudab süstüüpi.

Machi all, seatpath on samaväärne Machi omadega seatpath .

Masscomp / RTU ja Harris CX / UX alluvuses universum määrab universum .

Harris CX / UX all, ucb või kuni käivitab käsu määratud universumi all.

Jaotises Kumer / OS lõime prindib või seab universumi.

The MÜÜJA , OSTYPE ja MAKHTÜÜP keskkonnamuutujad näitavad vastavalt selle süsteemi müüjat, operatsioonisüsteemi ja masina tüüpi (mikroprotsessoriklass või masinamudel), millel shell arvab töötavat. Need on eriti kasulikud kodukataloogi jagamisel mitut tüüpi masinate vahel; võib näiteks

set path = (~/bin.$MACHTYPE /usr/ucb /bin /usr/bin .)

oma ~ / .login ja pange iga masina jaoks kompileeritud käivitatavad failid vastavasse kataloogi.

The versioon shell muutuja näitab, millised valikud olid koore koostamisel valitud.

Pange tähele ka newgrp sisseehitatud, detox ja echo_style kesta muutujad ja kesta sisendfailide süsteemist sõltuvad asukohad (vt Toimikud ).

Signaali käitlemine

Sisselogimiskarbid ignoreerivad faili lugemisel katkestusi ~ / .logout . Kest ignoreerib lõpetamist signaale kui sellega ei alustatud -q . Sisselogimiskoorid tabavad lõpetamise signaali, kuid sisselogimata kestad pärivad lõpetamise käitumise oma vanematelt. Teistel signaalidel on väärtused, mille kest vanemalt päris.

kuidas wifi välja lülitada

Kestskriptides saab juhtimisega katkestus- ja lõpetamissignaalide juhtimist juhtida onintr ja selle hangupide käsitlemist saab kontrollida hüppama ja nohup .

Kest väljub hangupist (vt ka Logi välja kest muutuja). Vaikimisi teevad seda ka kesta lapsed, kuid kest ei saada neile väljumisel hangupi. hüppama korraldab, et kest saadaks lapsele väljumisel hangupi ja nohup paneb lapse hanguppe eirama.

Terminalide haldamine

Kest kasutab kolme erinevat terminalirežiimi komplekti ('tty'): 'edit', mida kasutatakse redigeerimisel, 'quote', kasutatakse sõna-sõnalt märkide tsiteerimisel ja 'execute', mida kasutatakse käskude täitmisel. Kest hoiab mõnes režiimis mõnda seadistust konstantsena, nii et käsud, mis jätavad tty segadusse, ei häiri kesta. Kest vastab ka tty kiiruse ja polsterduse muutustele. Muutumatute režiimide loendit saab uurida ja muuta režiimiga väike sisseehitatud. Pange tähele, et kuigi redaktor kasutab režiimi CBREAK (või selle ekvivalenti), võtab see ikkagi trükitud märke.

The echotc , sett ja jutustama käske saab kasutada terminali võimaluste käsurealt manipuleerimiseks ja silumiseks.

Toetavate süsteemide kohta SIGWINCH või SIGWINDOW , kohaneb kest automaatselt akna suuruse muutmisega ja kohandab keskkonnamuutujaid RIDAD ja VEERUD kui see on seatud. Kui keskkonnamuutuja TERMCAP sisaldab juures# ja Mida# väljad, kohendab kest neid vastavalt uue akna suurusele.

Sisseehitatud käsud

  %i   job  
Sünonüüm fg sisseehitatud käsk.
  %   job   &  
Sünonüüm bg sisseehitatud käsk.
  :  
Ei tee midagi, edukalt.
  @   @   name   =   expr   @   name  [  index  ]  =   expr   @   name   ++  |  --   @   name  [  index  ]  ++  |  --  
Esimene vorm prindib kõigi kestamuutujate väärtused.

Teine vorm määrab väärtuse väljend kuni nimi . Kolmas vorm määrab väärtuse väljend Euroopa indeks osa komponent nimi ; mõlemad nimi ja selle indeks 'komponent peab juba olemas olema.

väljend võivad sisaldada operaatorite * ',' + 'jne C . Kui väljend sisaldab ' < ',' > ',' & 'või' ' 'siis vähemalt selle osa väljend tuleb paigutada () '. Pange tähele, et väljend pole midagi pistmist väljendite all kirjeldatuga.

Neljas ja viies moodustavad juurdekasvu (' ++ ') või vähendamine (' - ') nimi või selle nimi indeks kolmas komponent.

Ruum ' @ 'ja nimi on kohustuslik. Ruumid nende vahel nimi ja ' = 'ja' vahel = 'ja väljend on valikulised. Komponendid väljend tuleb tühikutega eraldada.
  alias  [  name  [  wordlist  ]]
Ilma argumentideta prindib kõik varjunimed. Koos nimi , prindib varjunime nimi . Koos nimi ja sõnaloend , määrab sõnaloend kui varjunimi nimi . sõnaloend on käsu- ja failinimega asendatud. nimi ei pruugi olla „alias” ega „unalias”. Vaata ka unaliad sisseehitatud käsk.
  alloc  
Näitab omandatud dünaamilise mälu mahtu, jaotatuna kasutatud ja vabaks mäluks. Argumendiga kuvatakse igas suuruskategoorias vabade ja kasutatud plokkide arv. Kategooriad algavad suurusest 8 ja kahekordistuvad igal sammul. Selle käsu väljund võib süsteemitüübi järgi erineda, kuna muud süsteemid kui VAX võivad kasutada erinevat mälujagurit.
  bg  [  %   job  ...]
Paneb määratud töö s (või argumentideta praegune töö) tagaplaanile, jätkates kumbagi, kui see peatatakse. töö võib olla number, string, ' , % , + või - nagu on kirjeldatud punktis Töökohad .
  bindkey  [  -l  |  -d  |  -e  |  -v  |  -u  ]  bindkey  [  -a  ] [  -b  ] [  -k  ] [  -r  ] [  --  ]  key   bindkey  [  -a  ] [  -b  ] [  -k  ] [  -c  |  -s  ] [  --  ]  key   command  
Ilma valikuteta loetleb esimene vorm kõik seotud võtmed ja redaktori käsu, millega kumbki on seotud, teises vormis on redaktori käsk, millega võti on seotud, ja kolmas vorm seob redaktori käsu võtmega. Valikute hulka kuuluvad:

-L Loetleb kõik redaktori käsud ja nende lühikirjeldus.
-d Seob kõik võtmed redaktori standardsidemetega.
-on Seob kõik võtmed standardsete GNU Emacs-laadsete köidete külge.
-v Seob kõik võtmed standardile meie -taolised köited.
-le Loendab või muudab alternatiivses võtmekaardil võtmete sidumist. See on põhikaart, mida kasutatakse meie käsurežiim.
-b võtit tõlgendatakse kui kirjutatud kontrollmärki ^ iseloomu (nt ' ^ A ') või C - iseloomu (nt ' C - TO '), kirjutatud metakangelane M - iseloomu (nt ' M - TO '), funktsiooniklahv on kirjutatud F - string (nt ' F - string ') või laiendatud eesliidevõti kirjutatud X - iseloomu (nt ' X - TO ').
-le võtit tõlgendatakse kui sümboolset nooleklahvi nime, mis võib olla üks alla ',' üles ',' vasakule 'või' eks '.
-r Eemaldab võtme sidumise. Ole ettevaatlik: ' bindkey -r 'ei seo võtit ise sisesta-käsk , seob see võtme täielikult lahti.
-c käsku tõlgendatakse redigeerija käsu asemel sisseehitatud või välise käsuna.
-s käsk võetakse sõnasõnalise stringina ja käsitletakse terminali sisendina, kui võti sisestatakse. Seotud võtmeid käsus tõlgendatakse ise ja seda jätkub kümme tõlgendustaset.
- Sunnib pausi valikute töötlemisel, nii et järgmine sõna võetakse võtmeks, isegi kui see algab tähega - '.
-u (või mis tahes sobimatu valik) Prindib kasutusteate.
võti võib olla üks märk või string. Kui käsk on seotud stringiga, on stringi esimene märk seotud järjestus-sissejuhatus ja kogu string on seotud käsuga.

Juhtmärgid võti võivad olla sõnasõnalised (neid saab tippida redaktorikäsuga eelnedes tsiteeritud-sisesta , tavaliselt seotud ^ V ') või kirjalik ei -märgi stiil, nt ' ^ A '. Kustuta on kirjutatud ' ^? '(märk-küsimärk). võti ja käsk võivad sisaldada tagasilöögiga põgenemisjärjestusi (Süsteemi V stiilis viskas välja ) järgnevalt:

to Kelluke
b Tagasilükkeklahv
on Põgeneda
f Vormivoog
n Uus rida
r Vankri tagasipöördumine
t Horisontaalne sakk
v Vertikaalne vahekaart
nnn The ASCII märk, mis vastab kaheksandarvule nnn
' 'nullib järgmise märgi eritähenduse, kui sellel on, eriti' 'ja' ^ '.
  bs2cmd   bs2000-command  
Passid bs2000-käsk Euroopa BS2000 käsutõlk täitmiseks. Käivitada saab ainult mitteinteraktiivseid käske ja pole võimalik käivitada ühtegi käsku, mis kataks praeguse protsessi pildi, näiteks / TÄITA või / KÕNEPROTSEDUUR . (Ainult BS2000)
  break  
Põhjustab täitmise jätkamist pärast lähima ümbrise lõppu igaühele või samas . Praeguse rea ülejäänud käsud täidetakse. Mitmetasandiline murda s on seega võimalik, kirjutades need kõik ühele reale.
  breaksw  
Põhjustab a murda alates lüliti , jätkatakse pärast endsw .
  builtins  
Prindib kõigi sisseehitatud käskude nimed.
  bye  
Sünonüüm Logi välja sisseehitatud käsk. Saadaval ainult siis, kui kest on nii kompileeritud; vaata versioon kest muutuja.
  case   label   :  
Sild lüliti avalduses, nagu allpool arutletud.
  cd  [  -p  ] [  -l  ] [  -n  |  -v  ] [  I--  ] [  name  ]
Kui kataloogi nimi on antud, muudab kest oma töökataloog kuni nimi . Kui ei, siis muutub Kodu . Kui nimi on ' - 'seda tõlgendatakse eelmise töökataloogina (vt Muud asendused ). Kui nimi ei ole praeguse kataloogi alamkataloog (ja ei alga tähega ' / ',' ./ 'või' ../ '), kontrollitakse muutuja cdpath iga komponenti, et näha, kas sellel on alamkataloogi nimi. Lõpuks, kui kõik muu ebaõnnestub, kuid nimi on shellimuutuja, mille väärtus algab / ', siis proovitakse seda kontrollida, kas see on kataloog.

Koos -p , prindib lõpliku kataloogivirna, täpselt nagu dirs . The -L , -n ja -v lippudel on sama mõju CD nagu edasi dirs ja nad annavad mõista -p . Kasutamine - sunnib a murda alates valikutöötlusest, nii et järgmine sõna võetakse katalooginimeks, isegi kui see algab tähega ' - '.

Vaata ka implicitcd kest muutuja.
  chdir  
Sünonüüm CD sisseehitatud käsk.
  complete  [  command  [  word   /   pattern   /   list  [  :   select  ]  /  [[  suffix  ]  /  ] ...]]
Ilma argumentideta loetleb kõik täiendused. Koos käsk , loetleb domeeni käsk . Koos käsk ja sõna jne, määratleb lõpetused.

käsk võib olla käsu täielik nimi või glob-muster (vt Failinime asendus). See võib alata - tähistab, et lõpetamist tuleks kasutada ainult siis, kui käsk on mitmetähenduslik.

sõna määrab, milline sõna praeguse sõna suhtes tuleb täita, ja see võib olla üks järgmistest:

c Praegune sõna lõpuleviimine. muster on glob-muster, mis peab vastama käsureal oleva praeguse sõna algusele. muster aktiivse sõna täitmisel eiratakse.
C Meeldib c , kuid sisaldab muster praeguse sõna lõpuleviimisel.
n Järgmise sõna lõpetamine. muster on glob-muster, mis peab vastama käsurea eelmise sõna algusele.
N Meeldib n , kuid peab vastama sõna algusele kaks enne praegust sõna.
lk Asukohast sõltuv lõpetamine. muster on arvuline vahemik, sama süntaksiga, mida kasutatakse kesta muutujate indekseerimiseks, mis peab sisaldama praegust sõna.
nimekirja , võimalike täienduste loend võib olla üks järgmistest:

kuni Varjunimed
b Köited (redaktori käsud)
c Käsud (sisseehitatud või välised käsud)
C Välised käsud, mis algavad kaasasoleva tee eesliitega
d Kataloogid
D Kataloogid, mis algavad kaasasoleva tee eesliitega
on Keskkonnamuutujad
f Failinimed
F Failinimed, mis algavad kaasasoleva tee eesliitega
g Grupinimed
j Töökohad
l Piirid
n Ei midagi
s Shelli muutujad
S Signaalid
t Tavalised failid (tekst)
T Tavalised (tekst) failid, mis algavad kaasasoleva tee eesliitega
v Kõik muutujad
u Kasutajanimed
x Meeldib n , kuid prindid valivad millal nimekiri-valikud kasutatakse.
X Lõpetused
$ kus Sõnad muutujast kus
( ... ) Sõnad antud loendist
' ... ' Sõnad käsu väljundist
valige on valikuline glob-muster. Kui antakse, siis sõnad ainult nimekirja see matš valige peetakse ja fignore shellimuutujat ignoreeritakse. Viimasel kolmel lõpetamise tüübil ei pruugi olla a valige muster ja x kasutab valige selgitava sõnumina, kui nimekiri-valikud kasutatakse redaktori käsku.

järelliide on üks märk, mis lisatakse edukale lõpuleviimisele. Kui null, pole märki lisatud. Kui see välja jätta (sellisel juhul võib ära jätta ka neljanda eraldaja), lisatakse kataloogidele kataloogi ja teistele sõnadele tühik.

käsk kutsutud ' ... ' versioonil on täiendav keskkonnamuutuja komplekt, muutuja nimi on COMMAND_LINE ja sisaldab (nagu nimigi osutab) praeguse (juba sisestatud) käsurea sisu. Võib uurida ja kasutada COMMAND_LINE muutuja oma kohandatud skriptis keerukamate lõpuleviimide loomiseks (vt svn pakendis).

Nüüd mõned näited. Mõni käsk võtab argumentidena ainult katalooge, seega pole mõtet tavalisi faile täita.

complete cd 'p/1/d/'
täidab ainult järgmise sõna ' CD '(' p / 1 ') kataloogiga. p-tüüp lõpetamist saab kasutada ka käsu täitmise kitsendamiseks:

> co[^D]
complete compress
complete -co* 'p/0/(compress)/'
co[^D]
compress
Selle lõpuleviimisega lõpetatakse käsud (sõnad positsioonil 0, ' p / 0 ') mis algavad tähega Mida '(seega sobib' Mida* ') kuni' suruma '(ainus sõna loendis). Juhtiv - 'näitab, et seda lõpuleviimist kasutatakse ainult mitmetähenduslike käskudega.

complete find 'n/-user/u/'
on näide n -tüübi valmimine. Suvaline sõna leidma 'ja kohe järgneb' -kasutaja 'on kasutajate loendist täidetud.

complete cc 'c/-I/d/'
demonstreerib c -tüübi valmimine. Suvaline sõna DC 'ja algab' -Ma 'on täidetud kataloogina. ' -Ma 'ei võeta kataloogi osana, kuna kasutasime väiketähti c .

Erinevad loendid on kasulikud erinevate käskudega.

complete alias 'p/1/a/'
complete man 'p/*/c/'
complete set 'p/1/s/'
complete true 'p/1/x:Truth has no options./'
Need täielikud sõnad järgnevad sõnale teise nimega 'varjunimedega' mees 'käskudega ja' seatud 'shellimuutujatega. ' tõsi 'ei ole ühtegi võimalust, nii et x ei tee midagi, kui proovitakse lõpule viia ja trükitakse 'Tõel pole valikuid'. kui valmimisvalikud on loetletud.

Pange tähele, et mees ja mitmed teised allpool toodud näited oleksid sama hästi võinud kasutada c / * 'või' n / * 'nagu' p / * '.

Sõnu saab täiendada muutujaga, mida hinnatakse valmimise ajal,

complete ftp 'p/1/$hostnames/'
set hostnames = (rtfm.mit.edu tesla.ee.cornell.edu)
ftp [^D]
rtfm.mit.edu tesla.ee.cornell.edu
ftp [^C]
set hostnames = (rtfm.mit.edu tesla.ee.cornell.edu uunet.uu.net)
ftp [^D]
rtfm.mit.edu tesla.ee.cornell.edu uunet.uu.net
või lõpetamise ajal käivitatud käsust:

complete kill 'p/*/'ps | awk {print }'/'
kill -9 [^D]
23113 23377 23380 23406 23429 23529 23530 PID
Pange tähele, et täielik käsk ise oma argumente ei tsiteeri, nii et traksid, tühik ja ' $ 'sisse' {print $ 1} 'tuleb tsiteerida selgesõnaliselt.

Ühel käsul võib olla mitu lõpuleviimist:

complete dbx 'p/2/(core)/' 'p/*/c/'
täiendab teist argumenti dbx 'sõnaga' tuum 'ja kõik muud käsudega argumendid. Pange tähele, et positsiooni täitmine on täpsustatud enne järgmine sõna valmimine. Sest lõpetusi hinnatakse vasakult paremale, kui järgmine sõna täpsustati kõigepealt, et see sobiks alati ja positsioonilist lõpetamist ei täideta kunagi. See on lõpetuse määratlemisel tavaline viga.

Valimismuster on kasulik, kui käsk võtab argumentidena faile, millel on ainult kindlad vormid. Näiteks,

complete cc 'p/*/f:*.[cao]/'
lõpetab ' DC 'argumendid ainult lõpuga failidele' .c ',' .et 'või' või '. valige võib faile ka välja jätta, kasutades globen-mustri eitust, nagu on kirjeldatud jaotises Failinime asendamine. Võib kasutada

complete rm 'p/*/f:^*.{c,h,cc,C,tex,1,man,l,y}/'
väärtusliku lähtekoodi väljajätmiseks rm valmimine. Muidugi võiks välistatud nimesid ikkagi käsitsi sisestada või lõpetamismehhanismi tühistada täielik-sõna-toores või nimekiri-valikud-toores redaktori käsud.

' C ',' D ',' F 'ja' T 'nimekirjad on nagu' c ',' d ',' f 'ja' t ', kuid nad kasutavad valige argument teisel viisil: piirata lõpetamist failidega, mis algavad kindla tee eesliitega. Näiteks kasutab Elmi meiliprogramm ' = 'kui lühend oma postkataloogist. Võib kasutada

complete elm [email protected] [email protected] :$HOME/Mail/@
lõpetama ' jalakas -f = 'nagu oleks' jalakas -f ~ / Mail / '. Pange tähele, et me kasutasime @ ' selle asemel ' / 'segiajamise vältimiseks valitud argumendiga ja me kasutasime' $ KODU ' selle asemel ' ~ ', sest kodukataloogi asendamine töötab ainult sõna alguses.

järelliide kasutatakse mittestandardse järelliite (mitte ruumi või ' / 'kataloogide jaoks' lõpetatud sõnadeni.

complete finger 'c/*@/$hostnames/' 'p/1/u/@'
täiendab argumente sõrm 'kasutajate loendist lisab' @ 'ja lõpeb pärast' @ ' alates ' hostinimed 'muutuja. Pange uuesti tähele järjekorda, milles lõpetused täpsustatakse.

Lõpuks on siin inspiratsiooni kompleksne näide:

complete find  'n/-name/f/' 'n/-newer/f/' 'n/-{,n}cpio/f/'  'n/-exec/c/' 'n/-ok/c/' 'n/-user/u/'  'n/-group/g/' 'n/-fstype/(nfs 4.2)/'  'n/-type/(b c d f l p s)/'  'c/-/(name newer cpio ncpio exec ok user  group fstype type atime ctime depth inum  ls mtime nogroup nouser perm print prune  size xdev)/'  'p/*/d/'
See lõpetab sõnad pärast -nimi ',' - uus ',' -cpio 'või' ncpio '(pange tähele mustrit, mis sobib mõlemaga) failidele, järgnevad sõnad' -exec 'või' -Okei 'käsud, sõnad järgnevad' kasutaja 'ja' Grupp 'vastavalt kasutajatele ja rühmadele ning sõnad järgnevad' -tüüp 'või' -tüüp 'antud nimekirja liikmetele. See täiendab ka antud loendis olevad lülitid ise (pange tähele, kuidas c -tüübi lõpuleviimine) ja lisab kataloogi kõik, mida muidu pole lõpetatud.

Pidage meeles, et programmeeritud täiendusi eiratakse, kui lõpetatav sõna on tilde asendus (algusega ' ~ ') või muutuja (algab' $ '). täielik on eksperimentaalne funktsioon ja süntaks võib kesta tulevastes versioonides muutuda. Vaata ka mittetäielik sisseehitatud käsk.
  continue  
Jätkab lähima ümbrise täitmist samas või igaühele . Ülejäänud praeguse rea käsud täidetakse.
  default:  
Sildistab vaiketähe lüliti avalduses. See peaks tulema kõigi juhtumite siltide järele.
  dirs  [  -l  ] [  -n  |  -v  ]  dirs   -S  |  -L  [  filename  ]  dirs -c  
Esimene vorm prindib kataloogivirna. Virna ülaosa on vasakul ja virna esimene kataloog on praegune kataloog. Koos -L , ' ~ 'või' ~ nimi 'väljundis laiendatakse selgesõnaliselt kasutaja nimeks kodu või kodukataloogi teenimi. Koos -n , kirjed mähitakse enne, kui need ekraani servani jõuavad. Koos -v , trükitakse kirjed üks rida, millele eelneb nende virna positsioon. Kui neid on rohkem kui üks -n või -v antakse, -v on ülimuslik. -p aktsepteeritakse, kuid ei tee midagi.

Koos -S , teine ​​vorm salvestab kataloogivirna failinimesse seeriana CD ja pushd käsud. Koos -L , kestallikad faili nimi , mis on arvatavasti kataloogivirna fail, mille on salvestanud -S valik või päästetud mehhanism. Mõlemal juhul, dirsfile kasutatakse juhul, kui faili nimi ei anta ja ~ / .cshdirs kasutatakse juhul, kui dirsfile on määramata.

Pange tähele, et sisselogimise kestad on samaväärsed dirs -L 'käivitamisel ja kui päästetud on seatud, ' dirs -S enne väljumist. Sest ainult ~ / .tcshrc hangitakse tavaliselt enne ~ / .cshdirs , dirsfile tuleks sisse seada ~ / .tcshrc pigem kui ~ / .login . Viimane vorm kustutab kataloogivirna.
  echo  [  -n  ]  word  ...
Kirjutab iga sõna kesta standardväljundisse, eraldatuna tühikutega ja lõpetades uue reaga. The echo_style Shelli muutuja võib seada jäljendama (või mitte) BSD ja / või süsteemi V versioonid viskas välja .
  echotc  [  -sv  ]  arg  ...
Harjutab terminali võimalusi (vt termcap ) sisse vaidleb vastu . Näiteks, ' echotc kodu 'saadab kursori koduasendisse,' echotc cm 3 10 saadab selle veergu 3 ja 10 ning echotc ts 0; kaja 'See on test.'; echotc fs 'prindib' See on test. 'olekureal.

Kui vihane on ' baud ',' cols ',' read ',' meta 'või' vahelehed ', prindib selle võimaluse väärtuse (' jah 'või' mitte 'näitab, et terminalil on see võimalus olemas või puudub'). Seda võib kasutada selleks, et muuta shelliskripti väljund aeglases terminalis vähem verbose või piirata käsu väljundit ekraanil olevate ridade arvuga:

set history='echotc lines'
@ history--
Termcap-stringid võivad sisaldada metamärke, mis ei kaja korrektselt. Koorimuutuja määramisel terminali võimekuse stringile tuleks kasutada topelt jutumärke, nagu järgmises näites, mis paigutab kuupäeva olekureale:

set tosl=''echotc ts 0''
set frsl=''echotc fs''
echo -n '$tosl';date; echo -n '$frsl'
Koos -s , tagastavad olematud võimalused pigem tühja stringi kui vea põhjustamise. Koos -v , sõnumid on paljusõnalised.
  else   end   endif   endsw  
Vaadake programmi kirjeldust igaühele , kui , lüliti ja samas avaldused allpool.
  eval   arg  ...
Käsitleb argumente kesta sisendina ja täidab saadud käsu (d) praeguse kesta kontekstis. Seda kasutatakse tavaliselt käskude või muutuja asendamise tulemusena loodud käskude täitmiseks, kuna sõelumine toimub enne neid asendusi. Vaata tset valimi kasutamiseks eval .
  exec   command  
Käivitab määratud käsu praeguse kesta asemel.
  exit  [  expr  ]
Kest väljub kas määratud väärtusega väljend (avaldis, mida on kirjeldatud jaotises Väljendid) või ilma väljend , väärtusega 0 .
  fg  [  %   job  ...]
Toob täpsustatud töö s (või ilma argumentideta praegune töö) esiplaanile, jätkates igaüht, kui see peatatakse. töö võib olla number, string, % , + või - nagu on kirjeldatud töökohas. Vaata ka run-fg-editor toimetaja käsk.
  filetest   -   op   file  ...
Kehtib peal (mis on toimiku päringuoperaator, nagu on kirjeldatud jaotises Failipäringu operaatorid) igale faili ja tagastab tulemused tühikutega eraldatud loendina.
  foreach   name  (  wordlist  )...  end  
Määrab muutuja nime järjest igale domeeni liikmele sõnaloend ja täidab käskude jada selle käsu ja sobitamise vahel lõpp . Mõlemad igaühele ja lõpp peab ilmuma üksi eraldi ridadel. Sisseehitatud käsk jätkata saab kasutada tsükli enneaegseks jätkamiseks ja sisseehitatud käsuks murda ennetähtaegselt lõpetada. Kui seda käsku terminalist loetakse, loetakse silmust üks kord, kui küsitakse igaühele? '(või viip2 ) enne mis tahes tsükli lausete täitmist. Kui teete vea, kirjutades terminali silmusesse, võite selle välja hõõruda.
  getspath  
Prindib süsteemi käivitamise tee. (Ainult TCF)
  getxvers  
Prindib eksperimentaalse versiooni eesliite. (Ainult TCF)
  glob   wordlist  
Meeldib viskas välja , kuid ' -n 'parameetrit ei tuvastata ja sõnad piiritletakse väljundis nullmärkidega. Kasulik programmide jaoks, mis soovivad kasutada shellit sõnaloendi failinime laiendamiseks.
  goto   word  
sõna on failinimi ja käsk asendatud, et saada string vormis ' silt '. Kest kerib oma sisendit nii palju kui võimalik, otsib rida kujul ' silt: ', millele võib eelneda tühjad kohad või vahelehed, ja see jätkub pärast seda rida.
  hashstat  
Prindib statistikarea, mis näitab, kui tõhus on sisemine räsitabel käskude leidmisel (ja vältimisel exec s). An exec proovitakse tee iga komponendi jaoks, kus räsifunktsioon näitab võimalikku lööki, ja igas komponendis, mis ei alga tähega ' / '.

Masinatel ilma vfork , prindib ainult räsikoppide arvu ja suuruse.
  history  [  -hTr  ] [  n  ]  history -S  |  -L  |  -M  [  filename  ]  history -c  
Esimene vorm prindib ajaloosündmuste loendi. Kui n antakse ainult n viimased sündmused prinditakse või salvestatakse. Koos -h , ajaloo loend trükitakse ilma juhtnumbriteta. Kui -T on täpsustatud, trükitakse ajatemplid ka kommentaaridena. Seda saab kasutada failide loomiseks, mis sobivad ajalugu -L 'või' allikas -h '. Koos -r , on printimise järjekord kõige uuem esimesena, mitte kõige vanem.

Koos -S , teine ​​vorm salvestab ajaloo loendi kausta faili nimi . Kui esimene sõna savehist shellimuutujaks on määratud arv, maksimaalselt nii palju ridu on salvestatud. Kui teine ​​sõna savehist on määratud mine ', ajaloo loend liidetakse olemasoleva ajaloofailiga selle asendamise asemel (kui seda on) ja sorteeritakse ajatempli järgi. Ühinemine on mõeldud keskkonda nagu X Window System, millel on samaaegselt mitu kestat. Praegu õnnestub see alles siis, kui kestad üksteise järel kenasti lakkavad.

Koos -L , kest lisatakse faili nimi , mis on arvatavasti ajaloo loend, mille on salvestanud -S valik või savehist mehhanismi, ajaloo loendisse. -M on nagu -L , kuid sisu faili nimi liidetakse ajaloo loendisse ja sorteeritakse ajatempli järgi. Mõlemal juhul, histfail kasutatakse juhul, kui faili nimi ei anta ja ~ / .ajalugu kasutatakse juhul, kui histfail on määramata. ' ajalugu -L 'on täpselt nagu' allikas -h 'välja arvatud see, et see ei nõua failinime.

Pange tähele, et sisselogimise kestad on samaväärsed ajalugu -L 'käivitamisel ja kui savehist on seatud, ' ajalugu -S enne väljumist. Sest ainult ~ / .tcshrc hangitakse tavaliselt enne ~ / .ajalugu , histfail tuleks sisse seada ~ / .tcshrc pigem kui ~ / .login .

Kui histlit on seatud, prindib ja salvestab esimene ja teine ​​vorm ajaloo loendi sõnasõnalise (laiendamata) vormi.

Viimane vorm kustutab ajaloo loendi.
  hup  [  command  ]
Koos käsk , jookseb käsk selline, et väljub hangupist signaal ja korraldab, et kest saadaks talle hangup signaali, kui kest väljub. Pange tähele, et käsud võivad seada oma vastuse hangupidele, alistades hüppama . Põhjenduseta põhjustab mitteinteraktiivne kest ainult ülejäänud skripti hangupist väljumise. Vaata ka Signaali käsitsemine ja nohup sisseehitatud käsk.
  if (   expr   )   command  
Kui väljend (avaldis, nagu on kirjeldatud punktis Avaldised ) hindab true, siis käivitatakse käsk. Muutuv asendus sisse lülitatud käsk juhtub varakult, samal ajal ka ülejäänud kui käsk. käsk peab olema lihtne käsk, mitte varjunimi, torujuhe, käsuloend või sulgudes olev käskude loend, kuid sellel võib olla argumente. Sisendi / väljundi ümbersuunamine toimub isegi siis, kui väljend on vale ja käsku ei täideta; see on viga.
  if (   expr   ) then  ...  else if (   expr2   ) then  ...  else  ...  endif  
Kui täpsustatud väljend on tõsi, siis käsklused esimesele muud hukatakse; muidu kui ex2 on tõene, siis käsklused teisele muud hukatakse jne. Mis tahes arv muidu-kui paarid on võimalikud; ainult üks endif on vaja. The muud osa on samuti valikuline. Sõnad muud ja endif peab ilmuma sisendrida alguses; kui peab ilmuma oma sisendjoonel üksi või pärast muud .
  inlib   shared-library  ...
Lisab igaüks jagatud raamatukogu praegusele keskkonnale. Jagatud teeki ei saa kuidagi eemaldada. (Ainult domeen / OS)
  jobs  [  -l  ]
Loetleb aktiivsed töökohad. Koos -L , loetleb lisaks tavalisele teabele ka protsessi ID-d. TCF-süsteemides prindib saidi, kus iga töö toimub.
  kill  [  -s   signal  ]  %   job  |  pid  ...  kill -l  
Esimene ja teine ​​vorm saadavad määratud signaali (või kui seda pole antud, siis TERM (lõpetada) signaal) määratud töödele või protsessidele. töö võib olla number, string, % , + või - nagu on kirjeldatud töökohas. Signaalid antakse kas numbri või nime järgi (nagu on esitatud jaotises /usr/include/signal.h , eemaldatud eesliitest ' SIG '). Vaiketööd pole; lihtsalt öeldes tapma 'ei saada praegusele tööle signaali. Kui saadetav signaal on TERM (lõpetada) või HUP (hangup), siis saadetakse töö või protsess a KONTO (jätkata) signaali samuti. Kolmas vorm loetleb signaalinimed.
  limit  [  -h  ] [  resource  [  maximum-use  ]]
Piirab tarbimist praeguse protsessi ja iga selle loodud protsessi kaudu, et see ei ületaks eraldi maksimaalselt kasutatav määratud ressursil. Kui ei maksimaalselt kasutatav antakse, siis trükitakse praegune piir; kui ressurssi ei anta, on antud kõik piirangud. Kui -h antud lipp, kasutatakse praeguste piiride asemel kõvasid piire. Karmid piirid kehtestavad praeguste piiride väärtustele ülemmäära. Ainult superkasutaja võib tõsta rangeid piire, kuid kasutaja võib praeguseid piire seaduslikus vahemikus langetada või tõsta.

Juhitavad ressursid hõlmavad praegu (kui OS toetab):

cputime igas protsessis kasutatava maksimaalse protsessorisekundite arv
faili suurus suurim üksik fail, mida saab luua
andmeside andmete + virna piirkonna maksimaalne kasv kaudu sbrk pärast programmi teksti lõppu
virnasuurus automaatselt laiendatud virna piirkonna maksimaalne suurus
coredumpsize loodava suurima südamiku prügila suurus
mälukasutus maksimaalne füüsilise mälu maht, mille protsess võib talle teatud aja jooksul eraldada
vmemoryuse maksimaalne virtuaalse mälu maht, mille protsess võib talle teatud aja jooksul eraldada (aadressiruum)
vmemoryuse maksimaalne virtuaalse mälu maht, mille protsess võib talle teatud aja jooksul eraldada
kuhjaga maksimaalne mälumaht, mille protsess võib eraldada brk () süsteemikõne
kirjeldajad või avatud failid selle protsessi jaoks avatud failide maksimaalne arv
samaaegsus selle protsessi maksimaalne niitide arv
mälust lukustatud maksimaalne suurus, mille protsess võib mällu lukustada mlock
maxproc selle kasutaja ID jaoks samaaegsete protsesside maksimaalne arv
sbsize selle kasutaja jaoks mõeldud pistikupuhvri maksimaalne suurus
vahetama selle kasutaja jaoks reserveeritud või kasutatud maksimaalne vahetusruumi maht
makslukud selle kasutaja maksimaalne lukkude arv
maxsignaal selle kasutaja ootel signaalide maksimaalne arv
maxmessage selle kasutaja maksimaalne baitide arv POSIX mošeedes
maxnice maksimaalselt tore prioriteet, mida kasutajal on lubatud kaardistada asukohast [ 19 ... - kakskümmend ] kuni [ 0 ... 39 ] selle kasutaja jaoks
maksimaalselt kasutatav võib anda (ujuva punkti või täisarvuna) arvuna, millele järgneb skaalategur. Kõigi muude piiride jaoks kui cputime vaikeskaala on ' kuni 'või' kilobaiti '(1024 baiti); mastaabitegur ' m 'või' megabaiti 'või' g 'või' gigabaiti 'võib kasutada ka'. Sest cputime vaikeskaala on ' sekundit ', samas' m 'minutit või' h 'tundide kaupa või vormi aeg' mm : ss Võib kasutada minutit ja sekundit.

Kui maksimaalselt kasutatav on ' piiramatu ', siis eemaldatakse määratud ressursi piirang (see on samaväärne ressursiga piiramatu sisseehitatud käsk).

Nii ressursinimede kui ka skaalategurite jaoks piisab nimede üheselt mõistetavatest eesliidetest.
  log  
Prindib vaatama shellimuutuja ja aruanded iga valvesse märgitud kasutaja kohta, kes on sisse loginud, olenemata sellest, millal nad viimati sisse logisid. Vaadake ka jälgimispäevik .
  login  
Lõpetab sisselogimiskesta, asendades selle eksemplariga / bin / login . See on üks viis välja logida, mis on lisatud ühilduvusega sh .
  logout  
Lõpetab sisselogimiskesta. Eriti kasulik, kui eiramine on seatud.
  ls-F  [  -   switch  ...] [  file  ...]
Loetleb selliseid faile nagu ' ls -F ', kuid palju kiiremini. See identifitseerib loendis iga erifaili tüübi erimärgiga:

/ Kataloog.
* Täidetav.
# Blokeerige seade.
% Märkide seade.
| Nimega toru (ainult nimetud torudega süsteemid).
= Pistikupesa (ainult pistikupesadega süsteemid).
@ Sümboolne link (ainult sümboolsete linkidega süsteemid).
+ Peidetud kataloog (ainult AIX) või kontekstist sõltuv (ainult HP / UX).
: Spetsiaalne võrk (ainult HP / UX).
Kui nimekirja linke shellimuutuja on määratud, sümboolsed lingid tuvastatakse üksikasjalikumalt (loomulikult ainult süsteemides, millel neid on):

@ Sümboolne link kataloogile, mis pole kataloog.
> Sümboolne link kataloogile.
& Sümboolne link kuhugi.
nimekirja linke aeglustub ka ls-F ja põhjused vaheseinad failide hoidmine, millele viitavad sümboolsed lingid monteeritud .

Kui listflags shellimuutuja on seatud väärtusele ' x ',' kuni 'või' TO 'või nende mis tahes kombinatsioon (nt' kaugel '), kasutatakse neid lipukestena ls-F , pannes selle käituma nagu ' ls -xF ',' ls -Fa ',' ls -FA 'või nende kombinatsioon (nt' ls -FxA '). Masinatel, kus ls -C 'pole vaikimisi, ls-F käitub nagu ' ls-CF ', kui ei listflags sisaldab ' x ', sel juhul see toimib nagu' ls -xF '. ls-F edastab oma argumendid ls kui talle antakse mingeid lüliteid, siis ' alias ls ls-F teeb üldiselt õiget asja.

The ls-F sisseehitatud saab faile loetleda erinevate värvidega, sõltuvalt failitüübist või laiendist. Vaadake Värv kest muutuja ja LS_COLORS keskkonnamuutuja.
  migrate  [  -   site  ]  pid  |  %   jobid  ...  migrate   -   site  
Esimene vorm migreerib protsessi või töö määratud saidile või vaikesaidile, mille määrab süsteemitee. Teine vorm on samaväärne migrate -site $$ ': see migreerib praeguse protsessi määratud saidile. Kesta enda migreerimine võib põhjustada ootamatut käitumist, kuna kest ei meeldi oma tty kaotada. (Ainult TCF)
  newgrp  [  -  ] [  group  ]
Samaväärne exec newgrp '; vaata newgrp. Saadaval ainult siis, kui kest on nii kompileeritud; vaata versioon kest muutuja.
  nice  [  +   number  ] [  command  ]
Määrab kesta ajastamise prioriteedi väärtuseks number või ilma number , to 4 . Koos käsk , jookseb käsk asjakohase prioriteediga. Mida suurem arv, seda vähem protsessorit protsess saab. The ülikasutaja võib määrata negatiivse prioriteedi, kasutades tore -number ... '. käsk käivitatakse alati alamkoores ja käskudele seatud piirangud lihtsalt kui kehtivad avaldused.
  nohup  [  command  ]
Koos käsk , jookseb käsk selline, et see ignoreerib hangup signaale. Pange tähele, et käsud võivad seada oma vastuse hangupidele, alistades nohup . Põhjenduseta paneb mitteaktiivne kest ainult ülejäänud skripti hanguppe ignoreerima. Vaata ka Signaali käsitsemine ja hüppama sisseehitatud käsk.
  notify  [  %   job  ...]
Paneb kesta teatama kasutajale asünkroonselt, kui mis tahes määratud töö olek (või ilma % töö , praegune töö) muutub, selle asemel, et oodata järgmise viipeni, nagu tavaliselt. töö võib olla number, string, % , + või - nagu on kirjeldatud punktis Töökohad . Vaata ka teatama kest muutuja.
  onintr  [  -  |  label  ]
Juhib kesta tegevust katkestustel. Ilma argumentideta taastab kestade vaiketoimingu katkestustel, milleks on shelliskriptide lõpetamine või terminalikäskude sisendtasemele naasmine. Koos - 'põhjustab kõigi katkestuste eiramist. Sildiga käivitab kest a ' goto silt 'kui katkestus saabub või lapse protsess lõpeb selle katkemise tõttu.

onintr eiratakse, kui kest töötab eraldiseisvalt ja süsteemi käivitusfailides (vt Toimikud ), kus katkestused on niikuinii keelatud.
  popd  [  -p  ] [  -l  ] [  -n  |  -v  ] [  +   n  ]
Ilma argumentideta hüppab kataloogivirna ja naaseb uude tippkataloogi. Numbriga ' + n ', viskab n kolmas kanne virnas.

Lõpuks kõik popd printige lõplik kataloogivirn, nagu ka dirs . The pushdsilent Selle ja selle vältimiseks saab määrata muutuja shell -p Pushsilent'i tühistamiseks võib anda lipu. The -L , -n ja -v lippudel on sama mõju popd nagu edasi dirs .
  printenv  [  name  ]
Prindib kõigi nimed ja väärtused keskkonnamuutujad või koos nimi , keskkonnamuutuja väärtus nimi .
  pushd  [  -p  ] [  -l  ] [  -n  |  -v  ] [  name  |  +   n  ]
Ilma argumentideta vahetab kataloogivirna kaks ülemist elementi. Kui pushdtohome on seatud, pushd ilma argumentideta teeb ' pushd ~ ', nagu CD . Koos nimi , lükkab praeguse töökataloogi kataloogivirna ja muutub nimi . Kui nimi on ' - 'seda tõlgendatakse eelmise töökataloogina (vt Failinime asendamine ). Kui dunique on seatud, pushd eemaldab kõik nimi enne virna peale surumist. Numbriga ' + n ', pöörab n kataloogide virna kolmas element on ülemine element ja muudab seda. Kui dextract on siiski seatud ' pushd + n 'väljavõtted n th kataloog, lükkab selle virna ülaosale ja muudab seda.

Lõpuks kõik pushd printige lõplik kataloogivirn, nagu ka dirs . The pushdsilent Selle ja selle vältimiseks saab määrata muutuja shell -p alistamiseks võib anda lipu pushdsilent . The -L , -n ja -v lippudel on sama mõju pushd nagu edasi dirs .
  rehash  
Põhjustab kataloogis olevate kataloogide sisu sisemist räsitabelit tee ümberarvutatav muutuja. Seda on vaja, kui autorehash shellimuutujat pole määratud ja kataloogis lisatakse uued käsud tee ajal, kui olete sisse logitud autorehash , leitakse uus käsk automaatselt, välja arvatud erijuhul, kui räsitabelis on juba olemas teine ​​samanimeline käsk, mis asub teises kataloogis. Tühjendab ka tilde laiendamisega loodud kodukataloogide vahemälu.
  repeat   count   command  
Täpsustatud käsk , mille suhtes kehtivad samad piirangud kui käsk täidetakse ühel real, kui ülaltoodud lause loendama korda. I / O ümbersuunamised toimuvad täpselt üks kord, isegi kui loendus on 0 .
  rootnode //   nodename  
Muudab juursõlme // sõlmenimi , nii et / 'tõlgendatakse kui' // sõlmenimi '. (Ainult domeen / OS)
  sched   sched  [  +  ]  hh  :  mm   command   sched   -n  
Esimene vorm prindib plaanitud sündmuste loendi. The ajakava shellimuutuja võib määrata vormi määratlemiseks, milles plaaniline sündmus nimekiri on prinditud. Teine vorm lisab käsule plaaniline sündmus nimekirja. Näiteks,

sched 11:00 echo It's eleven o'clock.
põhjustab kest kaja ' Kell on üksteist. kell 11.00. Kellaaeg võib olla 12-tunnises AM / PM-vormingus:

sched 5pm set prompt='[%h] It's after 5; go home'
või võib olla praeguse aja suhtes:

sched +2:15 /usr/lib/uucp/uucico -r1 -sother
Suhteline aja spetsifikatsioon ei pruugi kasutada AM / PM-vormingut. Kolmas vorm eemaldab üksuse n sündmuste loendist:

sched
1 Wed Apr 4 15:42 /usr/lib/uucp/uucico -r1 -sother2 Wed Apr 4 17:00 set prompt=[%h] It's after 5; go home
sched -2
sched
1 Wed Apr 4 15:42 /usr/lib/uucp/uucico -r1 -sother
Käsk plaaniline sündmus nimekiri käivitatakse vahetult enne esimese viiba printimist pärast käsu ajastamise aega. Käsu käivitamise täpset aega on võimalik vahele jätta, kuid tähtaja ületanud käsk täidetakse järgmisel viipal. Käsk, mis saabub siis, kui kest ootab kasutaja sisendit, käivitatakse kohe. Juba töötava käsu tavapärast tööd ei katkestata, nii et a plaaniline sündmus loendi elementi võib käivitada.

See mehhanism on sarnane, kuid mitte sama kell käsk mõnes Unixi süsteemis. Selle peamine puudus on see, et see ei pruugi käsku käivitada täpselt määratud ajal. Selle peamine eelis on see, et ajakava töötab otse kestast, sellel on juurdepääs kesta muutujatele ja muudele struktuuridele. See annab mehhanismi oma töökeskkonna muutmiseks vastavalt kellaajale.
  set   set   name  ...  set   name   =   word  ...  set  [  -r  ] [  -f  |  -l  ]  name   =  (  wordlist  ) ...  set   name  [  index  ]  =   word  ...  set   -r   set   -r   name  ...  set -r   name   =   word  ...
Esimene käsu vorm prindib kõigi shellimuutujate väärtuse. Muutujad, mis sisaldavad sulgudes sõnaloendina rohkem kui ühte sõna. Teine vorm määrab nimeks nullstringi. Kolmas vormikomplektid nimi ühe sõna juurde. Neljas vormikomplektid nimi sõnade loendisse sõnaloend . Kõigil juhtudel laiendatakse väärtust käsu- ja failinimega. Kui -r on määratud, väärtus seatakse kirjutuskaitstud. Kui -f või -L on täpsustatud, seatud ainult unikaalsed sõnad, mis hoiavad nende korda. -f eelistab sõna esmakordset esinemist ja -L viimane. Viies vorm seab indeks osa komponent nimi kuni sõna ; see komponent peab juba olemas olema. Kuues vorm loetleb ainult kõigi kirjutuskaitstud muutujate nimed. Seitsmes vorm teeb nimi kirjutuskaitstud, olenemata sellest, kas sellel on väärtus. Kaheksas vorm on sama mis kolmas vorm, kuid teeb nimi kirjutuskaitstud samal ajal.

Neid argumente saab korrata, et määrata ja / või teha ainult kirjutuskaitstud muutujaid ühe komplekti käsuga. Pange tähele, et muutuja laiendamine toimub kõigi argumentide puhul enne sätete toimumist. Pange tähele ka seda, et = 'võib olla nii nime kui ka sõna kõrval või eraldatud mõlemast tühikuga, kuid ei tohi olla külgnev ainult ühe või teisega. Vaata ka määramata sisseehitatud käsk.
  setenv  [  name  [  value  ]]
Ilma argumentideta prindib kõigi keskkonnamuutujate nimed ja väärtused. Antud nimi , määrab keskkonnamuutuja nimi kuni väärtus või ilma väärtus , null-stringini.
  setpath   path  
Samaväärne seatpath . (Ainult Mach)
  setspath   LOCAL  |  site  |  cpu  ...
Määrab süsteemi käivitamise tee. (Ainult TCF)
  settc   cap   value  
Käsib kestal uskuda, et terminali võimekuse piir (nagu määratletud punktis termcap ) on väärtus väärtus . Tervislikkuse kontrolli ei tehta. Kontseptsioonide kasutajatel võib tekkida vajadus settc xn nr ', et saada kõige paremas veerus korralik pakkimine.
  setty  [  -d  |  -q  |  -x  ] [  -a  ] [[  +  |  -  ]  mode  ]
Juhib, milliseid tty režiime (vt Terminalihaldus) kest ei luba muuta. -d , -q või -x jutustab väike tegutsema redigeeri ',' tsiteerida 'või' täitma 'vastavalt tty režiimide komplekt; ilma -d , -q või -x , ' täitma ' kasutatakse.

Ilma muude argumentideta väike loetleb valitud komplekti režiimid, mis on fikseeritud (' + režiimis ') või välja (' - režiimis '). Saadaolevad režiimid ja seeläbi kuvar varieeruvad süsteemiti. Koos -le , loetleb kõik valitud komplekti tty režiimid, olenemata sellest, kas need on fikseeritud või mitte. Koos + režiimis , - režiimis või režiimis , parandab režiimis sisse või välja või eemaldab juhtelemendi režiimis valitud komplektis. Näiteks, ' setty + kajakaja 'parandab' kaja 'režiim sisse ja võimaldab käskudel sisse lülituda' kaja režiim sisse või välja, mõlemad, kui kest käske täidab.
  setxvers  [  string  ]
Määrake katselise versiooni eesliide string või eemaldab selle, kui string on ära jäetud. (Ainult TCF)
  shift  [  variable  ]
Ilma argumentideta, viskab minema argv [1] ja vahetab argv vasakule. See on viga argv mitte seada või kui väärtuseks on vähem kui üks sõna. Muutujaga täidab muutujaga sama funktsiooni.
  source  [  -h  ]  name  [  args  ...]
Kest loeb ja täidab käske nimi . Käske ei lisata ajaloo loendisse. Kui mõni vaidleb vastu antakse, pannakse need sisse argv . allikas käsud võivad olla pesastatud; kui need on liiga sügavalt pesastatud, võib kest failide kirjeldajatest otsa saada. Viga a allikas igal tasandil lõpetab kõik pesastatud allikas käsud. Koos -h , paigutatakse käsud käivitamise asemel ajaloo loendisse, umbes nagu ' ajalugu -L '.
  stop   %   job  |  pid  ...
Peatab taustal täidetavad määratud tööd või protsessid. töö võib olla number, string, % , + või - nagu on kirjeldatud töökohas. Vaiketööd pole; lihtsalt öeldes peatus 'ei peata praegust tööd.
  suspend  
Paneb kest peatuma oma jälgedes, umbes nagu oleks talle saadetud peatumismärguandega ^ Z . Seda kasutatakse kõige sagedamini alustatud kestade peatamiseks selle .
  switch (   string   )   case   str1   :  ...  breaksw  ...  default:  ...  breaksw   endsw  
Iga juhtumi silt sobitatakse järjestikku vastavalt määratud stringile, mida kõigepealt laiendatakse käsu- ja failinimega. Faili metamärgid ' * ',' ? 'ja' [ ... ] 'võib kasutada muutuvate laiendustega korpuse siltides. Kui ükski silt ei sobi enne, kui leitakse 'vaikesilt', algab käivitamine pärast vaikesilti. Iga juhtumi silt ja vaikesilt peavad ilmuma rea ​​alguses. Käsk purunes põhjustab täitmise jätkumist pärast endsw . Vastasel juhul võib juhtimine langeda juhtumite ja vaikesiltide kaudu nagu C-s. Kui ükski silt ei ühti ja vaikimisi pole, jätkatakse täitmist pärast endsw .
  telltc  
Loetleb kõigi terminali võimaluste väärtused.
  termname  [  terminal type  ]
Testib, kui terminali tüüp (või praegune väärtus TERM kui terminalitüüpi pole antud) on hostides kirje termcap või terminfo andmebaasi. Prindib terminali tüübi stdouti ja tagastab 0, kui kirje on olemas, vastasel juhul tagastab 1.
  time  [  command  ]
Täidab käsk (mis peab olema lihtne käsk, mitte varjunimi, torujuhe, käsuloend või sulgudes olev käskude loend) ja prindib aja kokkuvõtte, nagu on kirjeldatud aeg muutuv. Vajadusel luuakse käsu valmimisel ajastatistika printimiseks lisakest. Ilma käsk , prindib praeguse koore ja selle laste aja kokkuvõtte.
  umask  [  value  ]
Määrab faili loomise mask kuni väärtus , mis on antud kaheksandis. Maski ühised väärtused on 002 , mis annab kogu juurdepääsu rühmale ning teistele lugemise ja teostamise ning 022 , andes grupile ja teistele lugemis- ja teostusjuurdepääsu. Ilma väärtuseta prindib praeguse faili loomise maski.
  unalias   pattern  
Eemaldab kõik varjunimed, mille nimed sobivad muster . ' unalias * 'eemaldab seega kõik varjunimed. See pole viga, kui mitte midagi pole unialias.
  uncomplete   pattern  
Eemaldab kõik lõpetused, mille nimed vastavad mustrile. ' mittetäielik * 'eemaldab seega kõik täiendused. See pole viga, kui miski jääb pooleli.
  unhash  
Keelab sisemise räsitabeli kasutamise käivitatud programmide asukoha kiirendamiseks.
  universe   universe  
Määrab universumi universum . (Ainult Masscomp / RTU)
  unlimit  [  -hf  ] [  resource  ]
Eemaldab ressursi piirangu või kui ressurssi pole määratud, siis kõik ressursside piirangud. Koos -h , vastavad kõvad piirid eemaldatakse. Ainult superkasutaja võib seda teha. Pange tähele, et piiramatu ei pruugi edukast väljuda, kuna enamik süsteeme ei luba deskriptoreid piirata. Koos -f vigu ignoreeritakse.
  unset   pattern  
Eemaldab kõik muutujad, mille nimed sobivad muster , kui need pole kirjutuskaitstud. ' määramata * 'eemaldab seega kõik muutujad, kui need pole kirjutuskaitstud; see on halb mõte. See ei ole viga, kui midagi pole lahti seatud.
  unsetenv   pattern  
Eemaldab kõik keskkonnamuutujad, mille nimed sobivad mustriga. ' unsetenv * 'eemaldab seega kõik keskkonnamuutujad; see on halb mõte. See pole viga, et mitte midagi pole unsetenv toim.
  ver  [  systype  [  command  ]]
Ilma argumentideta, prindib SÜSTEEM . Koos süstüüp , komplektid SÜSTEEM kuni süstüüp . Koos süstüüp ja käsk , täidab käsk all süstüüp . süstüüp võib olla ' bsd4.3 'või' sys5.3 '. (Ainult domeen / OS)
  wait  
Kest ootab kõiki tausttöid. Kui kest on interaktiivne, häirib katkestus ootamist ja sunnib kest printima kõigi täitmata tööde nimed ja töökohanumbrid.
  warp   universe  
Määrab universumi universum . (Ainult kumer / OS)
  watchlog  
Alternatiivne nimi logi sisseehitatud käsk. Saadaval ainult siis, kui kest on nii kompileeritud; vaata versioon kest muutuja.
  where   command  
Teatab kõigist teadaolevatest juhtumitest käsk , sealhulgas varjunimed, sisseehitatud ja käivitatavad failid tee .
  which   command  
Kuvab käsu, mille shell täidab pärast asendusi, teeotsimist jne. Sisseehitatud käsk on täpselt selline, mis aga aru annab õigesti tcsh varjunimed ja sisseehitatud funktsioonid ning on 10–100 korda kiirem. Vaata ka mis-käsk toimetaja käsk.
  while (   expr   )  ...  end  
Täidab käske samas ja sobitamine lõpp samas väljend (avaldis, mida on kirjeldatud jaotises Avaldised) hindab nulli. samas ja lõpp peavad oma sisendjoontel ilmuma üksi. murda ja jätkata võib kasutada silmuse ennetähtaegseks lõpetamiseks või jätkamiseks. Kui sisendiks on terminal, palutakse kasutajal esimest korda läbi tsükli nagu koos igaühele .

Spetsiaalsed varjunimed

Kui see on määratud, käivitatakse kõik need varjunimed näidatud ajal automaatselt. Need kõik on esialgu määratlemata.

piiks cmd Töötab siis, kui kest tahab terminalikella helistada.
cwdcmd Käivitatakse pärast iga töökataloogi muutmist. Näiteks kui kasutaja töötab X Window Systemi abil xterm ja uuesti vanemate akende haldur, mis toetab näiteks tiitliribasid twm ja teeb

alias cwdcmd 'echo -n '^[]2;${HOST}:$cwd ^G''
siis muudab kest jooksu pealkirja xterm olla host, koolon ja kogu praegune töökataloog. Fantantne viis seda teha on

alias cwdcmd 'echo -n '^[]2;${HOST}:$cwd^G^[]1;${HOST}^G''
See paneb hostinime ja töökataloogi tiitliribale, ikoonihalduri menüüsse aga ainult hosti nime.

Pange tähele, et a CD , pushd või popd aastal cwdcmd võib põhjustada lõpmatu ahela. Igaüks, kes seda teeb, saab selle, mida ta väärib.
jobcmd Käivitatakse enne iga käsu käivitamist või kui käsk muudab olekut. See on sarnane postcmd , kuid see ei trüki sisseehitatud.

alias jobcmd 'echo -n '^[]2;!#:q^G''
siis hukatakse vi foo.c paneb käsurea xterm tiitliriba.
abikomando Kutsutud jooksu-abi toimetaja käsk. Ainuargumendina antakse käsu nimi, mille jaoks abi otsitakse. Näiteks kui keegi seda teeb

alias helpcommand '!:1 --help'
seejärel kutsutakse käsu enda abinäidet, kasutades GNU abikõne konventsiooni. Praegu pole lihtsat viisi arvestada erinevate helistamiskonventsioonidega (nt tavaline Unix ' -h '), välja arvatud paljude käskude tabeli kasutamine.
perioodiline Töötab igaüks tperiood minutit. See pakub mugavat võimalust levinud, kuid harva toimuvate muudatuste, näiteks uue kirja kontrollimiseks. Näiteks kui keegi seda teeb

set tperiod = 30
alias periodic checknews
siis checknews programm kestab iga 30 minuti järel. Kui perioodiline on seatud aga tperiood on määramata või seatud kuni 0 , perioodiline käitub nagu precmd .
precmd Käivitatakse vahetult enne iga viiba printimist. Näiteks kui keegi seda teeb

alias precmd date
siis jookseb kuupäev vahetult enne, kui kest iga käsu jaoks küsib. Millel pole piire precmd saab teha, kuid tuleks kasutada kaalutlusõigust.
postcmd Käivitatakse enne iga käsu täitmist. Kui jooksed

alias postcmd 'echo -n '^[]2;!#:q^G''
siis hukatakse vi foo.c paneb käsurea kausta xterm tiitliriba.
kest Määrab tõlgi käivitatavate skriptide jaoks, mis ise ei määra tõlki. Esimene sõna peaks olema soovitud tõlgi täielik nimi (nt ' / bin / csh 'või' / usr / local / bin / tcsh ').

Spetsiaalsed kestamuutujad

Selles jaotises kirjeldatud muutujatel on kestale eriline tähendus. Kest asetub lisaliide , argv , automaatne otsing , csubstnonl , käsk , echo_style , redigeeri , giid , Grupp , Kodu , loginsh , oid , tee , viip , viip2 , viip3 , kest , shlvl , tcsh , tähtaeg , tty , uid , kasutaja ja versioon käivitamisel; need ei muutu pärast seda, kui kasutaja neid ei muuda. Kest uueneb cwd , dirstack , võlgu ja staatus kui vaja, ja seab Logi välja peal Logi välja .

Kest sünkroonib Grupp , Kodu , tee , shlvl , tähtaeg ja kasutaja ühesuguste nimedega keskkonnamuutujatega: alati, kui keskkonnamuutuja muudab kestat, muudab vastav shellimuutuja vastavaks (kui shellimuutuja pole kirjutuskaitstud) ja vastupidi. Pange tähele, et kuigi cwd ja PWD millel on identsed tähendused, neid ei sünkroonita sel viisil ja et kest teisendab automaatselt faili erinevad vormingud tee ja TEE .

lisaliide Kui see on määratud, lisab failinime lõpuleviimine ' / 'kataloogide lõppu ja tühik tavaliste failide lõppu, kui need täpselt kokku sobivad. Vaikimisi määratud.
detox Kui see on seatud, automaatne otsing Autolock-funktsioon kasutab kerberose autentimiseks oma väärtust kohaliku kasutajanime asemel.
ampm Kui see on määratud, kuvatakse kõik kellaajad 12-tunnises AM / PM-vormingus.
argv Argumendid kestale. Asukohaparameetrid on võetud argv , s.t. 1 dollar 'asendatakse tekstiga' $ argv [1] 'jne. Vaikimisi seatud, kuid interaktiivsetes kestades tavaliselt tühi.
automaatne parandus Kui see on määratud, käivitatakse õigekirja-sõna redaktori käsk enne iga lõpetamise katset.
auto Expand Kui see on seatud, laienda-ajalugu redaktori käsk käivitatakse enne iga lõpetamiskatset automaatselt. Kui see on seatud väärtusele ainult ajalugu , siis laieneb ainult ajalugu ja teine ​​valmimine laiendab failinimesid.
autolist Kui see on seatud, loetletakse võimalused pärast mitmetähenduslikku lõpetamist. Kui see on määratud mitmetähenduslik ', võimalused on loetletud ainult siis, kui lõpuleviimisel uusi märke ei lisata.
automaatne otsing Esimene sõna on tegevusetuse minutite arv enne automaatset väljalogimist. Valikuline teine ​​sõna on tegevusetuse minutite arv enne automaatset lukustamist. Kui kest automaatselt välja logib, prindib see automaatse väljalogimise, määrab muutuja Logi välja kuni automaatne ja väljub. Kui kest automaatselt lukustub, peab kasutaja töö jätkamiseks sisestama oma parooli. Viie vale katse tulemuseks on automaatne väljalogimine. Seatud ' 60 '(automaatne väljalogimine 60 minuti pärast ja ilma lukustamiseta) vaikimisi sisselogimise ja superkasutajate kestades, kuid mitte juhul, kui kest arvab, et see töötab aknasüsteemi (st EKRAAN keskkonnamuutuja on seatud), tty on pseudo-tty (pty) või pole kest nii kompileeritud (vt versioon kest muutuja). Vaata ka detox ja Logi välja kest muutujad.
autorehash Kui see on seatud, on kataloogis olevate kataloogide sisu sisemine räsitabel tee muutuja arvutatakse uuesti, kui käsku räsitabelist ei leita. Samuti luuakse saadaolevate käskude loend iga käsu lõpuleviimise või õigekirjaparandamise katse jaoks, kui see on seatud väärtusele ' täielik 'või' õige vastavalt; kui seatud väärtusele ' alati ', seda tehakse mõlemal juhul.
tagasilöögi_pakkumine Kui see on määratud, kaldkriips (' ') tsiteeri alati , ' ja ' . See võib keerukate ülesannete pakkumise lihtsustada, kuid see võib põhjustada süntaksi vigu csh skriptid.
kataloog Sõnumikataloogi failinimi. Kui see on seatud, tcsh kasutama ' tcsh. $ {catalog} 'vaikimisi sõnumikataloogina' tcsh '.
cdpath Nimekiri kataloogidest, milles CD peaks otsima alamkatalooge, kui neid ei leidu praeguses kataloogis.
Värv Kui see on määratud, võimaldab see sisseehitatud värvilist kuvamist ls-F ja see möödub --värv = auto kuni ls . Teise võimalusena saab selle seada ainult ls-F või ainult ls värvi lubamiseks ainult ühele käsule. Selle määramine tühiseks on samaväärne selle seadmisega (ls-f ls) .
värvikass Kui see on määratud, lubab see NLS-i sõnumifailide jaoks värvipõgenemisjärjestuse. Ja kuvage värvilisi NLS-sõnumeid.
käsk Kui see on määratud, siis käsk, mis edastati kestale koos -c lipp.
kaaslane_sõlm Kui see on määratud, hindab kest väljendeid paremalt vasakule, nagu originaali csh .
täielik Kui see on määratud süüteküünal ', muutub valmimine suurtähetundetuks. Kui see on määratud suurendada ', lõpetamisel ignoreeritakse väiketähti ning sidekriipsud ja alakriipsud on samaväärsed; see käsitleb ka punkte, sidekriipse ja alakriipse (' . ',' - 'ja' _ ') sõnade eraldajatena. Kui see on määratud Suurenda ', lõpuleviimine sobib selgesõnaliselt suurtähtede ja alakriipsudega ning väiketähtede ja sidekriipsudega suurtähetundetult; see käsitleb punkte, sidekriipse ja alakriipsusid sõnaeraldajatena.
jätkata Kui see on seatud käskude loendisse, jätkab shell loetletud käske selle asemel, et alustada uut.
jätkake_args Sama nagu jätkata , kuid kest täidab:

echo 'pwd' $argv > ~/._pause; %
õige Kui see on määratud cmd ', korrigeeritakse käske õigekirja automaatselt. Kui see on määratud täielik ', käsud lõpetatakse automaatselt. Kui see on määratud kõik ', kogu käsurida on parandatud.
csubstnonl Kui see on määratud, asendatakse uue rea ja veo tagasipöördumised käskude asendamisel tühikutega. Vaikimisi määratud.
cwd Praeguse kataloogi täielik teenimi. Vaata ka dirstack ja võlgu kest muutujad.
dextract Kui see on seatud, ' pushd + n 'väljavõtted n th kataloog kataloogivirnast selle asemel, et seda ülespoole pöörata.
dirsfile Vaikekoht, kus ' dirs -S 'ja' dirs -L 'otsige ajaloofaili. Kui see pole määratud, ~ / .cshdirs kasutatakse. Sest ainult ~ / .tcshrc hangitakse tavaliselt enne ~ / .cshdirs , dirsfile tuleks sisse seada ~ / .tcshrc pigem kui ~ / .login .
dirstack Kõigi kataloogivirnade kataloogide massiiv. ' $ dirstack [1] 'on praegune töökataloog, ' $ dirstack [2] 'virna esimene kataloog jne. Pange tähele, et praegune töökataloog on' $ dirstack [1] ' aga ' = 0 'kataloogivirna asendustes jms. Hunnikut saab omavoliliselt muuta, seadistades dirstack , kuid esimene element (praegune töökataloog) on ​​alati õige. Vaata ka cwd ja võlgu kest muutujad.
dspmbyte Mõjutab, kui ' dspm 'on loetletud versiooni shellimuutuja osana. Kui see on määratud euc ', see võimaldab kuvada ja redigeerida EUC-kanji (jaapani) koodi. Kui see on määratud sjis ', see võimaldab kuvada ja redigeerida Shift-JIS (jaapani) koodi. Kui see on määratud suur5 ', see võimaldab kuvada ja redigeerida Big5 (hiina) koodi. Kui see on määratud utf8 ', see võimaldab kuvada ja redigeerida Utf8 (Unicode) koodi. Kui see on seatud järgmisele vormingule, võimaldab see kuvada ja redigeerida algset mitmebaidist koodivormingut:

set dspmbyte = 0000....(256 bytes)....0000
Tabel nõuab vaid 256 baiti. Iga 256 tähemärki sisaldav märk vastab (vasakult paremale) ASCII koodidele 0x00 , 0x01 , ... 0xff . Iga märk on seatud numbrile 0 , 1 , kaks ja 3 . Igal numbril on järgmine tähendus:

0 ... ei kasutata mitmebaidiste tähemärkide jaoks.
1 ... kasutatakse mitmebaidise märgi esimese baidi jaoks.
kaks ... kasutatakse mitmebaidise märgi teise baidi jaoks.
3 ... kasutatakse nii mitmebaidise märgi esimese kui ka teise baidi jaoks.
Näide:

Kui see on määratud 001322 ', esimene märk (tähendab 0x00 selle ASCII kood) ja teine ​​märk (tähendab 0x01 ASCII kood) 0 '. Siis ei kasutata seda mitmebaidiste tähemärkide jaoks. 3. märk ( 0x02 ) on seatud väärtusele „ 1 ', mis näitab, et seda kasutatakse mitmebaidise märgi esimese baidi jaoks. 4. märk ( 0x03 ) on seatud ' 3 '. Seda kasutatakse nii mitmebaidise märgi esimese kui ka teise baidi puhul. 5. ja 6. tähemärk (0x04,0x05) on seatud väärtusele ' kaks ', mis näitab, et neid kasutatakse mitmebaidise märgi teise baidi jaoks.

GNU fileutilsi versioon ls ei saa kuvada mitmebaidiseid failinimesid ilma -N ( - kirjakeelne ) valik. Kui kasutate seda versiooni, määrake teine ​​sõna dspmbyte kuni ls '. Kui ei, siis näiteks ls-F -l 'ei saa kuvada mitmebaidiseid failinimesid.

Märge:

Seda muutujat saab kasutada ainult siis, kui KANJI ja DSPMBYTE on kompileerimise ajal määratletud.
dunique Kui see on seatud, pushd eemaldab kõik nimi enne virna peale surumist.
viskas välja Kui see on määratud, kajab iga käsk koos argumentidega vahetult enne selle käivitamist. Sisseehitamata käskude korral toimuvad kõik laiendused enne kaja tegemist. Sisseehitatud käsud kajavad enne käsu ja failinime asendamist, kuna need asendused tehakse seejärel valikuliselt. Määratud -x käsurea valik.
echo_style Stiil viskas välja sisseehitatud. Võib olla seatud väärtusele

bsd Ärge korrake uut rida, kui esimene argument on ' -n '.
sysv Tuvastage tagasilöögitud põgenemisjärjestused kaja stringides.
mõlemad Tunnustage nii -n 'lipp ja tagasilöögitud põgenemisjärjestused; vaikimisi.
mitte ühtegi Ära tunnista kumbagi.
Vaikimisi määrake kohaliku süsteemi vaikeseade. BSD ja System V valikuid on kirjeldatud viskas välja mees vastavate süsteemide lehekülgi.
redigeeri Kui see on määratud, kasutatakse käsurea redaktorit. Vaikimisi määratud interaktiivsetes kestades.
ellips Kui see on määratud, kuvatakse ' % c '/'%. 'ja' % C viipjärjestused (vt viip kesta muutuja) tähistavad vahele jäetud katalooge ellipsiga (' ... ') selle asemel ' / '.
euid Kasutaja tegelik kasutajatunnus.
euser Esimene vastav passwd sisestuse nimi, mis vastab tegelikule kasutajatunnusele.
fignore Loetleb failinime sufiksid, mida lõpetamisel eiratakse.
filec Sisse tcsh , kasutatakse alati lõpetamist ja vaikimisi seda muutujat ignoreeritakse. Kui redigeeri on määramata, siis traditsiooniline csh kasutatakse lõpetamist. Kui see on sisse seatud csh , kasutatakse failinime lõpetamist.
giid Kasutaja tegelik grupi ID.
globdot Kui see on seatud, metamärk glob-mustrid sobivad failidega ja kataloogidega, mis algavad tähega ' . ' väljaarvatud ' . 'ja' .. '
globstaar Kui see on määratud, kuvatakse ' ** 'ja' *** 'faili glob mustrid sobivad mis tahes stringide märkidega, sealhulgas' / olemasolevate alamkataloogide läbimine. (nt ' ls **. c 'loetleb kõik .c failid praeguses kataloogipuus). Kui seda kasutatakse iseenesest, sobib see nulli või enama alamkataloogiga (nt ' ls /usr/include/**/time.h 'loetleb faili nimega' aeg.h 'sisse / usr / include kataloogipuu; arvestades, et ls /usr/include/**time.h 'sobib mis tahes failiga / usr / include kataloogipuu, mis lõpeb ' aeg.h '). Rekursiooniga seotud probleemide vältimiseks tuleb ** 'glob-muster ei taandu kataloogi sisaldavale sümboolsele lingile. Selle tühistamiseks kasutage *** '
Grupp Kasutaja grupi nimi.
esile tõstma Kui see on määratud, vastab täiendav otsing (in i-otsing-tagasi ja i-otsing-fwd ) ning märgi ja kursori vaheline piirkond on tagurpidi videos esile tõstetud.

Esiletõstmine nõuab sagedasemat terminali kirjutamist, mis toob sisse lisakulud. Kui hoolite terminali jõudlusest, võiksite selle jätta määramata.
histkarid Stringi väärtus, mis määrab ajaloo asendamisel kasutatud tähemärgid. Selle väärtuse esimest tähemärki kasutatakse ajaloo asendusmärgina, asendades vaikimärgi ' ! '. Selle väärtuse teine ​​märk asendab märki ' ^ 'kiiretes asendustes.
histdup Juhib ajaloo loendis dubleerivate kirjete käitlemist. Kui see on määratud kõik 'ajaloo loendisse kantakse ainult ainulaadsed ajaloosündmused. Kui see on määratud prev 'ja viimane ajaloosündmus on sama mis praegune käsk, siis praegust käsku ajalukku ei sisestata. Kui see on määratud kustutada 'ja sama sündmus on ajaloo loendis, see vana sündmus kustutatakse ja praegune lisatakse. Pange tähele, et ' prev 'ja' kõik 'valikud nummerdavad ajaloosündmused ümber, nii et lünki pole.
histfail Vaikekoht, kus ' ajalugu -S 'ja' ajalugu -L 'otsige ajaloofaili. Kui see pole määratud, ~ / .ajalugu kasutatakse. histfail on kasulik, kui jagate sama kodukataloogi erinevate masinate vahel või kui salvestate erinevatesse terminalidesse eraldi ajalugu. Sest ainult ~ / .tcshrc hangitakse tavaliselt enne ~ / .ajalugu , histfail tuleks sisse seada ~ / .tcshrc pigem kui ~ / .login .
histlit Kui see on määratud, siis sisseehitatud ja redaktori käsud ning savehist mehhanism kasutab ajaloo loendis ridade sõnasõnalist (laiendamata) vormi. Vaata ka lülita-sõna-sõnalt-ajalugu toimetaja käsk.
ajalugu Esimene sõna näitab salvestatavate ajaloosündmuste arvu. Valikuline teine ​​sõna tähistab vormingut, milles ajalugu trükitakse; kui seda ei anta, ' % h t% T t% R n ' kasutatakse. Vormindusjärjestusi kirjeldatakse allpool viipa all; pange tähele muutuja tähendust % R '. Seatud ' 100 ' algselt.
Kodu Initsialiseeritud kutsuri kodukataloogi. Failinime laiendus ~ tähistab seda muutujat.
eiramine Kui määratud tühjaks stringiks või ' 0 'ja sisendseade on terminal, käsk faili lõpp (tavaliselt genereerib kasutaja selle sisestades' ^ D 'tühjal real') põhjustab kestale printimise 'tcsh-st väljumiseks'. väljumise asemel. See hoiab ära kesta kogemata tapmise. Ajalooliselt lahkus see seade pärast 26 järjestikust EOF-i, et vältida lõpmatuid silmuseid. Kui on määratud arv n , kest ignoreerib n - 1 järjestikune failide lõpp ja väljumised n th. Kui see pole määratud, ' 1 'kasutatakse, st kest väljub ühel' ^ D '.
implicitcd Kui see on määratud, käsitleb shell sisestatud katalooginime käsuna, justkui oleks see selle kataloogi muutmise taotlus. Kui seatud väärtusele paljusõnaline , kaustas kataloogi muutus standardväljundi. See käitumine on takistatud mitteinteraktiivsetes shelliskriptides või rohkem kui ühe sõnaga käsureal. Kataloogi muutmine on ülimuslik sarnase nimega käsu täitmise ees, kuid seda tehakse alias-asenduste järel. Tilde ja muutuv laiendused toimivad ootuspäraselt.
sisendrežiim Kui see on määratud sisestada 'või' üle kirjutama ', paneb redaktori iga rea ​​alguses sellesse sisendrežiimi.
tapmine Kontrollib tapmisrõngas topeltkirjete käsitlemist. Kui see on määratud kõik tapmisrõngasse sisestatakse ainult unikaalsed stringid. Kui see on määratud prev 'ja viimane tapetud string on sama mis praegune tapetud string, siis praegust stringi rõngasse ei sisestata. Kui see on määratud kustutada 'ja sama string leitakse tapmisrõngast, vana string kustutatakse ja praegune lisatakse.
tapmine Näitab tapetud stringide arvu mälus hoidmiseks. Seatud ' 30 ' algselt. Kui see on määramata või seatud väärtusele alla ' kaks ', kest jätab alles alles viimati tapetud stringi. Stringid pannakse tapmisse redaktori käskudega, mis kustutavad (tapa) tekstistringid, nt tagasi-kustuta-sõna , kill-line jne, samuti copy-region-as-kill käsk. The jänk redaktori käsk tõmbab käsureale viimati tapetud stringi jänk-pop (vt Redaktori käsud ) saab kasutada varem tapetud keelte tõmbamiseks.
listflags Kui see on määratud x ',' kuni 'või' TO 'või nende mis tahes kombinatsioon (nt' kaugel '), kasutatakse neid lipukestena ls-F , pannes selle käituma nagu ' ls -xF ',' ls -Fa ',' ls -FA 'või nende kombinatsioon (nt' ls -FxA '):' kuni 'näitab kõiki faile (isegi kui need algavad tähega' . '),' TO 'näitab kõiki faile peale' . 'ja' .. 'ja' x sordib alla asemel. Kui teine ​​sõna listflags on seatud, kasutatakse seda teekonnana ls '.
listjobs Kui see on määratud, kuvatakse töö peatamise korral kõik tööd. Kui seatud väärtusele „pikk”, on kirje pikas vormingus.
nimekirja linke Kui see on seatud, ls-F builtin käsk näitab faili tüüpi, millele iga sümboolne link osutab.
listmax Maksimaalne üksuste arv, mida nimekiri-valikud redaktori käsk loetleb seda enne küsimata.
listmaxrows Maksimaalne üksuste ridade arv, mida nimekiri-valikud redaktori käsk loetleb seda enne küsimata.
loginsh Kest määrab, kui see on sisselogimise kest. Selle seadistamine või tühistamine kestas ei mõjuta. Vaata ka shlvl .
Logi välja Kesta poolt määratud normaalne 'enne tavalist väljalogimist' automaatne 'enne automaatset väljalogimist ja' hangup 'kui kest tapeti signaali abil (vt Signaali käsitsemine ). Vaata ka automaatne otsing kest muutuja.
mail Failide ja kataloogide loend sissetulevate kirjade kontrollimiseks, eelistatult numbriline sõna. Kui viimasest kontrollist on möödunud 10 minutit, kontrollib kest enne iga viipa iga faili ja ütleb: 'Teil on uus kiri.' (või kui post sisaldab mitut faili, siis on nimi . ') kui failisuurus on suurem kui null ja muutmisaeg on pikem kui selle juurdepääsuaeg.

Kui olete sisselogimiskarbis, ei teatata ülearuste teadete vältimiseks meilifailist, välja arvatud juhul, kui seda on pärast kesta käivitamist muudetud. Enamik sisselogimisprogramme ütleb teile, kas teil on sisselogimisel kirju või mitte.

Kui postis määratud fail on kataloog, loeb kest iga selles kataloogis oleva faili eraldi sõnumina ja teatab 'Teil on n kirjad. ' või 'teil on n kirjad sisse nimi . ' vastavalt vajadusele. Seda funktsiooni pakutakse peamiselt nendele süsteemidele, mis hoiavad sel viisil posti, näiteks Andrew Mail System.

Kui e-posti esimene sõna on numbriline, võetakse see teistsuguse kirjavahetuse intervallina sekundites.

Väga harvadel juhtudel võib kest teatada „Teil on posti”. „Teil on uus kiri” asemel.
tikumepiip Kui see on määratud mitte kunagi ', valmimine ei anna kunagi piiksu. Kui see on määratud nomatch ', piiksub ainult siis, kui vastet pole. Kui see on määratud mitmetähenduslik ', piiksub, kui vasteid on mitu. Kui see on määratud notunic ', piiksub, kui on üks täpne ja teine ​​pikem vaste. Kui see pole määratud, ' mitmetähenduslik ' kasutatakse.
nobeep Kui see on seatud, on piiksumine täielikult keelatud. Vaata ka nähtav kell .
nokitseja Kui see on määratud, seatakse väljundi ümbersuunamisele piirangud, et faile kogemata ei hävitataks ja et >> 'ümbersuunamised viitavad olemasolevatele failidele, nagu on kirjeldatud jaotises Sisend / väljund.
noogutamine Kui see on määratud, keelake printimine ASJA! 'kellaaja täpsustamisel tunni muutumisel.
noglob Kui see on seatud, Failinime asendamine ja Kataloogivirna asendamine on pärsitud. See on kõige kasulikum shelliskriptides, mis ei tegele failinimedega, või pärast failinimede loendi saamist ja edasisi laiendusi pole soovitav.
nokanji Kui seatud ja kest toetab Kanjit (vt versiooni shell muutujat), on see keelatud, et saaks kasutada metavõtit.
nonomatch Kui see on määratud, a Failinime asendamine ja Kataloogivirna asendamine mis ei ühti ühegi olemasoleva failiga, jääb vea tekitamise asemel puutumata. Ikka on viga, et asendus on valesti vormistatud, nt viskas välja [ 'annab ikka vea.
tõstke Kataloogide loend (või globaalsed mustrid, mis sobivad kataloogidega; vt Failinime asendamine ) seda ei tohiks olla riik ed lõpetamise toimingu ajal. Seda kasutatakse tavaliselt kataloogide välistamiseks, mille jaoks kulub liiga palju aega riik , näiteks / afs .
teatama Kui see on määratud, teatab kest töö lõpetamisest asünkroonselt. Vaikimisi esitatakse töö lõpetamine vahetult enne viiba printimist.
oid Kasutaja tegelik organisatsiooni ID. (Ainult domeen / OS)
võlgu Vana töökataloog, mis on samaväärne ' - ' kasutatud CD ja pushd . Vaata ka cwd ja dirstack kest muutujad.
padhour Kui see on määratud, lubage polsterduse printimine ' 0 tundide kaupa 24 ja 12 tunni formaadid. E.G .: 07:45:42 vs. 7:45:42 .
parseoktal Vanemate versioonidega ühilduvuse säilitamiseks algavad numbrilised muutujad 0 ei tõlgendata kaheksandatena. Selle muutuja määramine võimaldab korralikku kaheksandparsimist.
tee Kataloogide loend, kust käivitatavaid käske otsida. Nullsõna määrab praeguse kataloogi. Kui teekonna muutujat pole, käivitatakse ainult täielikud teede nimed. tee määrab kest käivitamisel TEE keskkonnamuutuja või kui TEE ei eksisteeri, süsteemsõltuva vaikimisi midagi sellist ' (/ usr / local / bin / usr / bsd / bin / usr / bin.) '. Kest võib panna ' . 'esimene või viimane teel või jätke see täielikult välja, sõltuvalt selle koostamise viisist; vaata versioon kest muutuja. Kest, millele pole antud kumbagi -c ega ka -t valik räsib pärast lugemist kataloogi sisu teele ~ / .tcshrc ja iga aja tee lähtestatakse. Kui keegi lisab teekonna kataloogi uue käsu, kui kest on aktiivne, võib selle leidmiseks olla vaja shellile uuesti teha.
printexitvalue Kui see on määratud ja interaktiivne programm väljub nullist erineva olekuga, prindib kest „Exit status”.
viip String, mis prinditakse enne iga käsu lugemist terminalist. viip võib sisaldada mis tahes järgmist vormindamisjärjestust, mis asendatakse antud teabega:

% / Praegune töökataloog.
% ~ Praegune töökataloog, kuid oma kodukataloog, mida tähistab ' ~ 'ja teiste kasutajate kodukataloogid, mida tähistab' ~ kasutaja ' kohta Failinime asendamine . ' ~ kasutaja 'asendamine toimub ainult siis, kui kest on juba kasutatud' ~ kasutaja 'praeguse seansi teenimes.
% c [[0] n ] , %. [[0] n ] Praeguse töökataloogi lõppkomponent või n tagakomponendid, kui number n antakse. Kui n algab ' 0 ', vahelejäänud komponentide arv eelneb järgmisele komponendile / vormingutele vormingus' / järel '. Kui on määratud ellipsise kestmuutuja, tähistatakse vahele jäetud komponente ellipsiga, nii et tervikuks saab ' ... taga '. ' ~ 'asendamine toimub nagu' % ~ 'ülal, kuid' ~ 'komponenti ei arvestata tagumiste komponentide loendamisel.
% C Meeldib % c , kuid ilma ~ 'asendamine.
% h , %! , ! Praeguse ajaloosündmuse number.
% M Täis hostinimi .
% m Hosti nimi kuni esimeseni . '.
% S ( % s ) Alustage (peatage) standout-režiimi.
% B ( % b ) Alustage (peatage) rasvase kuvamise režiimi.
% U ( % u ) Start (stopp) allajoonimise režiim.
% t , % @ Kellaaeg 12-tunnises AM / PM-vormingus.
% T. Meeldib % t ', kuid 24-tunnises vormingus (kuid vaadake ampm kest muutuja).
% lk 'Täpne' kellaaeg 12-tunnises AM / PM-vormingus sekunditega.
% P Meeldib % lk ', kuid 24-tunnises vormingus (kuid vaadake ampm kest muutuja).
c c on parsitud nagu bindkey .
^ c c on parsitud nagu bindkey .
%% Üksik % '.
% n Kasutajanimi.
% N Tegelik kasutajanimi.
% j Töökohtade arv.
% d Nädalapäev Päev 'formaat.
% D Päev dd 'formaat.
% sisse Kuu Minu 'formaat.
% IN Kuu mm 'formaat.
% Y Aasta jah 'formaat.
% Y Aasta aaaa 'formaat.
% l Kesta tty.
% L Kustutatakse viiba lõpust ekraani lõpuni või rea lõpuni.
% $ Laiendab kesta või keskkonnamuutuja nime kohe pärast ' $ '.
% # ' > '(või viipurid shellimuutuja) tavakasutajatele, ' # '(või viipurid ) superkasutaja jaoks.
% { string %} Sisaldab stringi sõna otseses mõttes põgenemisjärjestusena. Seda tuleks kasutada ainult terminali atribuutide muutmiseks ja see ei tohiks kursori asukohta teisaldada. See ei saa olla viimane järjestus viip .
%? Vahetult enne viiba täidetud käsu tagastuskood.
% R Sisse viip2 , parseri olek. Sisse viip3 , parandatud string. Sisse ajalugu , ajaloo string.
' % B ',' % S ',' % U 'ja' % { string %} 'on saadaval ainult kaheksa-bitiste puhaste kestadena; vaata versioon kest muutuja.

Ülikasutaja kesta eristamiseks kasutatakse sageli rasvast, silmapaistvat ja allajoonitud järjestust. Näiteks,

> set prompt = '%m [%h] %B[%@]%b [%/] you rang? '
tut [37] [2:54pm] [/usr/accts/sys] you rang? _
Kui % t ',' % @ ',' % T. ',' % lk 'või' % P kasutatakse 'ja noogutamine pole seadistatud, siis printige ' ASJA! 'tunni muutumisel (st': 00 'minutit) tegeliku aja asemel.

Vaikeseade on ' % # 'interaktiivsetes kestades.
viip2 String, millega küsida samas ja igaühele silmused ja pärast rida, mis lõpevad ' '. Võib kasutada sama formaadiga järjestusi nagu viip ; pange tähele muutuja tähendust % R '. Vaikimisi määrake % R? 'interaktiivsetes kestades.
viip3 String, millega automaatse õigekirjaparanduse kinnitamisel küsitakse. Võib kasutada sama formaadiga järjestusi nagu viip ; pange tähele muutuja tähendust % R '. Vaikimisi määrake ÕIGE>% R (y | n | e | a)? 'interaktiivsetes kestades.
viipurid Kui see on määratud (kahekohaliseks stringiks), kuvatakse ' % # 'vormingus jada kiir-shell muutuja asendatakse esimese tähega tavakasutajate jaoks ja teise märgiga superkasutaja jaoks.
pushdtohome Kui see on seatud, pushd ilma argumentideta teeb ' pushd ~ ', nagu CD .
pushdsilent Kui see on seatud, pushd ja popd ärge printige kataloogivirna.
täpne Kui see on määratud, lõpetatakse lõpuleviimine täpse vastega isegi siis, kui pikem vaste on võimalik.
ainult_täidetavad Kui see on määratud, kuvatakse käskude loendis ainult failid, mida saab käivitada. Aeglane.
rmstar Kui see on määratud, palutakse kasutajal enne rm * 'täidetakse.
rprompt String, mida printida ekraani paremale küljele (pärast käsusisestust), kui viip kuvatakse vasakul. See tunneb ära samad vormindusmärgid kui viip. See kaob automaatselt ja ilmub vajaduse korral uuesti, tagamaks, et käsu sisend ei oleks varjatud, ja see kuvatakse ainult siis, kui viip, käsu sisend ja ise sobivad esimesel real kokku. Kui muutmist pole määratud, siis rprompt prinditakse pärast viiba ja enne käsu sisestamist.
päästetud Kui see on määratud, siis kest teeb dirs -S enne väljumist. Kui esimeseks sõnaks on määratud arv, salvestatakse kõige rohkem kataloogivirna kirjeid.
savehist Kui see on määratud, siis kest teeb ajalugu -S enne väljumist. Kui esimeseks sõnaks on määratud arv, salvestatakse maksimaalselt nii palju ridu. (Arv peab olema väiksem või võrdne ajalugu .) Kui teiseks sõnaks on seatud mine ', ajaloo loend liidetakse olemasoleva ajaloofailiga selle asemel, et seda asendada (kui see on olemas), sorteeritakse ajatempli järgi ja viimased sündmused jäävad alles.
ajakava Vorming, milles ajakava sisseehitatud käsk prindib plaanitud sündmusi; kui seda ei anta, ' % h t% T t% R n ' kasutatakse. Vormindusjärjestusi on eespool kirjeldatud viivitamatult; pange tähele muutuja tähendust % R '.
kest Fail, milles kest asub. Seda kasutatakse kestade hargnemisel failide tõlgendamiseks, millel on täidetud bitid, kuid mida süsteem ei saa käivitada. Vaadake toote kirjeldust Sisseehitatud ja mitteehitatud käskude täitmine . Algatatakse kesta (süsteemist sõltuvasse) koju.
shlvl Pesastatud kestade arv. Lähtestatakse sisselogimiskestades väärtusele 1. Vaata ka loginsh .
staatus Viimase käsu tagastatud olek, välja arvatud juhul, kui see on muutuja suvaline viga on seatud ja mis tahes viga gaasijuhtmes või tagasipakkumise laienduses levitatakse (see on vaikeväärtus csh käitumine ja praegune tcsh vaikeväärtus). Kui see lõppes ebanormaalselt, siis 0200 lisatakse olekusse. Sisseehitatud käsud, mis ei pääse tagasi väljumise olekusse ' 1 ', kõik muud sisseehitatud käsud tagastavad oleku' 0 '.
sümbolid Kontrollimiseks saab seada erinevatele väärtustele sümboolne link ('symlink') eraldusvõime:

Kui see on määratud jälitama ', kui praegune kataloog muutub sümboolset linki sisaldavaks kataloogiks, laiendatakse seda kataloogi tegelikule nimele, kuhu link osutab. See ei tööta kasutaja kodukataloogis; see on viga.

Kui see on määratud ignoreeri ', proovib shell enne lingi ületamist ehitada praeguse kataloogi praeguse kataloogi suhtes. See tähendab seda CD sümboolse lingi kaudu ja seejärel ' cd .. 'ing naaseb ühe algsesse kataloogi. See mõjutab ainult sisseehitatud käske ja failinime lõpetamist.

Kui see on määratud laienema ', proovib kest parandada sümboolseid linke, laiendades tegelikult argumente, mis näevad välja nagu teede nimed. See mõjutab kõiki käske, mitte ainult sisseehitatud. Kahjuks ei tööta see raskesti äratuntavate failinimede puhul, näiteks nende puhul, mis on manustatud käskude suvanditesse. Laienemist võidakse tsiteerida. Kuigi see seade on tavaliselt kõige mugavam, on see mõnikord eksitav ja mõnikord segadust tekitav, kui see ei tunnista argumenti, mida tuleks laiendada. Kompromiss on kasutada ignoreeri 'ja kasuta redaktori käsku normaliseerida-tee (vaikimisi seotud ^ X-n ), kui see on vajalik.

Mõned näited on korras. Kõigepealt seadistame mõned mängukataloogid:

cd /tmp
mkdir from from/src to
ln -s from/src to/dst
Siin on selline käitumine sümbolid seadistamata:

cd /tmp/to/dst; echo $cwd
/tmp/to/dst
cd ..; echo $cwd
/tmp/from
siin on käitumine sümbolid seatud ' jälitama ':

cd /tmp/to/dst; echo $cwd
/tmp/from/src
cd ..; echo $cwd
/tmp/from
siin on käitumine sümbolid seatud ' ignoreeri ':

cd /tmp/to/dst; echo $cwd
/tmp/to/dst
cd ..; echo $cwd
/tmp/to
ja siin on käitumine sümbolid seatud ' laienema '.

cd /tmp/to/dst; echo $cwd
/tmp/to/dst
cd ..; echo $cwd
/tmp/to
cd /tmp/to/dst; echo $cwd
/tmp/to/dst
cd '..'; echo $cwd
/tmp/from
/bin/echo ..
/tmp/to
/bin/echo '..'
..
Pange tähele, et ' laienema 'laiendamine töötab täpselt nagu' ignoreeri sisseehitatud ehitiste jaoks CD , on tsiteerimisega takistatud ja see juhtub enne, kui failinimed edastatakse sisseehitamata käskudele.
tcsh Shelli versiooninumber vormingus ' R . VV . PP ', kus' R 'on peamine väljalaskenumber,' VV 'praegune versioon ja' PP 'patchlevel.
tähtaeg Terminali tüüp. Tavaliselt seatakse sisse ~ / .login nagu on kirjeldatud jaotises Käivitamine ja seiskamine.
aeg Kui määratakse arv, siis aeg builtin käivitub automaatselt pärast iga käsku, mis võtab rohkem kui mitu protsessori sekundit. Kui on teine ​​sõna, kasutatakse seda vormingu stringina väljundis aeg sisseehitatud.

Formaadistringis võib kasutada järgmisi järjestusi:

% U Protsessi kulutatud aeg kasutajarežiimis protsessori sekundites.
% S Aeg, mis protsess kulutas kerneli režiimis protsessori sekundites.
%ON Kulunud aeg (seinakell) sekundites.
% P Protsessori protsent arvutatuna ( % U + % S ) / %ON .
% IN Protsessi vahetamise kordade arv.
% X Keskmine (jagatud) tekstiruumi maht kbyte.
% D Keskmine kogus (jagamata) andmetes / korstna ruumis, mida kasutatakse Kbaitides.
% TO Kasutatud ruum kokku ( % X + % D ) kbyte.
% M Maksimaalne mälumaht, mida protsess igal ajal kasutas, Kbaitides.
% F Suuremate lehtede vigade arv (leht oli vaja kettalt tuua).
% R Väiksemate lehevigade arv.
% I Sisestustoimingute arv.
% VÕI Väljundtoimingute arv.
% r Vastuvõetud pistikupesateadete arv.
% s Saadetud pistikupesasõnumite arv.
% kuni Vastuvõetud signaalide arv.
% sisse Vabatahtlike kontekstivahetuste (ootamiste) arv.
% c Tahtmatute kontekstilülituste arv.
Ilma süsteemita toetatakse ainult nelja esimest järjestust BSD ressursside piiramise funktsioonid. Vaikeaja formaat on ' % Uu% Ss% E% P% X +% Dk% I +% Oio% Fpf +% Ww 'süsteemide jaoks, mis toetavad ressursikasutuse aruandlust ja' % Uu% Ss% E% P 'süsteemide jaoks, mis seda ei tee.

Sequenti DYNIX / ptx all % X , % D , % TO , % r ja % s pole saadaval, kuid järgmised järgmised järjestused on:

% Y Sooritatud süsteemikõnede arv.
% Koos Nõudmisel nullitäitega lehtede arv.
% i Kerneli arv suurendas protsessi residentide komplekti suurust.
% d Kernel vähendas protsessi residentide komplekti suurust.
% l Sooritatud süsteemikõnede arv.
% m Sooritatud süsteemikõnede arv.
% lk Toorketaseadmetest lugemiste arv.
% q Toorketaseadmetesse kirjutamiste arv.
ja vaikeaja formaat on ' % Uu% Ss% E% P% I +% Oio% Fpf +% Ww '. Pange tähele, et mitme protsessori puhul võib protsessori protsent olla suurem kui 100%.
tperiood Periood hukkamise vahel minutites perioodiline eriline varjunimi.
tty Tty nimi või tühi, kui see pole ühele lisatud.
uid Kasutaja tegelik kasutajatunnus.
kasutaja Kasutaja sisselogimisnimi.
paljusõnaline Kui see on määratud, prinditakse iga käsu sõnad pärast ajaloo asendamist (kui see on olemas). Määratud -v käsurea valik.
versioon Versiooni ID tempel. See sisaldab kesta versiooni numbrit (vt tcsh ), päritolu, väljaandmise kuupäev, müüja, operatsioonisüsteem ja masin (vt MÜÜJA , OSTYPE ja MAKHTÜÜP ) ja komaga eraldatud loend kompileerimise ajal määratud valikutest. Märgitakse valikud, mis on jaotuses vaikimisi määratud.

8b Kest on kaheksa bitti puhas; vaikimisi
7b Kest pole kaheksa bitine puhas
lai Koor on mitmebaidine, kodeeriv puhas (nagu UTF-8)
nls Kasutatakse süsteemi NLS-i; vaikimisi süsteemidele, millel on NLS
lf Sisselogimise kestad täidetakse /etc/csh.login enne kui pärast /etc/csh.cshrc ja ~ / .login enne kui pärast ~ / .tcshrc ja ~ / .ajalugu .
dl ' . 'on seatud turvalisuse suunas viimasele teele; vaikimisi
nd ' . 'on turvalisuse tagamiseks teelt välja jäetud
meie meie -stiili redigeerimine on pigem vaikimisi kui emacs
dtr Sisselogimiskestad jätavad väljumisel DTR-i
tsau tsau on sõna sünonüüm Logi välja ja logi on valglogi alternatiivne nimi
Euroopa automaatne otsing on lubatud; vaikimisi
saab Kanji kasutatakse vajaduse korral vastavalt lokaadi sätetele, välja arvatud juhul, kui nokanji shellimuutuja on määratud
sm Süsteemi omad malloc kasutatakse
hb ' #! shelliskriptide käivitamisel jäljendatakse konventsiooni
ng The newgrp sisseehitatud on saadaval
rh Kest üritab seadistada Kaugjuhtimispult keskkonnamuutuja
afs Koor kontrollib teie parooli kerberose serveriga, kui kohalik autentimine ebaõnnestub. The detox kesta muutuja või AFSUSER keskkonnamuutuja alistab teie kohaliku kasutajanime, kui see on määratud.
Administraator võib sisestada täiendavaid stringe, et näidata erinevusi kohalikus versioonis.
nähtav kell Kui see on seatud, kasutatakse kuuldava kella asemel ekraanivälku. Vaata ka nobeep .
vaatama Sisselogimiste ja väljalogimiste jälgimiseks kasutaja / terminali paaride loend. Kui kumbki kasutaja on ' ükskõik milline 'kõiki terminale jälgitakse antud kasutaja jaoks ja vastupidi. Kell seatakse olekusse (mis tahes) jälgib kõiki kasutajaid ja terminale. Näiteks,

set watch = (george ttyd1 any console $user any)
teatab kasutaja tegevusest ' george 'ttyd1-l, konsooli kõik kasutajad ja ükskõik milline terminal (ise) või üleastuja.

Sisselogimisi ja väljalogimisi kontrollitakse vaikimisi iga 10 minuti järel, kuid selle esimene sõna on vaatama saab seadistada arvule, et seda iga paari minuti järel kontrollida. Näiteks,

set watch = (1 any any)
teatab sisselogimisest / väljalogimisest üks kord minutis. Kannatamatute jaoks on logi builtin käsk käivitab jälgimisaruande igal ajal. Kõigist praegustest sisselogimistest teatatakse (nagu sisseehitatud sisselogimisel) kui esmakordselt seadistatakse jälgimine.

The WHO shellimuutuja kontrollib jälgimisaruannete vormingut.
WHO Vormingu string vaatama sõnumeid. Järgmised järjestused asendatakse antud teabega:

% n Sisseloginud / välja loginud kasutaja nimi.
% kuni Täheldatud toiming, st 'sisse logitud', 'välja logitud' või 'vana kasutaja on asendatud'.
% l Terminal (tty), kuhu kasutaja sisse / välja logis.
% M Kaughosti täielik hostinimi või „local”, kui sisselogimine / väljalogimine oli kohalikult hostilt.
% m Kaughosti hostinimi kuni esimeseni . '. Täisnimi trükitakse, kui see on IP aadress või X Window Systemi kuva.
% M ja % m on saadaval ainult süsteemides, mis salvestavad kaughosti nime / etc / utmp . Kui see pole määratud, ' % n-l on% a% l alates% m. kasutatakse või % n-l on% a% l. 'süsteemides, mis ei salvesta kaughosti nime.
sõnamärgid Mittetähtnumbriliste tähemärkide loend, mida redaktori käsud loevad sõna osaks sõna edasi, tagasi sõna jne. Kui see pole määratud, ' *? _-. [] ~ = ' kasutatakse.

Keskkond

AFSUSER Samaväärne detox kest muutuja.
VEERUD Terminali veergude arv. Vaata Terminalide haldamine .
EKRAAN Kasutab X Window System. Kui see on määratud, siis kest ei määra automaatne otsing .
TOIMETAJA Vaikimisi toimetaja teenimi. Vaata ka VISUAALNE keskkonnamuutuja ja run-fg-editor toimetaja käsk.
GRUPP Samaväärne Grupp kest muutuja.
KODU Samaväärne Kodu kest muutuja.
HOST Algustatakse selle masina nimele, millel kest töötab, nagu määrab gethostname süsteemikõne.
HOSTTYPE Algustatakse selle masina tüübile, millel kest töötab, nagu see on kompileerimise ajal määratud. See muutuja on vananenud ja eemaldatakse tulevases versioonis.
HPATH Kooloniga eraldatud kataloogide loend, kus käsk run-help editor otsib käsudokumentatsiooni.
LANG Annab eelistatud iseloomukeskkonna. Vaata Emakeele süsteemi tugi .
LC_CTYPE Kui see on määratud, siis ainult ctype tähemärkide käitlemist muudetakse. Vaata Emakeele süsteemi tugi.
RIDAD Liinide arv terminalis. Vaata Terminalide haldamine .
LS_COLORS Selle muutuja vorming meenutab termcap failiformaat; kooloniga eraldatud vormi avaldiste loend ' xx = string ', kus' xx 'on kahekohaline muutuja nimi. Muutujad koos nendega seotud vaikeväärtustega on:

mitte 0 Normaalne (mitte-failinimi) tekst
olema 0 Tavaline fail
kohta 01; 34 Kataloog
ln 01; 36 Sümboolne link
pi 33 Nimeline toru (FIFO)
nii 01; 35 Pistikupesa
tegema 01; 35 Läbi
bd 01; 33 Blokeerige seade
CD 01; 32 Märkide seade
endine 01; 32 Käivitatav fail
mina (puudub) Fail puudub (vaikimisi fi)
või (puudub) Orvuks jäänud sümboolne link (vaikimisi ln )
lc ^ [[ Vasak kood
rc m Õige kood
ec (puudub) Lõppkood (asendab lc + mitte + rc )
Peate lisama ainult need muutujad, mida soovite vaikeväärtusest muuta.

Failinimesid saab värvida ka failinime laienduse põhjal. See on täpsustatud dokumendis LS_COLORS muutuja süntaksit kasutades ' * ext = string '. Näiteks kõigi värvimiseks ISO 6429 koodide abil C-keel lähtefailid sinine, mille määraksid ' *. c = 34 '. See värviks kõik failid, mis lõpevad tähega .c sinise (34) värviga.

Kontrollmärke saab kirjutada kas C -stiiliga põgenenud märge või sisse stty -taoline ^ -märkus. C-stiilis tähistus lisab ^ [ Escape jaoks, _ tavalise kosmosemärgi jaoks ja ? kustutamiseks. Samuti ^ [ põgenemismärki saab kasutada teksti vaikimisi tõlgenduse tühistamiseks ^ [ , ^ , : ja = .

Iga fail kirjutatakse järgmiselt . Kui kood on määratlemata, jada selle asemel kasutatakse. Seda on üldiselt mugavam kasutada, kuid vähem üldist. The vasakule , eks ja lõpp koodid on ette nähtud, nii et te ei pea ühiseid osi uuesti ja uuesti tippima ning kummalisi terminale toetama; tavaliselt ei pea te neid üldse muutma, kui teie terminal ei kasuta ISO 6429 värvilahendusi, vaid mõnda muud süsteemi.

Kui teie terminal kasutab ISO 6429 värvikoode, saate koostada tüübikoodid (st kõik, välja arvatud lc , rc ja ec koodid) semikoolonitega eraldatud arvkäskudest. Kõige tavalisemad käsud on:

0 vaikevärvi taastamiseks
1 erksamate värvide jaoks
4 allajoonitud teksti jaoks
5 vilkuva teksti jaoks
30 musta esiplaani jaoks
31 punase esiplaani jaoks
32 rohelise esiplaani jaoks
33 kollase (või pruuni) esiplaani jaoks
3. 4 sinise esiplaani jaoks
35 lillale esiplaanile
36 tsüani esiplaanil
37 valge (või halli) esiplaani jaoks
40 musta tausta jaoks
41 punase tausta jaoks
42 rohelise tausta jaoks
43 kollase (või pruuni) tausta jaoks
44 sinise tausta jaoks
Neli, viis lilla tausta jaoks
46 sinise tausta jaoks
47 valge (või halli) tausta jaoks
Kõik käsud ei tööta kõigis süsteemides ega kuvaseadmetes.

Mõni terminaliprogramm ei tunnista vaikimisi lõpp korralikult koodi. Kui kogu kataloog värvub pärast kataloogide loendi tegemist, proovige seda muuta mitte ja olema koodid alates 0 standardsete esi- ja taustavärvide numbrikoodidele.
MAKHTÜÜP Masina tüüp (mikroprotsessori klass või mudeli mudel), mis on määratud kompileerimise ajal.
NOREBIND Kui see on seatud, ei taastata prinditavaid märke ise sisesta-käsk . Vt emakeelsüsteemi tugi.
OSTYPE Operatsioonisüsteem, mis on määratud kompileerimise ajal.
TEE Käärsoolega eraldatud kataloogide loend, kust käivitatavaid faile otsida. Samaväärne path shell muutujaga, kuid teises vormingus.
PWD Samaväärne cwd shellimuutuja, kuid pole sellega sünkroonitud; värskendatakse alles pärast kataloogi tegelikku muutmist.
Kaugjuhtimispult Host, kust kasutaja on sisse loginud eemalt, kui see on nii ja kest saab selle kindlaks teha. Määra ainult siis, kui kest on nii kompileeritud; vaata versioon kest muutuja.
SHLVL Samaväärne shlvl kest muutuja.
SÜSTEEM Praegune süsteemitüüp. (Ainult domeen / OS)
TERM Samaväärne terminiga muutuja.
TERMCAP Terminali võimekuse string. Vaata Terminalide haldamine .
KASUTAJA Samaväärne kasutaja shellimuutujaga.
MÜÜJA Müüja, mis on määratud kompileerimise ajal.
VISUAALNE Täisekraanvaate redaktori vaikenimi. Vaata ka TOIMETAJA keskkonnamuutuja ja run-fg-editor toimetaja käsk.

Toimikud

/etc/csh.cshrc Loe kõigepealt iga kesta järgi. KumeradOS, Stellix ja Intel kasutamine / etc / cshrc ja NeXT arvutid kasutavad /etc/cshrc.std . A / UX, AMIX, Cray ja IRIX ei oma aastal vastet csh , kuid lugege seda faili sisse tcsh igatahes. Ka Solaris 2.x-l pole seda, aga tcsh loeb /etc/.cshrc .
/etc/csh.login Pärast sisselogimise kestade lugemist /etc/csh.cshrc . ConvexOS, Stellix ja Intel kasutavad / etc / login , NeXT-de kasutamine /etc/login.std , Solaris 2.x kasutab /etc/.login ning A / UX, AMIX, Cray ja IRIX kasutamine / etc / cshrc .
~ / .tcshrc Loeb iga kesta järgi /etc/csh.cshrc või selle ekvivalent.
~ / .cshrc Loe iga koore järgi, kui ~ / .tcshrc pole olemas /etc/csh.cshrc või selle ekvivalent. Selles käsiraamatus kasutatakse ~ / .tcshrc ' tähendab ' ~ / .tcshrc või kui ~ / .tcshrc ei leitud ~ / .cshrc '.
~ / .ajalugu Pärast sisselogimise kestade lugemist ~ / .tcshrc kui savehist on seatud, aga vaata ka histfail .
~ / .login Pärast sisselogimise kestade lugemist ~ / .tcshrc või ~ / .ajalugu . Kest võib kompileerida lugemiseks ~ / .login enne kui pärast ~ / .tcshrc ja ~ / .ajalugu ; vaata versioon kest muutuja.
~ / .cshdirs Pärast sisselogimise kestade lugemist ~ / .login kui päästetud on seatud, aga vaata ka dirsfile .
/etc/csh.logout Loeb sisselogimisel sisselogimiskest. ConvexOS, Stellix ja Intel kasutavad / etc / logout ja NeXT-d kasutavad /etc/logout.std . A / UX, AMIX, Cray ja IRIX ei oma aastal vastet csh , kuid lugege seda faili sisse tcsh igatahes. Ka Solaris 2.x-l pole seda, aga tcsh loeb /etc/.logout .
~ / .logout Pärast sisselogimist loeb sisse logimiskest /etc/csh.logout või selle ekvivalent.
/ bin / sh Kasutatakse shelliskriptide tõlgendamiseks, mis ei alga tähega ' # '.
/ tmp / sh * Ajutine fail päringule << '.
/ etc / passwd Kodukataloogide allikas ~ nimi 'asendused.

Näited

Alustama tcsh teisest kestast käivitage käsk:

tcsh

Nüüd kirjutame lihtsa tcsh ja käivitage see.

Alustame uue faili loomisega meie toimetaja. Nimetame seda ' failiinfo ':

vi fileinfo

See käivitab meie toimetaja ja paigutage teid uude faili nimega failiinfo . (Lisateabe saamiseks meie , vaadake meie meie dokumentatsioon ). Vajutage i sisestusrežiimi sisenemiseks ja järgmise skripti sisestamiseks:

#!/bin/tcsh # Usage: fileinfo name # If there are no arguments, print a help message. if ( $#argv == 0 ) then echo 'Usage: fileinfo name' exit endif # If the first argument is not a file that exists, exit. if ( ! -e  ) then echo 'Error: File  does not exist' exit endif # List ls file info: echo '' echo 'File list info:' ls -l  # list file info # Show how many lines in the file: echo '' echo 'Numer of lines:' wc -l  # count words in this file # And what type of file it is: echo '' echo 'File type:' file  

Kui olete valmis, vajutage Esc sisestusrežiimist väljumiseks sisestage käsk : sisse faili salvestamiseks. Seejärel saate tippida : q väljuma meie .

Ülaltoodud skript võtab argumendina failinime ja prindib selle faili kohta teabe, sealhulgas mitu rida failis (kasutades tualett käsk) ja mis tüüpi fail see on (kasutades faili käsk).

Teeme stsenaariumi käivitatav koos chmod käsk:

chmod +x fileinfo

... ja nüüd proovime seda, hankides teavet skriptifaili enda kohta. Nagu alati, kuna skripti, mida soovime käivitada, pole meie oma TEE keskkonnamuutuja, käivitame faili, lisades selle kataloogi nimega: sel juhul praegune kataloog, ' ./ '. Meie argumendina täpsustame skripti nime (mis ei vaja kataloogi eesliidet).

./fileinfo fileinfo

Ja siin on väljund:

File list info: -rwxr-xr-x 1 username username 315 May 21 09:42 fileinfo Numer of lines: 19 fileinfo File type: fileinfo: Tenex C shell script, ASCII text executable 

bash - Shell Bourne Again käsutõlk.
csh - Shelli käsu tõlk.
ksh - Korni korpuse käsutõlk.
sh - Bourne'i shellikäskude tõlk.