VARDAS
sh - komandų vertėjas ("shell")
SANTRAUKA
sh -/ + aCefnuvxIimqsVEbc -o longname -words taikinys …
APIBŪDINIMAS
Sh yra standartinis sistemos interpretavimo komandos. Dabartinė versijash yra keičiamas taip, kad atitiktųPOSIX 1003.2 ir 1003.2a specifikacijos. Ši versija turi daug funkcijų, kurios tam tikrais atžvilgiais tampa panašios į Korno lukštą, tačiau tai nėra Korn lukšto klonas (žr. Ksh (1)). Tik funkcijos, kurias paskyrėPOSIX pridedant keletą Berkeley pratęsimų, yra įtrauktos į šį apvalkalą. Mes tikimėsPOSIX atitiktų laiką 4.4 BSD yra paleistas. Šis žmogaus puslapis nėra skirtas pamokoms ar išsamiai apvalkalo specifikacijai.
Apžvalga
Korpusas yra komanda, kuri skaito eilutes iš failo arba terminalo, jas interpretuoja ir paprastai vykdo kitas komandas. Tai programa, kuri veikia, kai vartotojas įeina į sistemą (nors vartotojas gali pasirinkti kitą lukštą su komanda chsh (1)). Korpusas įdiegia kalbą, turinčią srauto valdymo konstrukcijas, makrokomandą, kuris be daugialypių duomenų saugojimo suteikia daugybę funkcijų, kartu su įtaisytais istorijos ir linijos redagavimo galimybėmis. Ji apima daugybę funkcijų, padedančių interaktyviam naudojimui, ir turi pranašumą, kad aiškinamoji kalba yra bendra interaktyviam ir neinteraktyviam naudojimui ("shell" scenarijai). Tai reiškia, kad komandos gali būti įvestos tiesiai į vykdomąjį apvalkalą arba jį galima įdėti į failą, o failą gali atlikti tiesiogiai apvalkalas.
Paskatinimas
Jei nėra argių ir jei standartinis įdėtas korpusas yra prijungtas prie terminalo (arba jei -ivėliava nustatoma) ir -c parinktis nėra, apvalkalas laikomas interaktyvu apvalkalu. Prieš kiekvieną komandą interaktyvi apvalkale paprastai pateikiama informacija, o programavimo ir komandų klaidos skiriasi skirtingai (kaip aprašyta toliau). Kai pirmą kartą paleidžiant, lukštas tikrina argumentą 0, o jei jis prasideda brūkšniu "-", apvalkalas taip pat laikomas prisijungimo lukštais. Sistemą paprastai atlieka automatiškai, kai vartotojas pirmą kartą prisijungia. Prisijunkite lange pirmiausia nuskaito komandas iš failų / etc / profile ir .profile, jei jos egzistuoja. Jei aplinkos kintamasisENV yra nustatytas įvedant į shell'ą arba yra nustatytas įregistravimo lakšto .profilėje, apvalkalas toliau skaito komandas iš failo, nurodytoENVTodėl vartotojas turi įdėti komandas, kurios turi būti vykdomos tik prisijungimo metu .profile failo, ir komandas, kurios vykdomos kiekvienam lukštui vidujeENV failas Norėdami nustatytiENV kintamasis į kokį nors failą, įrašykite šią eilutę savo .profile jūsų namų kataloge
ENV = $ HOME / .shinit; eksportas ENV
pakeičiant `` .shinit '' bet kurį norimą failo pavadinimą. NuoENV failas yra perskaitomas kiekvienam apvalkalo iškviesimui, įskaitant shell scenarijus ir neinteraktyvus apvalkalus, ši paradigma naudinga norint apriboti komandasENV failą į interaktyvius skambučius. Žemiau esančias komandas "` case '' ir `` esac '' (šios komandos aprašytos vėliau):
atvejis $ - in * i *)
# komandos tik interaktyviam naudojimui
…
esac
Jei buvo nurodyti komandų eilutės argumentai be parinkčių, tada apvalkalas pirmąjį argumentą laiko kaip failo pavadinimą, iš kurio galima skaityti komandas ("shell" scenarijų), o likusieji argumentai yra nustatyti kaip "shell" pozicijos parametrai ($ 1 , 2 dol. Ir tt). Priešingu atveju, lukštas skaito komandas iš standartinės įvesties.
Argumentų sąrašo apdorojimas
Visi vienos raidės parinktys turi atitinkamą pavadinimą, kuris gali būti naudojamas kaip argumentas -o pasirinkimas. Rinkinys -o vardas pateikiamas šalia vieno raidės varianto apačioje. Nurodžius brūkšnį `` - '' įjungia parinktį, naudodamas pliusą `` + '' išjungia parinktį. Šios parinktys gali būti nustatytos iš komandinės eilutės arba su set (1) builtin (aprašyta vėliau).
-a allexport
Eksportuojami visi kintamieji, priskirti. (NEPAGEIGTAS už 4.4 alpha)
-c
Skaityti komandas iš komandinės eilutės. Nė viena komanda nebus nuskaityta iš standartinės įvesties.
-C noclobber
Negalima perrašyti esamų failų su ``> '' (NEPAGEIGTINTA už 4.4alpha)
-e erreksitas
Jei neinteraktyvus, nedelsdami išjunkite, jei nepavyks bandyti nepatikrintos komandos. Komandos išėjimo būsena laikoma aiškiai išbandyta, jei komanda naudojama valdytijei elifwhile arbaiki arba jei komanda yra "` && '' arba `` || '' operatoriaus kairysis operandas.
-f noglob
Išjungti plėtinio plėtinį.
-n noexec
Jei neinteraktyvus, skaitykite komandas, bet nevykdykite jų. Tai naudinga norint patikrinti "shell" scenarijų sintaksę.
-u vardas
Bandydami išplėsti nenustatytą kintamąjį, parašykite žinutę standartine klaida, o jei korpusas nėra interaktyvus, nedelsdami išjunkite. (NEPAGEIGTAS už 4.4 alpha)
-v verbose
Korpusas savo sąnaudas įrašo į standartinę klaidą, kai ji yra skaitoma. Naudinga derinti.
-x xtrace
Įrašykite kiekvieną komandą į standartinę klaidą (prieš prasidedant simboliu "+", kol ji bus įvykdyta. Naudinga derinti.
-q quietprofile
Jei -v arba -x parinktys buvo nustatytos, jų negalima taikyti skaitydami iniciacijos failus, tai yra / etc / profile .profile ir failo, nurodytoENV aplinkos kintamasis.
-I ignoreeofof
Nepaisyti EOF iš įvesties, kai interaktyvi.
-i interaktyvus
Priverskite apvalkalą veikti interaktyviai.
-m stebėti
Įjunkite darbo kontrolę (nustatykite automatiškai, kai interaktyvi).
-s stdin
Skaityti komandas iš standartinio įvesties (nustatyti automatiškai, jei nėra failo argumentų). Ši parinktis neturi jokios įtakos, kai nustatoma po to, kai korpusas jau paleistas (t. Y. Su setu (1)).
-V vi
Įgalinti integruotą vi (1) komandinės eilutės redaktorių (išjungia -E jei jis buvo nustatytas).
-E emacs
Įgalinti įtaisytą emacs (1) komandinės eilutės redaktorių (išjungia -V jei jis buvo nustatytas).
-b pranešti
Įgalinti asinchroninį pranešimą apie fono darbą. (NEPAGEIGTAS už 4.4 alpha)
Leksine struktūra
Korpusas skaito duomenis iš failo eilučių ir suskaido jį į žodžius, esančius tarpybėje (ruošiniai ir skirtukai), o tam tikrose operacinėse sistemose būdingų simbolių sekos vadinamos "operatoriais". Yra dviejų tipų operatoriai: valdymo operatoriai ir peradresavimo operatoriai (jų reikšmė aptariama vėliau). Toliau pateikiamas operatorių sąrašas:
"Valdymo operatoriai:"
& && ( ) ; ;; | || "Peradresavimo operatorius:" < > >| << >> <& >& <<- <>
Citata naudojama norint panaikinti tam tikrų simbolių ar žodžių konkrečią reikšmę apvalkale, pvz., Operatoriams, tarpai arba raktiniai žodžiai. Yra trys citavimo tipai: suderintos vienos kabutės, suderintos dvigubos kabutės ir backslash. Slenkamas brūkšnys išsaugo šio simbolio tiesioginę prasmę, išskyrus Aq eilutę. Prieš "Aq" naujos eilutės grįžtamąja briauna traktuojama kaip linijos tęsinys. Ženklų priskyrimas vienkartiniuose kabutėse išsaugo visų simbolių tiesioginę reikšmę (išskyrus vienos kabučių, todėl neįmanoma įdėti atskirų citatų vienoje citavimo eilutėje). Dvipučių citatų priskiriami simboliai išsaugo visų simbolių tiesioginę reikšmę, išskyrus dolerių ($) backquote (`) ir backslash (). Dvigubų kabučių viduje esantis backslash yra istoriškai keistas ir nurodo tik šiuos simbolius: $ ` Priešingu atveju jis išlieka pažodinis. Rezervuoti žodžiai yra žodžiai, kurie turi ypatingą reikšmę apvalkale ir yra pripažinti linijos pradžioje ir po valdymo operatoriaus. Žemiau yra rezervuoti žodžiai: ! Taelif Ta fi Ta, o Ta atvejis dar TaTa Ta Ta Ta daryti tapadaryta Ta, kol Ta, jei Ta Esac Jų reikšmė aptariama vėliau. Slapyvardis yra vardas ir atitinkama reikšmė, nustatyta naudojant slapyvardį (1) builtin komandą. Kiekvieną kartą, kai gali pasitaikyti rezervuotas žodis (žr. Pirmiau), ir patikrinus rezervuotus žodžius, apvalkalas patikrina žodį, kad įsitikintų, ar jis atitinka slapyvardį. Jei taip, jis pakeičia įvesties srautą su jo verte. Pavyzdžiui, jei yra slapyvardis, vadinamas `` lf '' su reikšme `` ls -F '', tada įvestis: lobis taptų ls-F foobar Slapyvardžiai suteikia patogų kelią naivus naudotojams kurti komandų trumpačius, nesvarbu, kaip kurti funkcijas su argumentais. Jie taip pat gali būti naudojami norint sukurti leksiškai neaiškų kodą. Šis naudojimas yra atgrasomas. Apvalkalas interpretuoja žodžius, kuriuos jis skaito, pagal kalbą, kurios specifikacija nepatenka į šio žmogaus puslapio sritį (žr. BNFPOSIX Dokumentas 1003.2). Iš esmės, nors eilutė yra skaitoma ir jei pirmasis eilutės žodis (arba po valdymo operatoriaus) nėra rezervuotas žodis, tada apvalkalas pripažino paprastą komandą. Priešingu atveju gali būti atpažįstama sudėtinga komanda arba kitas ypatingas konstruktas. Jei paprasta komanda buvo atpažinta, lukštas atlieka šiuos veiksmus: Vadovaujantys žodžiai "` name = value '' yra pašalinami ir priskiriami paprastos komandos aplinkai. Peradresavimo operatoriai ir jų argumentai (kaip aprašyta toliau) yra pašalinami ir išsaugomi apdorojimui. Likę žodžiai išplečiami, kaip aprašyta skyriuje "Išplėtimas", o pirmasis likęs žodis laikomas komandų pavadinimu ir nustatyta komanda. Likę žodžiai laikomi komandos argumentais. Jei komandinio pavadinimo nėra, tada 1 punkte atpažįstamos kintamojo užduoties `` name = value '' turi įtakos dabartiniam apvalkale. Persiuntimai atliekami, kaip aprašyta kitame skyriuje. Peradresavimai Persiuntimai naudojami norint keisti komandą, kuri nuskaito jo įvestį arba siunčia savo išvestį. Apskritai peradresavimai atveria, uždaro ar dubliuoja esamą nuorodą į failą. Bendras peradresavimui taikomas formatas yra: n redir-op failas kur Redir-op yra vienas iš pirmiau minėtų nukreipimo operatorių. Toliau pateikiamas galimų peradresavimų sąrašas. Bq n yra neprivalomas skaičius, kaip ir "3" (ne "Bq 3", kuris nurodo failo deskriptorių. n> failas Peradresuoti standartinę išvestį (arba n) į failą. n> | failas Tas pats, bet nepaisyti -C pasirinkimas. n >> byla Pridėkite standartinę išvestį (arba n) į failą. n <failas Peradresuoti įprastą įvestį (arba n) iš failo. n1 <& n2 Standarto įvesties kopija (arba n1) iš failo deskriptoriaus n2. n <& - Uždaryti standartinį įvestį (arba n). n1> & n2 Standartinės išvesties kopija (arba n1) iš n2. n> & - Uždaryti standartinę išvestį (arba n). n <> failas Atidaryti failą skaityti ir rašyti į standartinį įvestį (arba n). Šį peradresavimą dažnai vadina "čia dokumentas" n << atskyriklis čia-doc-text … atskyriklis Visas tekstas iš eilės eilutėse iki skirtuko yra išsaugomas ir pateikiamas standartinės įvesties komandai arba failo deskriptorius n, jei jis yra nurodytas.Nurodomas skirtukas, nurodytas pradinėje eilutėje, čia teksto tekstas yra apdorojamas pažodžiui, priešingu atveju tekstas yra pakeičiamas parametru, komandų pakaitalu ir aritmetiniu išplėtimu (kaip aprašyta skyriuje "Išplėtimas"). 'Jei operatorius yra `` << -' ', o ne `` <<' ', tada pagrindiniai skirtukai čia-doc-text yra pašalinami. Yra trijų tipų komandos: apvalkalo funkcijos, integruotos komandos ir įprastos programos - ir komanda ieškoma (pagal pavadinimą) toje pačioje eilėje. Kiekvienas iš jų yra įvykdytas kitaip. Kai vykdoma apvalkalo funkcija, visi apvalkalo pozicijos parametrai (išskyrus $ 0, kurie lieka nepakitę) yra nustatomi kaip apvalkalo funkcijos argumentai. Kintamieji, kurie yra aiškiai dedami į komandų aplinką (priskiriant jiems priskyrimus prieš funkcijos pavadinimą), yra atliekami lokaliai ir yra nustatytos pagal pateiktas vertes. Tuomet vykdoma funkcija apibrėžta komanda. Kai komanda baigia, pozicijos parametrai atkuriami iki pradinių reikšmių. Visa tai vyksta per dabartinę korpusą. "Shell" buteliukai yra atliekami viduje prie korpuso, nesukeliant naujo proceso. Priešingu atveju, jei komandos pavadinimas neatitinka funkcijos ar integruotos, tai failų sistemoje ieškoma kaip įprasta programa (kaip aprašyta kitame skyriuje). Kai vykdoma normali programa, apvalkalas paleidžia programą, perduoda argumentus ir aplinką programai. Jei programa nėra įprasta vykdomoji failas (t. Y., Jei jis neprasideda nuo "magiško numerio", kurioASCII Reprezentacija yra "#!", taigi execve (2) grąžina Er ENOEXEC tada) apvalkalas bus interpretuoti programą subhell. Šiuo atveju vaikas iš naujo inicializuosis, taigi poveikis bus toks, lyg naujas operacinės sistemos apvalkalas būtų naudojamas ad hoc shell scenarijų tvarkymui, išskyrus tai, kad šalutinių komandų, esančių tėvų aplanke, vieta bus prisiminta vaikas Atkreipkite dėmesį, kad ankstesnės šio dokumento ir paties šaltinio kodo klaidinančios ir atsitiktinai nuorodos į shell scenarijų be magiško numerio kaip "apvalkalo procedūrą". Kai randate komandą, pirmiausia lukštais pamatysite, ar jis turi "shell" funkciją tokiu pavadinimu. Tada ji ieško įvesties komandos tokio vardo. Jei "builtin" komanda nerasta, įvyko vienas iš dviejų dalykų: Komandų pavadinimai, turintys brūkšnį, yra vykdomi be jokių paieškų. Korpusas ieško kiekvieno įrašoPATH savo ruožtu komandai. VertėPATHkintamasis turėtų būti įrašų serija, atskirta dviem kojomis. Kiekvieną įrašą sudaro katalogo pavadinimas. Dabartinis katalogas gali būti netiesiogiai nurodytas tuščiu katalogo pavadinimu arba aiškiai vienu laikotarpiu. Komandos išvesties būsena Kiekviena komanda turi išėjimo statusą, kuris gali įtakoti kitų apvalkalo komandų elgesį. Paradigma yra tokia, kad komanda išeina su nuline normaliam ar sėkmingam, o ne nuliui - dėl gedimo, klaidos ar klaidingos indikacijos. Kiekvienos komandos meniu puslapyje turi būti nurodyti įvairūs išeigos kodai ir tai, ką jie reiškia. Be to, integruotos komandos grąžina išėjimo kodus, kaip ir vykdomą apvalkalo funkciją. Kompleksinės komandos yra paprastų komandų kombinacijos su valdymo operatoriais arba rezervuoti žodžiai, kartu kuriant didesnę sudėtingą komandą. Apskritai, komanda yra viena iš šių: Jei nenurodyta kitaip, komandos išėjimo būsena yra paskutinės paprastos komandos vykdoma komanda. Vamzdynas - tai viena ar daugiau komandų, kurias atskiria valdymo operatorius, seka |. Visų, išskyrus paskutinę komandą, standartinė išvestis yra prijungta prie kitos komandinės standartinės įvesties. Standartinė paskutinės komandos išvestis yra paveldėta iš apvalkalo, kaip įprasta. Dujotiekio formatas yra: ! command1 | command2 … Standartinė komandų 1 išvestis yra prijungta prie standartinės komandinės 2 įvesties. Standartinis įėjimas, standartinė išvestis arba abi komandos laikomos priskirtinomis vamzdyne prieš bet kokią peradresavimą, nurodytą peradresavimo operatorių, kurie yra komandos dalis. Jei vamzdynas nėra fone (aptariamas vėliau), lukštas laukia visų komandų užbaigimo. Jei rezervuotas žodis! nėra prieš vamzdyną, išvesties būsena yra paskutinės vamzdyne nurodytos komandos išvesties būsena. Priešingu atveju išėjimo būsena yra logiška NĖRA iš paskutinės komandos išėjimo būsenos. Tai reiškia, kad jei paskutinė komanda grąžina nulį, išėjimo statusas yra 1; jei paskutinė komanda grąžina daugiau nei nulį, išėjimo statusas yra lygus nuliui. Kadangi dujotiekio priskyrimas standartiniam įėjimui arba standartiniam išėjimui arba abu vyksta prieš peradresavimą, jį galima pakeisti peradresavimu. Pavyzdžiui: $ command1 2> & 1 | command2 siunčia standartinę išvestį ir standartinę command1 klaidą į standartinę komandinės 2 įvestį. A; arba Atkreipkite dėmesį į tai, kad priešingai nei kai kurie kiti korpusai, kiekvienas procesas dujotiekyje yra vaiduoklis, kuris naudoja lange (išskyrus atvejus, kai jis yra apvalkalas, tokiu atveju jis vykdo dabartiniame lange - bet jo poveikis aplinkai yra išvalytas). Jei komandą nutraukia valdymo operatorius ampersand (&), apvalkalas vykdo komandą asinchroniškai - tai yra, apvalkalas nelaukia, kol baigsis komanda, prieš vykdydami kitą komandą. Komandos paleidimo fone formatas yra toks: command1 ir command2 ir … Jei korpusas nėra interaktyvus, asinchroninės komandos standartinis įvestis nustatomas į / dev / null Sąrašas yra nulis ar daugiau komandų seka, atskirta naujomis eilutėmis, kabliataškiais arba ampersandais ir pasirinktinai nutraukiama vienu iš šių trijų simbolių. Sąraše esančios komandos vykdomos tokia tvarka, kokia jos parašytos. Jei komandai seka ampersandas, apvalkalas paleidžia komandą ir tuoj pat pradeda veikti į kitą komandą; kitaip jis laukia komandos užbaigimo prieš pradėdamas dirbti kitoje. `` && '' ir `` || '' yra AND-OR sąrašo operatoriai. `& & '' vykdo pirmąją komandą, o tada vykdo antrąją komandą iff, kai pirmosios komandos išėjimo būsena yra lygi nuliui. `` || '' yra panašus, bet vykdo antrąją komandą, jei pirmosios komandos išėjimo būsena yra nulinė. "` && "" ir "` || '' abu turi tą patį prioritetą. Jei komanda yra sintaksė jei sąrašas tada sąrašas elif sąrašas tada sąrašas … kitas sąrašas fi Laiko komandos sintaksė yra nors sąrašas daryti sąrašą padaryta Du sąrašai vykdomi pakartotinai, o pirmojo sąrašo išeities būsena yra lygi nuliui. Iki tol, kol komanda yra panaši, tačiau turi žodį, kol vietoj to, o tai sukelia tai pakartoti, kol pirmojo sąrašo išeities būsena bus lygi nuliui. Komandos sintaksė yra už kintamąjį žodyje … daryti sąrašą padaryta Žodžiai išplečiami, o tada sąrašas kartojamas, kiekvienam žodžiui nustatomas kintamasis. daryti ir padaryti gali būti pakeistas `` {'' ir ``} '' Pertraukos sintaksė ir komanda "continue" yra pertrauka num tęsti num Pertrauka išjungia garsiausią numerį kilpų metu. Tęskite tęsiamą kitą iteracinę vidinę kilpą. Tai yra įdiegtos kaip integruotos komandos. Bylos komandos sintaksė yra byla žodyje modelis); … esac Šis modelis iš tikrųjų gali būti vienas ar daugiau modelių (žr. Toliau aprašytus "Shell" modelius), atskirtus simboliais "` ''. Komandos gali būti grupuojamos raštu (sąrašas) arba {list; Pirmasis iš šių vykdo komandas į subshell. Builtin komandos, sugrupuotos į (sąrašą), neturės įtakos esamai apvalkalei. Antroji forma neleidžia kitai lukštai, todėl ji yra šiek tiek veiksmingesnė. Tokiu būdu grupuojant komandas galite peradresuoti savo produkciją taip, lyg ji būtų viena programa: {printf hello; printf world n ";}> sveikinimas Funkcijos Funkcijos apibrėžimo sintaksė yra vardas () komanda Funkcijos apibrėžimas yra vykdomoji ataskaita; kai vykdomas, jis nustato funkciją pavadinimu pavadinimu ir grąžina išėjimo statusą nuliui. Paprastai komandą sudaro sąrašas tarp "` ('' ir ``) '' Naudojant vietinę komandą kintamieji gali būti paskelbti vietiniais funkcijomis. Tai turėtų pasirodyti kaip pirmasis funkcijos aprašas, o sintazė yra vietinis kintamasis | - … Vietinis vykdomas kaip "builtin" komanda. Kai kintamasis yra vietinis, jis paveldi pradinę vertę ir eksportuoja ir skaito vien tik vėliavas iš kintamojo su tuo pačiu pavadinimu aplinkoje, jei jis yra. Priešingu atveju kintamasis iš pradžių nenustatytas. Korpusas naudoja dinaminį matavimą, taigi, jei sukuriamas kintamasis x vietinis, kad veiktų f, kuris tada vadina funkciją g, nuorodos į kintamąjį x, pagamintu viduje g, bus susiję su k nurodytu k rodikliu x, o ne su globaliniu kintamuoju x . Vienintelis specialus parametras, negu galima padaryti vietiniu, yra `` - '' Making `- '' vietinis bet kokios apvalkalo parinktys, kurios pakeičiamos per nustatytą komandą funkcijos viduje, kuri turi būti atkurta iki pradinių reikšmių, kai funkcija grąžina. Grąžinimo komandos sintaksė yra grįžti exitstatus Tai nutraukia šiuo metu vykdomą funkciją. Grąžinimas vykdomas kaip builtin komanda. Korpusas palaiko parametrų rinkinį. Nurodytu parametru vadinamas kintamasis. Pradedant lakštas visus aplinkos kintamuosius pakeičia į apvalkalo kintamuosius. Naujus kintamuosius galima nustatyti naudojant formą vardas = vert Vartotojo nustatomi kintamieji turi turėti vardą, susidedantį tik iš abėcėlių, skaičių ir pabraukimų skaičių - pirmoji iš jų neturi būti skaitinė. Parametras taip pat gali būti žymimas skaičiumi arba specialiu simboliu, kaip paaiškinta toliau. Pozicijos parametras yra parametras, žymimas skaičiumi (n> 0). Korpusas iš pradžių nustato jų komandinės eilutės argumentus, kurie seka apvalkalo scenarijaus pavadinimu. Nustatytą (1) įmontuotą taip pat galima naudoti nustatant arba iš naujo nustatant. Ypatingas parametras yra parametras, pažymėtas vienu iš šių specialių simbolių. Parametro vertė rodoma šalia jo simbolio. * Išplečiama pozicijos parametrai, pradedant nuo vieno. Kai plėtra įvyksta dvigubai koduojamoje eilutėje, ji išplečiama į vieną lauką su kiekvieno parametro, atskirto pirmojo simbolioIFS kintamasis arba a @ Išplečiama pozicijos parametrai, pradedant nuo vieno.Kai plėtra įvyksta per dvigubas kabutes, kiekvienas pozicijos parametras išplečiamas kaip atskiras argumentas. Jei nėra padėties parametrų, @ plėtra generuoja nulinius argumentus, net jei @ yra dvigubai cituojamas. Pavyzdžiui, tai, kas iš esmės reiškia, yra, ar $ 1 yra `` abc '', o $ 2 yra `` def ghi '', tada Qq $ @ plečiasi į du argumentus: abc def ghi # Išplečiama padėties parametrų skaičius. ? Išplečiama naujausio vamzdyno išvesties būsena. - (pataisa). Išplečiama esama parinkčių vėliava (vienos raidės pasirinkčių pavadinimai, sujungti į eilutę), kaip nurodyta paskyroje, nustatyta builtin komanda arba netiesiogiai apvalkalas. $ Išplečia apjungto apvalkalo proceso ID. Subshell išsaugo tokią pačią vertę kaip jos tėvą. ! Išplečiama naujausios fono komandos proceso ID, vykdomos iš dabartinio apvalkalo. Vamzdyno proceso ID yra tas, kuris yra paskutinėje vamzdyno komandoje. 0 (nulis.) Išplečia apvalkalo arba apvalkalo scenarijaus pavadinimą. Žodžio išplėtimas Šiame straipsnyje aprašomos įvairios išraiškos, atliekamos žodžiais. Ne visi išplėtimai atliekami kiekviename žodyje, kaip paaiškinta toliau. Tildės išplėtimas, parametrų išplėtimas, komandų pakeitimai, aritmetiniai išplėtimai ir citatų ištraukimai, kurie atsiranda per vieną žodį, išplečiami į vieną lauką. Tai tik lauko padalijimas arba "plėtinio" plėtra, kuri gali sudaryti kelis laukus iš vieno žodžio. Vienintelė šios taisyklės išimtis yra specialiojo parametro @ išplėtimas per dvigubas kabutes, kaip aprašyta aukščiau. Žodžių išplėtimo tvarka: Tildės išplėtimas, parametrų išplėtimas, komandų pakaitalas, aritmetinis išplėtimas (visi jie įvyksta tuo pačiu metu). Padalijimas lauke atliekamas etapuose (1) sukurtuose laukuose, išskyrus atvejus, kaiIFS kintamasis yra nulis. Pathname Expansion (jei nenustatyta -f yra galiojantis). Citata pašalinimas. $ Simbolis naudojamas norint įvesti parametrų išplėtimą, komandų pakeitimą ar aritmetinį įvertinimą. Žodis, prasidedantis neklotuotais tildės simboliu (~), yra tildės išsiplėtimas. Visi simboliai iki brūkšnelio brūkšniu (/) arba žodžio pabaiga laikomi vartotojo vardu ir pakeičiami vartotojo namų kataloge. Jei vartotojo vardas trūksta (kaip ~ / foobar), tildė yra pakeista reikšme NAMAI kintamasis (dabartinis vartotojo namų katalogas). Formato parametrų išplėtimas yra toks: $ {išraiška} kai išraiška susideda iš visų simbolių, kol atitikimas ``) '' Any ``) '' 'išsikraustys slanksteliu arba per cituota eilutę, o įterptųjų aritmetinių išplėtimų, komandų pakeitimų ir kintamųjų išplėtimų ženklai neišnagrinėjami nustatant atitikimas ``) '' ' Paprasčiausias parametrų išplėtimo formatas yra: $ {parameter} Pakeista reikšmė, jei yra, parametro. Parametro pavadinimas arba simbolis gali būti pridedamas į petnešomis, kurios yra neprivalomos, išskyrus pozicijos parametrus, turinčius daugiau nei vieną skaitmenį, arba po to, kai po parametro seka simbolis, kuris gali būti aiškinamas kaip vardo dalis. Jei parametrų išplėtimas įvyksta dvigubo kabučių viduje: Pathname plėtra nėra atliekama dėl plėtros. Lauko padalijimas neatsidaro dėl išplėtimo rezultatų, išskyrus @. Be to, parametrų išplėtimas gali būti pakeistas naudojant vieną iš šių formatų. $ {parameter: -word} Naudokite numatytasis vertes. Jei parametras yra nenustatytas arba nulis, žodžio išplėtimas pakeičiamas; kitaip parametro vertė pakeičiama. $ {parameter: = word} Priskirti numatytasis vertes. Jei parametras yra nenustatytas arba nulis, žodžio išplėtimas priskiriamas parametrui. Visais atvejais pakeičiama galutinė parametro vertė. Tokiu būdu gali būti priskirti tik kintamieji, ne pozicijos parametrai ar specialūs parametrai. $ {parametras: žodis} Nurodykite klaidą, jei nulinė arba išjungta. Jei parametras yra nenustatytas arba nulinis, žodžio išplėtimas (arba pranešimas, rodantis, kad jis nenustatytas, jei žodis yra praleistas), yra įrašomas į standartinę klaidą, o lukštas baigiamas nulinės išeigos būsena. Priešingu atveju parametro vertė pakeičiama. Interaktyviam lukštui nereikia išeiti. $ {parametras: + žodis} Naudokite alternatyvią vertę. Jei parametras yra nenustatytas arba nulis, pakeičiamas nulis; kitaip, žodžio išplėtimas pakeičiamas. Anksčiau parodytose parametrų išplėtimuose formos dvitaškis naudojamas parametro, kuris yra nenustatytas arba nulinis, bandymas; stuburo praleidimas lemia parametro, kuris yra tik nenustatytas, bandymas. $ {# parameter} Styginių ilgis. Ilgis parametrų vertės simboliuose. Toliau pateikiamos keturios parametrų išplėtimo variantai apima substringų apdorojimą. Kiekvienu atveju šablonų vertinimui naudojamas modelio atitikimo žymėjimas (žr. "Shell Patterns"), o ne reguliaraus išraiškos žymėjimas. Jei parametras yra * arba @, išplėtimo rezultatas yra nenustatytas. Dvigubo kabučių visiško parametrų išplėtimo eilutės įtraukimas nesukelia keturių keturių tipų simbolių, kurie turi būti cituojami, o simbolių citavimas į petnešose turi tokį efektą. $ {parameter% word} Pašalinti mažiausią sufikso struktūrą. Žodis yra išplečiamas, kad būtų sukurtas modelis. Parametro išplėtimas generuoja parametrą, su mažesne priesagos dalimi, suderinta su šablonu. $ {parametras %% žodis} Pašalinti didžiausią sufikso struktūrą.Žodis yra išplečiamas, kad būtų sukurtas modelis. Parametro išplėtimas generuoja parametrą, o didžioji priesagos dalis, suderinta su šablonu, yra ištrinta. $ {parametras # žodis} Pašalinti mažiausio prefikso struktūrą. Žodis yra išplečiamas, kad būtų sukurtas modelis. Po parametro išplėtimas nustatomas parametras, kurio mažiausia prefikso dalis sutampa su išardomu modeliu. $ {parameter ## word} Pašalinti didžiausią prefikso struktūrą. Žodis yra išplečiamas, kad būtų sukurtas modelis. Parametro išplėtimas generuoja parametrą, kurio didžiausia prefikso dalis sutampa su modeliu ištrinta. Command Substitution Komandos pakaitalas leidžia komandų išvestį pakeisti vietoje paties komandos pavadinimo. Komandos pakaitalas įvyksta, kai komanda pridedama taip: $ (komanda) arba Po `backcoted '' versija Pc: "komanda" Korpusas išplečia komandų keitimą, vykdydamas komandą subhell aplinkoje ir pakeičia komandų pakeitimą standartine komandų išeiga, šalindamas vieną ar daugiau sekų Aritmetinis išsiplėtimas suteikia mechanizmo, pagal kurį įvertinama aritmetinė išraiška ir pakeičiama jo reikšmė. Aritmetinio išplėtimo formatas yra toks: $ ((išraiška)) Sąvoka traktuojama taip, lyg ji būtų dvigubos kabučių, išskyrus tai, kad dvigubo citato viduje raiška nėra specialiai apdorota. Korpusas išplečia visus žetonus parametro išplėtimo, komandų pakeitimo ir citavimo pašalinimo išraiška. Be to, apvalkalas traktuoja tai kaip aritmetinę išraišką ir pakeičia išraiškos reikšmę. Po parametrų išplėtimo, komandų pakeitimo ir aritmetinio išplėtimo apvalkalas nuskaito išplėtimų ir pakeitimų rezultatus, kurie nebuvo atsitikti dvigubo kabučių laukų padalijimo metu ir gali sukelti keletą laukų. Apvalkalas traktuoja kiekvieną simbolįIFS kaip atskyrimo priemonę ir naudoti skirtininkus, padalijus parametrų išplėtimo ir komandų pakeitimo rezultatus į laukus. Išskyrus atvejus, kai -f vėliava yra nustatyta, failo vardo generavimas atliekamas baigus žodžių padalijimą. Kiekvienas žodis vertinamas kaip modelių serija, atskirta brūkšniais. Išplėtimo procesas pakeičia žodį su visų esamų failų pavadinimais, kurių pavadinimai gali būti formuojami pakeičiant kiekvieną modelį eilute, atitinkančia nurodytą modelį. Yra du apribojimai: pirma, modelis negali atitikti eilučių, turinčių brūkšnį, ir, antra, modelis negali atitikti eilutės, prasidedančios periodu, nebent pirmasis rašto simbolis yra laikotarpis. Kitame skyriuje aprašomi modeliai, naudojami tiek "Pathname Expansion", tiek "case" (1) komandai. Pavyzdį sudaro įprasti simboliai, kurie atitinka save ir metaforus. Metaforumai yra ``! '' `` * '' ``? '' Ir `` '' Šie simboliai praranda specialias reikšmes, jei jie yra cituojami. Kai atliekamas komandų ar kintamų pakeitimų atlikimas ir dolerio ženklas arba nugaros kableliai nėra dvigubai cituojami, komandos nario reikšmė arba išvestis yra nuskaitomi šiems simboliams ir jie yra pavertomi metaforais. Žvaigždutė (`* * ') atitinka bet kurią simbolių eilutę. Klausimo ženklas atitinka bet kurį vieną simbolį. Kairysis kronšteinas (`` '' įveda simbolių klasę. Charakterio klasės pabaigoje nurodoma (`` ''), jei nėra `` '', tada `` '' atitinka `` '', o ne įvesti simbolių klasę. Charakteristikos klasė atitinka bet kurį iš laužtinių skliaustų simbolių. Žymių diapazonas gali būti nurodytas naudojant minuso ženklą. Charakterių klasė gali būti papildyta šauktuku pažymint pirmąjį simbolių klasės simbolį. Norėdami įtraukti `` '' į simbolių klasę, kad jis būtų pirmasis simbolis išvardytas (po ``! '' Jei toks yra). Norėdami įtraukti minuso ženklą, įtraukite jį į pirmąjį arba paskutinį ženklą Šiame skyriuje išvardytos įvesties komandos, kurios yra integruotos, nes joms reikia atlikti tam tikrą operaciją, kurios negalima atlikti atskirame procese. Be to, yra keletas kitų komandų, kurios gali būti veiksmingos (pvz., Echo 1). : Nulinė komanda, kuri grąžina 0 (tikrąją) išėjimo vertę. . failas Komanda nurodytame faile yra skaitoma ir užpildoma apvalkalu. slapyvardis vardas = eilutė … Jei vardas = eilutė yra nurodytas, lakštas apibrėžia slapyvardį vardas su verte eilutė Jei tik vardas yra nurodyta, slapyvardžio reikšmė vardas yra atspausdintas. Be jokių argumentų,slapyvardis builtin atspausdina visų apibrėžtų slapyvardžių pavadinimus ir reikšmes (žrunalias) bg darbas … Tęskite nurodytus darbus (arba dabartinį darbą, jei nenurodyta jokių darbų) fone. komanda komanda arg … Vykdykite nurodytą builtin komandą. (Tai naudinga, kai turite apvalkalo funkciją su tuo pačiu pavadinimu kaip ir builtin komanda.) cd katalogas Perjungti į nurodytą katalogą (numatytasis$ HOME) Jei įrašas skirtasCDPATH pasirodo aplinkojecd komandą arba apvalkalo kintamąjįCDPATH yra nustatytas ir katalogo pavadinimas neprasideda brūkšniu, tada katalogai, išvardytiCDPATH bus ieškoma nurodyto katalogo. FormatasCDPATH yra tas pats kaip irPATH Interaktyvioje apvalkalecd komanda atspausdins katalogo pavadinimą, kurį jis iš tikrųjų perjungė, jei tai skiriasi nuo vartotojo vardo. Tai gali skirtis, nesCDPATH mechanizmas buvo naudojamas arba simbolinė nuoroda buvo perbraukta. eval eilutė … Suderinti visus argumentus su tarpeliais. Tada pakartotinai peržiūrėkite ir paleiskite komandą. exec komanda arg … Jei komanda nėra praleista, apvalkalo procesas pakeičiamas nurodyta programa (kuri turi būti tikroji programa, o ne apvalkalo įvestis ar funkcija). Bet kokie nukreipimaiexeckomandos yra pažymėtos kaip nuolatinės, kad jie nebūtų panaikinti, kaiexec komanda baigia. išeiti exitstatus Panaikinkite apvalkalo procesą. Jei exitstatus yra naudojamas kaip apvalkalo išvesties statusas; priešingu atveju bus naudojama ankstesnės komandos išvesties būsena. eksportuoti vardas… eksportas -p Nurodyti vardai eksportuojami taip, kad jie būtų rodomi vėlesnių komandų aplinkoje. Vienintelis būdas neeksportuoti kintamojo yra jį panaikinti. Korpusas leidžia nustatyti kintamojo vertę tuo pačiu metu, kai jis yra eksportuojamas raštu eksporto pavadinimas = vertė Be argumentų, eksportavimo komanda nurodo visų eksportuojamų kintamųjų pavadinimus. Su -pparinktis nurodyta, kad produkcija bus tinkamai suformatuojama neinteraktyviam naudojimui. fc-e redaktorius Pirmas paskutinis fc-l -nr Pirmas paskutinis fc -s senas = naujas Pirmas Thefc builtin sąrašus arba redaguoja ir iš naujo vykdo, anksčiau į interaktyviosios apvalkalo įrašytas komandas. -e redaktorius Naudodami redaktorių, pavadintą redaktoriumi, redaguokite komandas. Redaktoriaus eilutė yra komandos pavadinimas, kurį galima ieškoti perPATH kintamasis. VertėFCEDIT kintamasis naudojamas kaip numatytasis, kai -e nenurodyta. JeiFCEDIT yra nulis arba nenustatytas, vertėEDITORAS kintamasis yra naudojamas. JeiEDITORAS yra nulis arba nenustatytas, ed (1) naudojamas kaip redaktorius. -l (ell) Nurodykite komandas, o ne nuorodas į redaktorių. Komandos yra parašytos sekoje, kurią nurodo pirmasis ir paskutinis operandai,r su kiekviena komanda, prieš kurią nurodomas komandos numeris. -n Suplanuokite komandų numerius sąraše su -l. -r Pakeiskite komandų eilę (su -l arba redaguoti (be jo -l ne -s) -s Iš naujo paleiskite komandą nenaudodami redaktoriaus. Pirmas paskutinis Pasirinkite norimas sąrašo ar redagavimo komandas. Ankstesnių komandų, prie kurių galima susipažinti, skaičius nustatomas pagal reikšmęHISTSIZE kintamasis. Pirma arba paskutinė vertė arba abi yra viena iš šių: + numeris Teigiamas skaičius, nurodantis komandos numerį; komandų numeriai gali būti rodomi su -l pasirinkimas. numeris Neigiamas dešimtainis skaičius, reprezentuojantis komandą, kuri anksčiau atliko komandų skaičių. Pavyzdžiui, -1 yra tuoj pat ankstesnė komanda. eilutė Styga, nurodanti paskutinę įvestą komandą, prasidedančią šia eilute. Jei senas = naujas operandas taip pat nenurodytas su -s pirmosios operando eilutės forma negali turėti įterpto lygiaverčio ženklo. Šie aplinkos kintamieji veikia fc vykdymą: FCEDIT Naudotinos redaktoriaus pavadinimas. HISTSIZE Ankstesnių prieinamų komandų skaičius. fg darbas Perkelkite nurodytą darbą arba dabartinį darbą į priekinį planą. getopts optstring var ThePOSIX getopts komanda, negali būti painiojama su "Bell Labs" Naudojamas getopt (1). Pirmasis argumentas turėtų būti raidžių serija, kiekviena iš kurių gali būti pasirinkta dvitaškis, kad būtų nurodyta, kad pasirinktis reikalauja argumento. Nurodytas kintamasis yra nustatytas kaip parsuojamas parinktis. Thegetopts komanda anuliuoja senesnę "getopt" (1) priemonę, nes ji tvarko argumentus, kuriuose yra tarpinės. Thegetopts Įranga gali būti naudojama parinkčių ir jų argumentų gavimo iš parametrų sąrašo. Kai kreipiamasigetopts nurodo kitos parinkties reikšmę iš sąrašo parinkčių eilutės, nurodytos lange var ir tai indeksas apvalkalo kintamojojeOPTIND Kai kyla skambutis,OPTIND yra inicijuota į 1. Kiekvienai parinkčiai, kuriai reikalingas argumentas, yragetopts builtin įdės jį į lukšto kintamąjįOPTARG Jei pasirinkimas neleidžiamas optstring tadaOPTARG bus nenustatytas. optstring yra pripažinta parinkčių raidžių eilutė. Jei po raidės eina dvitaškis, tikimasi, kad pasirinkimas bus argumentas, kuris gali būti arba negali būti atskirtas nuo jo balta erdve. Jei pasirinkimo simbolis nerastas, kai tikimasi,getopts nustatys kintamąjį var į "`?? ''getopts tada bus išjungtasOPTARG ir parašykite produkciją standartine klaida. Nurodydami dvitaškį kaip pirmąjį pobūdį optstring visos klaidos bus ignoruojamos. Nulinė vertė grąžinama, kai pasiekiama paskutinė parinktis. Jei nėra likusių argumentų,getopts nustatys var į specialią parinktį, `` - '', kitaip jis bus nustatytas var į "`?? '' Toliau pateiktas kodo fragmentas parodo, kaip galima apdoroti argumentus komandai, kuri gali pasinaudoti a ir b parinktimis bei parinktimi c, kuriai reikalingas argumentas. while getopts abc: fdarykatvejis $ f ina | b) flag = $ f ;;c) carg = $ OPTARG ;;?) echo $ USAGE; išeiti 1 ;;esacpadarytakeisti "expr $ OPTIND - 1" Šis kodas taps lygiaverčiu: cmd-acarg failo failascmd -a -c arg failo failascmd-carg-failo failascmd -a -carg - failo failas hash-rv komanda … Korpusas palaiko maišos lentelę, kurioje primenama komandų vieta. Nesant jokių argumentų,hash komanda išspausdina šios lentelės turinį. Įrašai, kurie nebuvo nagrinėjami nuo paskutiniocd komanda pažymėta žvaigždute; šie įrašai gali būti netinkami. Su argumentais,hash komanda pašalina nurodytas komandas iš maišos lentelės (išskyrus atvejus, kai jos yra funkcijos) ir tada jas aptinka. Su -v parinktis, hash atspausdina komandų vietas, kurios jas randa. The -r pasirinkimas sukelia hash komandą ištrinti visus įrašus maišos lentelėje, išskyrus funkcijas. jobid darbas Spausdinkite proceso ID proceso darbe. Jei darbas argumentas yra praleistas, naudojamas dabartinis darbas. darbo vietos Ši komanda išvardija visus foninius procesus, kurie yra dabartinio apvalkalo proceso vaikai. pwd Spausdinti dabartinį katalogą. Įvesties komanda gali skirtis nuo to paties pavadinimo programos, nes "builtin" komanda prisimena, kas yra dabartinis katalogas, o ne kiekvieną kartą. Tai daro ją greičiau. Tačiau, jei dabartinis katalogas yra pervadintas, tai yra "pwd toliau spausdins seną katalogo pavadinimą. skaityti-p greitai -r kintamasis … Paraiška spausdinama, jei -p parinktis yra nurodyta ir standartinis įėjimas yra terminalas. Tada eilutė skaitoma iš standartinės įvesties. Užpakalinė naujoji eilutė yra išbraukiama iš eilutės, o linija yra padalinta taip, kaip aprašyta skyriuje dėl žodžių padalijimo aukščiau, o vienetai yra priskiriami kintamiesiems tvarka. Turi būti nurodytas bent vienas kintamasis. Jei yra daugiau dalių nei kintamieji, likę vienetai (kartu su simboliaisIFS kad jie atskirti) priskiriami paskutiniam kintamajam. Jei yra daugiau kintamųjų nei vienetų, likusiems kintamiesiems priskiriama nulinė eilutė. Theskaityti Įrenginys parodys sėkmę, išskyrus atvejus, kai EOF susiduria su įvestimi, o tokiu atveju grąžinama. Pagal nutylėjimą, nebent -r parinktis yra apibrėžta, backslash "` "veikia kaip pabėgimo simbolis, todėl šį simbolį reikia traktuoti pažodžiui. Jei už backslash įrašoma nauja eilutė, backslash ir nauja eilutė bus ištrinti. Tik skaitymui vardas… tik skaityti - p Nurodytieji pavadinimai pažymėti kaip skaitomi tik todėl, kad vėliau jų negalima pakeisti arba panaikinti. Korpusas leidžia nustatyti kintamojo vertę tuo pačiu metu, kai jis pažymėtas tik skaitoma tik raštu "readonly name" = vertė Jei nėra argumentų, komanda, kuria skaitoma, nurodo visų kintamųjų, kurie yra tik skaitymo, pavadinimus. Su -p parinktis nurodyta, kad produkcija bus tinkamai suformatuojama neinteraktyviam naudojimui. nustatyti { -parinktys | + parinktys | - arg … Thenustatyti komanda atlieka tris skirtingas funkcijas. Nesant jokių argumentų, jis išvardija visų lukšto kintamųjų vertes. Jei pateiktos parinktys, jis nustato pasirinktas parinktys arba jas išvalo, kaip aprašyta skyriuje, pavadintame "Sx argumentų sąrašo apdorojimas". Trečiasis nustatytos komandos naudojimas yra nustatyti apvalkalo pozicijos parametrų reikšmes nurodytoms args. Norėdami pakeisti pozicijos parametrus nepakeičiant jokių parinkčių, kaip pirmąjį nustatytąjį argumentą naudokite `- - '. Jei nėra args, nustatyta komanda išvalys visus pozicijos parametrus (lygiaverčiai "` shift $ #. '' kintama vertė Priskiria reikšmę kintamam. (Paprastai geriau rašyti kintamąjį = vertę, o ne naudotisetvar setvaryra skirtas naudoti funkcijoms, priskiriančioms reikšmes kintamiesiems, kurių pavadinimai yra perduoti kaip parametrai.) pamainą n Nustatykite pozicijos parametrus n kartus. Apamainą nustato vertę $1 iki vertės $2 vertės vertė $2 iki vertės $3 ir tt, mažindami vertę $# vienas. Jei n yra didesnis už pozicijos parametrų skaičių,pamainą išduos klaidos pranešimą ir išeis su grąžinimo būseną 2. laikai Spausdinkite sukauptą naudotojo ir sistemos laikiną apvalkalo ir procesų, vykdomų iš apvalkalo. Grąžinimo būsena yra 0. spąstai veiksmas signalas … Priežastis, kad korpusas būtų ištirtas ir įvykdytas veiksmas, kai gaunamas koks nors iš nurodytų signalų. Signalai yra nurodomi pagal signalo numerį. Jei signalas yra0 veiksmas vykdomas, kai lagis išeina. veiksmas gali būti nulis arba `` - '' pirmasis sukelia nurodyto signalo ignoravimą ir pastarasis sukelia numatytą veiksmą. Kai apvalkalas išskleidžia požeminį skydą, jis nustato įjungtą (bet ne ignoruojamą) signalą numatytam veiksmui. Thespąstai komanda neturi įtakos signalams, kurie buvo ignoruojami prisijungiant prie korpuso. tipo vardas … Interpretuokite kiekvieną vardą kaip komandą ir atspausdinkite komandų paieškos rezoliuciją. Galimos rezoliucijos yra: apvalkalo raktinis žodis, slapyvardis, apvalkalo builtinas, komanda, stebimi slapyvardžiai ir nerasta. Panašių pavadinimų atveju spausdinamas slapyvardžio išplėtimas; komandoms ir sektieji slapyvardžiai išspausdinamas visas komandų pavadinimai. ulimit-H-S -a -tfdscmlpn vertę Paklauskite arba nustatykite sunkias ar minkštas procesų ribas arba nustatykite naujas ribas.Pasirinkimas tarp kieto ribojimo (kuris procesas negali būti pažeistas ir kuris negali būti pakeltas, kai jis yra nuleistas) ir minkšta riba (dėl kurios procesai yra signalizuojami, bet nebūtinai žudomi ir kurie gali būti keliami) yra pagaminti naudojant šios vėliavos: -H nustatyti ar paklausti apie sunkius apribojimus -S nustatykite arba paklauskite apie minkštas ribas. Jei nė vienas -H ne -S yra nurodyta, rodoma minkšta riba arba nustatomos abi ribos. Jei abi yra nurodytos, laimi paskutinis. Tuomet tardoma ar nustatoma riba pasirenkama nurodant bet kurią iš šių vėliavų: -a parodyti visas dabartines ribas -t parodykite arba nustatykite CPU laiko apribojimą (sekundėmis) -f parodykite arba nustatykite didžiausią failą, kurį galima sukurti (512 baitų blokuose) -d parodykite arba nustatykite proceso duomenų segmento dydį (kilobaitais) -s parodykite arba nustatykite proceso krūvio dydį (kilobaitais) -c parodykite arba nustatykite didžiausią pagrindinio išleidimo dydį, kuris gali būti pagamintas (512 baitų blokuose) -m parodyti arba nustatyti visos fizinės atminties ribas, kurias procesas gali naudoti (kilobaitais) -l parodykite arba nustatykite, kiek atminties procesas gali užfiksuoti naudojant mlock (2) (kilobaitais) -p parodykite arba nustatykite proceso, kurį šis vartotojas gali turėti vienu metu, skaičiaus ribą -n parodykite arba nustatykite skaičiaus failų limitą, kurį procesas gali būti atidarytas vienu metu Jei nė viena iš jų nenurodyta, tai yra failo dydis, kuris rodomas arba nustatytas. Jei nurodyta vertė, riba nustatoma pagal tą numerį; kitaip rodoma dabartinė riba. Savavališko proceso ribos gali būti rodomos arba nustatomos naudojant įrankį sysctl (8). umask kaukė Nustatykite umask (žr. Umask (2)) į nurodytą aštuoninę vertę. Jei argumentas yra praleistas, atspausdinamas umask reikšmė. unalias-a vardas Jei vardas yra nurodytas, lakštas pašalina tą slapyvardį. Jei -a yra nurodytas, visi slapyvardžiai yra pašalinti. nenustatytas vardas… Nurodyti kintamieji ir funkcijos yra nenustatyti ir neeksportuojami. Jei vardas atitinka tiek kintamąjį, tiek funkciją, tiek kintamasis, tiek funkcija yra nenustatyti. laukti darbas Palaukite, kol nurodytas darbas užpildys ir grąžins paskutinio darbo proceso pabaigos būseną. Jei argumentas yra praleistas, palaukite, kol baigsite visus darbus, o išėjimo statusas bus grąžintas nuliui. Kadash yra naudojamas interaktyviai iš terminalo, dabartinės komandos ir komandų istorijos (žrfc "Sx Builtins") galima redaguoti naudojant "vi-mode" komandų eilutės redagavimą. Šiame režime naudojamos toliau aprašytos komandos, panašios į penkių puslapių apibūdinimą. Komandos "set" -o vi įgalina "vi-mode" redagavimą ir vieta sh į vi įterpimo režimą. Su "vi-mode" įjungta, sh galima perjungti tarp įterpimo režimo ir komandų režimo. Redaktorius čia nėra išsamiai aprašytas, bet bus vėliau dokumentas. Tai panaši į vi: įvedus Aq ESC, jūs įvedate komandą VI komandų režimu. Paspaudus Aq grįžimą komandinio režimo metu, linija pereis į korpusą. Naudoti vyras komanda ( % vyras ), kad pamatytumėte, kaip komanda naudojama jūsų konkrečiame kompiuteryje. Cituoti
Backslash
Vieni kolekcijos
Dvigubos kotiruotės
Rezervuoti žodžiai
Slapyvardžiai
Komandos
Paprasti komandai
Ieškoti ir vykdymas
Kelio paieška
Sudėtingos komandos
Vamzdynai
Fono komandos -
Sąrašai - paprastai kalbama
Trumpųjų geležinkelių sąrašų operatoriai
Srauto valdymo konstravimas - jei, nors, tuo atveju
Komandų grupavimas kartu
Kintamieji ir parametrai
Padėties parametrai
Specialūs parametrai
"Tilde Expansion" (pakeičiant vartotojo namų katalogą)
Parametro išplėtimas
Aritmetinis išplėtimas
Balta erdvės suskaidymas (lauko suskaidymas)
Pathname išplėtimas (failo vardo generavimas)
"Shell" modeliai
Builtins
Komandų eilutės redagavimas













