Күл - Linux Command - Unix Command

NAME

Sh - буйрук котормочу ( кабыгы )

Кыскача баяндама

Sh [- / + aCefnuvxIimqsVEbc] [- о longname] ооздун [максаттуу ...]

DESCRIPTION

Sh системасы боюнча стандарттык буйрук тилмеч болуп саналат. Учурдагы версия Ш. катмары үчүн POSIX 1003,2 жана 1003.2a өзгөчөлүктөрдү эске алуу менен ылайык өзгөртүлгөн иштеп жатат. Бул нуска ал Кот огунан бир жагынан окшош кылып көп белгилери бар, бирок ал Кот кабыгы клон эмес (КШ кара (1)). Бир гана POSIX бир нече Беркли бутактары тарабынан дайындалган белгилердин, бул ичине киргизилген жатат. Биз 4,4 BSD бошотулган учурда POSIX талаптарынын күтүшөт. Бул адам бет үйрөтүүчү же кыртыш толук аныктоо үчүн арналган эмес.

жалпы көрүнүш

Катмар бир команда болуп , бир иштин же терминалы дагы саптарды окуп, аларды которуп, жана жалпысынан башка буйруктарды аткарат. Бул колдонуучу системасына кезде иштеп жаткан программасы (колдонуучу chsh (1) буйрук менен башка кебетеси тандап алат да) болуп саналат. номиналдык тарыхы жана сап түзөтүү мүмкүнчүлүктөрүнө курулган менен бирге, агымын башкаруу түзүлүштөрүн, маалыматтарды сактоо үчүн кошумча белгилердин ар камсыз макро жай тилде жүзөгө ашырат. Бул өз ара колдонууга жардам берүү үчүн көп мүмкүнчүлүктөрдү камтыйт жана Чечмелөө тили өз ара аракеттенүү жана азык-ара пайдалануу (номиналдык тексттерин) да кездешет артыкчылыгы бар. Башкача айтканда, буйруктарына чуркап кабыгына түздөн-түз терилген же делосуна салып болот жана билэ болот орбита менен түздөн-түз аткарылган.

Invocation

Эч кандай args ушул кабыгына стандарттуу киргизүү терминалына байланыштуу болсо, (же - мен белгиленет желегин) жана бар болсо, жана - с тандоо жок болсо, кабыгы менен өз ара аракеттенүү болуп эсептелет кабыгы . An ара кабыгы негизинен ар бир буйругу жана программалоо жана туткалары чейин түрткү буйрук башкача каталар (төмөндө сүрөттөлгөндөй). биринчи баштап жатканда, номиналдык аргумент 0, ал сызыкча `башталат болсо, абалы менен таанышып чыкты -" номиналдык да кирүү катмар болуп эсептелет. Бул колдонуучу биринчи журналдар менен. А кирүү катмар биринчи Files / ж.б. / чыкккан буйруктарды окуп жатканда, адатта, система боюнча эсеп жазуусу кылган жана алар бар болсо болууда .San жатат. Чөйрө өзгөрмө ENV чоролоруна кирүүгө коюлса, же кирүү контурун болууда .San белгиленет, номиналдык кийинки окр деген делосуна буйруктарын окуп Ошондуктан, колдонуучу бир гана өлүм жазасына тартылсын турган буйруктарды өткөрүш керек алышат .Troia делосуна убакытты кире жана ENV делосуна ичиндеги ар бир катмары үчүн аткарылат буйрук. Кээ бир делосуна ENV өзгөрмө орнотуу үчүн, үй тизиминин сиздин болууда .San төмөнкүдөй сапты кой

ENV = $ ҮЙ / .shinit; экспорт ENV

`` .shinit '' кандай атынан аты сен. ENV билэ номиналдык ариби менен эмес өз ара орбиталарындагы ичинде орбитанын ар бир дубасы, окуп болгондуктан, төмөнкү парадигмасы ара Дубалар үчүн ENV делосуна буйруктарды чектөө үчүн пайдалуу болот. Place `` учурда '' жана `` ичинде буйрук esac төмөндө '' (бул буйруктар кийинчерээк айтылат):

иши $ - + жылы мен *)

# Буйруктары өз ара колдонуу үчүн гана

...

esac

жолдордон тышкары буйрук сап жүйөөлөрүн көрсөтүлгөн болсо, анда номиналдык буйруктары (номиналдык арибин) окуй бир иштин аты катары биринчи аргумент мамиле, ал эми калган аргументтер орбитанын турумдук параметрлер катары белгиленет ($ 1 түздү , $ 2, ж.б.). Болбосо, кабыгы анын стандарттык киргизүү буйруктарын окуп берет.

Аргумент тизмеси иштетүү

Бир тамга жолдор баары бир аргумент катары пайдалануу мүмкүн тиешелүү атка ээ - о тандоосу. Топтому - о аты төмөндө сүрөттөмөсүндө бир тамга тандоосу эртеси берилет. тире көрсөтүү `` - '' плюс колдонуп, ал эми боюнча параметрин тартса `` + '' параметрин өчүрөт. төмөнкү тандоолор буйрук сабында же топтому менен белгилениши мүмкүн (1) builtin (кийинчерээк айтылат).

-a allexport

дайындалган бардык өзгөрмөлөр экспорттойт. (4.4alpha үчүн ийкемсиз)

-C

буйрук сабында буйруктарды окуп берди. Эч кандай буйрук стандартты киргизүү окуп берет.

-C noclobber

`` Менен иштеп жаткан документ берген барак жок кылба> '(4.4alpha үчүн ийкемсиз)

-E errexit

Эгерде өз ара эмес, ар кандай кызыкдар буйрук бербесе, анда ошол замат чыгып. Буйругу менен бүтүрүү статусу буйругу ачык буйрук Elif болсо, ал эми, же чейин же контролдоо үчүн колдонулат, анда сыналышы эсептелет бир `` && '' же `` || '' оператордун сол колу коддон турат.

-f noglob

Өчүрүү атын экспансиясына.

noexec

Эгерде өз ара эмес, буйруктарды окуп, бирок аларды аткарууга жок. Бул катмар скриптердин синтаксисин текшерүү үчүн пайдалуу болот.

-u nounset

Жазуу коюлган жок өзгөрмө кеңейтүү үчүн аракет кылып жатканда стандарттык ката билдирүү, кабыктарга өз ара аракеттенүү жок болсо, ошол замат чыгуу. (4.4alpha үчүн ийкемсиз)

-v дайын

номиналдык ал окуп жатат стандарттык күнөөсү үчүн өз салымын жазган. катадан арылтуу үчүн пайдалуу.

-x xtrace

Ар бир буйругуна жазуу стандарттык ката (ал өлүм жазасына чейин бир `+" менен башталат. Жөндөө үчүн пайдалуу.

-q quietprofile

Эгер - V же - х параметрлери коюлган, окуп жатканда демилгеленген материалдары аларга тиешеси жок, бул болгону / ж.б. / ге болууда .San жана ENV чөйрөсү өзгөрмөнүн белгиленген сааты.

-I ignoreeof

качан өз ара EOF салымын чейин баш ийбөө.

өз ара -i

өз ара мамиле үчүн жер кыртышын мажбур.

монитор

Жумуш контролдоо боюнча күйгүзүү (кийин өз ара эсеп жазуусу койду).

-s stdin

Буйруктарын Оку: стандарттык киргизүү (эч кандай билэ далилдер бар болсо, дароо эле белгиленген). Бул параметр кабыгы мурунтан эле иштеп баштаган кийин коюлса, эч кандай таасири бар (б.а. жыйындысы (1)).

-V VI

Камтылган VI (1) буйрук сап редактору (өчүрөт - бул коюлду E болсо) иштетүү.

-E Emacs

Камтылган Катышуучунун (1) буйрук сап редактору (өчүрөт - бул коюлду V болсо) иштетүү.

билдирүүгө

негизги жумуш аяктаган асинхрондук кабарлоону иштетүү. (4.4alpha үчүн ийкемсиз)

Лексикалык түзүмү

катмар бир Билэ линияларын жагынан салымын окуп, аны Whitespace сөздөр чыгып кете (бланк и табулатуры), жана `` аталган кабыгына корунот каармандардын операторлору бир катарда '' боюнча операторлордун эки түрү бар: башкаруу операторлору жана даректи операторлору (алардын мааниси кийин каралат). Төмөнкү операторлордун тизмеси берилет:

"Control операторлору:"

& && (); ;; | ||

"Redirection оператору:"

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

үзүндү

Мындай операторлору катары келтирип, кабыгына айрым тамгалардын же сөздөрдүн өзгөчө мааниге алып салуу үчүн колдонулат, Whitespace, же ачкыч. экилик тырмакчаны дал Жалгыз тырмакчаны, туура жана слэш: үзүндү үч түрү бар.

кайырма

А слэш төмөнкүдөй мүнөздөгү түзмө-түз маанисин сактап, Ак NEWLINE кошпогондо. а Ак NEWLINE мурунку бир слэш жип уландысы катары каралат.

Single Quotes

бир тырмакчага каармандарды жабат бардык белгилердин маанисин сактап калат (бул бир-кылынган сап жалгыз-курстар үчүн мүмкүн эмес болуп, бир тырмакчага тышкары).

Double Quotes

кош тырмакчага ичинде каармандарды жабат dollarsign ($) backquote башка бардык белгилердин маанисин сактайт ( `) жана слэш (\) кош тырмакчага ичинде слэш тарыхый кызык, жана төмөнкү белгилерди оозго кызмат болуп саналат:

$ `\

Болбосо, бул кадимки эле бойдон калууда.

Reserved Words

Reserved сөздөр катмары үчүн өзгөчө мааниге ээ жана бир катар башында жана башкаруу оператор кийин таанылат сөздөр. Төмөнкү корголгон сөздөрү:

! Ta Elif Ta Fi Ta эми Ta иши

башка Ta үчүн Ta анда Ta {Ta}

Ta Ta чейин та кылган, анда Ta esac

Алардын мааниси кийинчерээк талкууланат.

Aliases

Ыштаттан колдонуу менен бир аталышы жана тиешелүү наркы лакап (1) builtin буйрук. камдык сөз (жогоруда кара) пайда болушу мүмкүн болсо, жана корук сөздөр текшерилгенден кийин, кабыгы бул лакап дал-жетпесин билиш үчүн, сөздү текшерет. Эгер андай болсо, анда анын баасы менен киргизүү агымы аны алмаштырат. Мисалы, `` ж деп аталган өлкө жок болсо '' наркы менен `` лдар -F '' анда киргизүү:

ж FOOBAR <кайтып>

боло турган

дар -F FOOBAR <кайра>

Aliases далилдер менен милдеттерин кантип түзүү тууралуу билүү үчүн, жок эле буйруктарга shorthands ишенчээк колдонуучулар түзүү үчүн ыңгайлуу жол менен камсыз кылат. Алар ошондой эле лексикалык жашыруун кодду түзүү үчүн пайдаланылышы мүмкүн. Бул пайдалануу чөккөн.

буйруктары

Катмар бир тилде, бул адам беттеги укуктардын чегинен болгон өзгөчөлүгү (POSIX 1003,2 документте BNF сөз) боюнча окуп сөздөрдү чечмелейт. Чындыгында да, бир сап жана сапта (же контролдук операторунун кийин) биринчи сөзү камдык сөз эмес болсо, анда номиналдык жөнөкөй буйрукту тааныган. Болбосо, комплекстүү бир буйрук же башка атайын курган таанылган мүмкүн.

Simple буйруктары

жөнөкөй эле буйрук таанылган болсо, орбитанын төмөнкү иш-чараларды жүзөгө ашырат:

  1. түрүндө башкы сөздөрүнөн `` аты = наркы '' чечип жана жөнөкөй буйругун чөйрөгө жүктөлгөн. Кайра даректөө операторлор жана алардын жүйөлөрү (төмөндө сүрөттөлгөндөй) чечип жана кайра иштетүү үчүн сакталат.
  2. Калган сөздөр `` аймактарды '' биринчи калган деген сөз буйрук аты болуп эсептелет жана ал буйрук жайгашкан аталган бөлүмдө айтылгандай жайылып жатат. Калган сөздөр буйрук далилдерди карап жатат. эч кандай буйрук аты алып, анда 1-бөлүгүндө таанылган `` аты = балл '' өзгөрүлмө тапшырмалардын учурдагы кебетеси таасирин тийгизет.
  3. Багыттоолор кийинки бөлүмдө айтылгандай жүзөгө ашырылат.

багыттоолор

Багыттоолор буйрук өз салымын же анын көлөмүн жөнөтөт окуп жерде өзгөртүү үчүн колдонулат. Жалпысынан алганда, багыттамалар ачык, жакын, же делосуна болгон шилтеме кайталап. багытталгандыгына үчүн колдонулган жалпы формат болуп саналат:

[Н] Аяк-тарабында билэ

Аяк-тарабында Мурда да айтылгандай даректи операторлордун бири болуп саналат жерде. Кийин мүмкүн багыттоолор тизмеси жатат. сөп баалоо сөз `3 '(жок` BQ 3 эле Bq н, кошумча номери.

[н]> билэ

берүүгө типтүү көлөмүн (же N) өткөзүү.

[н]> | билэ

Ошол эле, бирок, жокко - C параметрин.

[н] >> билэ

берүүгө типтүү көлөмүн (же N) чаптоо.

[н] <билэ

Билэ стандартка киргизүү (же N) өткөзүү.

[N1] <& n2

билэ сыпаттаманы n2 стандартка киргизүү (же N1) кайталанууда.

[н] <& -

Жабуу стандартты киргизүү (же N).

[N1]> & n2

n2 стандарттык чыгарылышты (же N1) кайталанууда.

[н]> & -

Жабуу стандартты иштеп чыгуу (же N).

[н] <> билэ

Стандарттык киргизүү (же N) жөнүндө окуу жана жазуу үчүн Open билэ.

Төмөнкү даректи көп `` жерде-Документти көрүү '' деп аталат

[н] << бөлгүч

жерде-Doc-текст ...

бөлгүч

Бөлүүчү чейин бир катар багыттары боюнча бардык текст жок сакталган жана стандарттык киргизүү, же билэ баалоо боюнча буйругу н ал белгиленген болсо, жеткиликтүү. биринчи сапта көрсөтүлгөн бөлгүч кылынган болсо, анда бул жерде Doc-текст түзмө-түз, болбосо текст экспансия, буйрук алмаштырууну, ошондой эле санариптик өнүктүрүүгө кёрсёткъчънё дуушар болгон мамиле ( `` арттырууга боюнча бөлүмүндө аныкталгандай) "Эгерде оператор` `<< эмес - '' ордуна` `<< '', анда бул жерде Doc-текстте песен алып айрылышат.

Издөө жана аткаруу

буйруктарына үч түрү бар: Shell милдеттери, builtin буйруктарына жана кадимки программалар - деп максатында буйрук (аты) издеп жатат. Алар ар кандай жол менен аткарылат.

номиналдык милдети аткарылган учурда, номиналдык турумдук параметрлерди (өзгөрүүсүз бойдон калууда, алардын $ 0, башка) бардык номиналдык милдетинин далилдер коюлган. ачык-айкын буйрук айлана-чөйрөгө (милдети аты алдында аларга тапшырмаларды коюу боюнча) жайгаштырылат өзгөрмөлөр иштеши үчүн жергиликтүү өз алдынча жасалган, ушул баалуулуктарды белгиленет. Анда аныктама берилген буйрук аткарылат. команда аяктаганда турумдук параметрлери алардын баштапкы нарктарына калыбына келет. Бул учурдагы кыртыш ичинде пайда болот.

Shell builtins жа анекдоттор туруп, кабыгына ички аткарылат.

Болбосо, буйрук аты-жөнү бир кызматты же builtin дал келбейт, анда буйрук тутумун бир нормалдуу программа катары издеп жатат (кийинки бөлүмгө сүрөттөлгөндөй). кадимки программасы ишке болгондо, номиналдык жүйөөлөрүн жана программаны чөйрөнү өтүп, программасы башкарылат. Программа кадимки Аткаруучу билэ жок болсо (мисалы, эгерде ал анын ASCII өкүлчүлүгү болуп саналат "сыйкырдуу саны" менен башталат бербейт "#!", Анда execve (2) Эр ENOEXEC кайтарат) номиналдык бир программасын ачып берет subshell. бир катмар, жарнама-туз номиналдык арибин чечүүгө негиз болсо ата-эне катмары жайгашкан Парижге буйрук жери менен эсте калат деп башка эле таасир болот, ошондуктан бала кабыгы, бул учурда өзү Толукэкран болот бала.

misleadingly бул документтин өзү булак коду, бул ёткён котормолорун Эскертүү жана башаламан бир "номиналдык тартиби" деп бир сыйкырдуу номери жок номиналдык скрипт сөз.

Path Издөө

буйрук таап жатканда, номиналдык биринчи ошол аты менен номиналдык милдетин-жетпесин билиш үчүн, окшойт. Андан кийин ошол ысым менен builtin буйругу издейт. бир builtin буйрук табылган жок болсо, анда эки нерсени бири болуп:

  1. бир сызык камтыган Command аттары эч кандай издөө жүзөгө аткарылат.
  2. Номиналдык буйругу кезегинде КЕЛЕЧЕК ар бир жазуу изилдейт. PATH Өзгөрмөнүн үтүр менен бөлүнүп жазуулардын бир катар болушу керек. Ар бир кириши каталог аты турат. Учурдагы каталог бир мезгил менен бош каталог аты менен толугу менен көрсөтүлгөн, же так болушу мүмкүн.

Command Exit Status

Ар бир команда башка номиналдык буйруктарына жүрүм-турумуна таасир этүү мүмкүн чыгуу статусуна ээ. аткарбагандыгы, ката, же жалган көрсөтүү үчүн парадигмасы нормалдуу же ийгилиги үчүн нөлгө менен буйрук чыга болуп саналат, ошондой эле азык-нөл. ар бир буйругу боюнча адам барак ар кандай чыгуу коддору көрсөтүлүшү керек, алар эмнени билдире. түзүлгөн номиналдык милдетин сыяктуу Андан тышкары, builtin буйруктары чыгуу коддору кайрылып.

татаал буйруктары

Татаал буйруктары менен бирге бир ири комплекс буйрук түзүү, башкаруу операторлоруна же корук сөздөр менен жөнөкөй буйрук айкалыштары кирет. Жалпысынан, буйрук төмөнкүлөрдүн бири болуп саналат:

Эгерде бир нерсе айтылбаса, анда буйрук чыгуу абалы акыркы жөнөкөй буйругу буйругу менен өлүм жазасына болуп саналат.

түтүктөр

Бир түтүк башкаруу оператору менен бөлүнгөн бир же бир нече буйрук бир тизмеги |. акыркы буйругу, бирок стандарттуу чыгаруу кийинки буйрук стандартты киргизүү менен байланыштуу. адаттагыдай эле акыркы буйругу стандарттык чыгаруу, катмарындагы мураска калган.

газ түтүгү боюнча формат болуп саналат:

[!] Command1 [| command2 ...]

command1 стандарттуу чыгаруу command2 стандарттуу киргизүү менен байланыштуу. стандартты киргизүү, стандарттуу чыгаруу, же буйрук да буйругу бир бөлүгү болуп саналат даректи операторлору тарабынан көрсөтүлгөн ар кандай багыттоону чейин газ кууру аркылуу дайындалган деп эсептелет.

кууру алкагында (кийинчерээк талкууланды) жок болсо, бардык буйруктарына карата номиналдык учагынын аягына чыгаруу үчүн.

энчиленген болсо! газ куурунун алдында эмес, бүтүрүү статусу куурунун көрсөтүлгөн акыркы буйрук бүтүрүү статусу болуп саналат. Болбосо, бүтүрүү статусу логикалык акыркы буйрук чыгуу абалы эмес. Акыркы буйрук, нөл кайтып болсо бүтүрүү статусу 1 Демек,; Акыркы буйрук нөлдөн жогору кайтарып болсо бүтүрүү статусу нөл.

багытталгандыгына алдында стандартты киргизүү же стандарттуу өндүрүшүнүн же эки кубыр өткөрүп берүү ишке ашат, анткени, бул багытталгандыгына менен өзгөртүлүшү мүмкүн. Мисалы:

$ Command1 2> & 1 | command2

command2 стандарттуу киргизүү command1 стандарттуу өндүрүүнү жана стандарттык ката да жиберет.

A; же терминатор мурунку AND-ЖЕ-тизмесин (кийинки сүрөттөлгөн) катары өлүм жазасына тартууга себеп болот; бир & мурдагы AND-ЖЕ-тизмесин асинхрондук аткарылышын себеп болот.

башка орбиталар айырмаланып Белгилей кетсек, газ куурунун ар бир жараян түшүшүн орбитада бир бала (ал учурда азыркы сөөктөрүндө ишке номиналдык builtin, болбосо - ал эми айлана-чөйрөгө ар кандай таасир тазаланып жатат).

Негизги буйрук -

деп, кабыгы буйрук кийинки буйрукту аткаруудан мурун бүтүрүү үчүн, күтө бербейт - буйрук башкаруу оператору Амперсанд (&) тарабынан токтотулган болсо, номиналдык буйрукту асинхрондуу ашырат.

өбөлгөлөрү болуп буйрук чуркоо боюнча формат:

command1 & [command2 & ...]

кабыктарга өз ара эмес болуп жатса, улам бир бурч буйрук стандартты киргизүү / иштеп чыгуучунун / нөл коюлду

Lists - Негизинен сөз

Тизмеси Newlines, чекит, же амперсанд менен бөлүнүп нөлгө барабар же андан көп буйругу менен бир катар, ал эми учурда бул үч каармандардын бири тарабынан токтотулат. Бир тизме менен буйрук берип жатат, алар жазылган тартипте аткарылат. буйрук Амперсанд кийин болсо, номиналдык буйрук башталат жана дароо эле кийинки буйругу көздөй иш; Эгерде ал буйрук кийинки бир аллы токтотуу үчүн буктурмада жатат +.

Кыска тизмеси операторлор

`` && '' жана `` || '' бар AND-ЖЕ тизме операторлору. `` && '' биринчи буйругун аткарган, анан биринчи буйругун бүтүрүү статусу нөл дуйнө экинчи буйругун аткарат. `` || "" окшош, бирок биринчи буйругун чыгуу статусу дуйнө экинчи команда nonzero болуп ашырат. `` && '' жана `` || '' бир эле артыкчылыкка ээ болот.

Flow-Control курган - эгерде, ал эми, анткени, учурда

Эгерде буйрук синтаксисинин

эгер тизме
анда Тизмеге
[Elif тизме
Андан кийин тизме] ...
[Башка тизмеси]
Fi

ал эми буйругунун синтаксисинин

ал эми тизме
тизмесин эмне
аткарылган

Биринчи тизмесин бүтүрүү статусу нөлгө барабар, ал эми эки тизмеси бир нече жолу аткарылат. Биринчи тизмесин бүтүрүү статусу нөлгө чейин кайталап, аны себеп чейин буйрук окшош, бирок аз жерге чейин сөз бар.

буйругу боюнча синтаксисинин

сөз менен өзгөрмөнүн үчүн ...
тизмесин эмне
аткарылган

сөздөр жайылып, анан тизме өз кезегинде ар бир сөзүн өзгөрмө топтому менен бир нече жолу аткарылат. жана иш менен алмаштырылышы мүмкүн `` { '' жана ``} ''

тыныгуу синтаксиси жана буйрук улантат

сындырып [Сан]
мындан ары да [Сан]

Break же илмектерге эми ​​Сан жашынган токтотулат. Улантуу ички айлантып кийинки менен улантууда. Бул builtin буйрук катары жүзөгө ашырылат.

Эгерде буйрук синтаксисинин

учурда сөз менен
узор) тизмеси ;;
...
esac

үлгүсү иш жүзүндө бир же бир нече үлгүлөрү боло алышат `` '' каармандардын менен бөлүнүп, (Shell кийин сүрөттөлгөн Patterns карагыла).

Топко бирге буйрук

Буйруктар да жазуу боюнча топтоштурулган мүмкүн

(Тизме)

же

{Тизмеси;

Бул биринчи subshell буйруктарын аткарат. Builtin өкүмү (тизме) топтоштурулган азыркы кебетеси таасир этпейт. Экинчи түрү абдан аз натыйжалуу башка кыртышын салыкты төлөп бербейт. ЖККУ бир программа катары бул жолу алардын багыттоо мүмкүнчүлүгүн берет бирге буйрук кылат:

{Printf салам; printf дүйнөлүк \ н ";}> куттуктоосу

Functions

милдети аныктоо синтаксисинин

(аты-жөнү) буйругу

Бир аныктамасында бир Аткаруучу билдирүү болуп саналат; ал милдети деген аты орнотуп таризделген, ал нөлгө барабар болуп кетүү абалына кайтат. ортосундагы тиркелген буйругу адатта тизмеси `` { '' жана ``} ''

Variables жергиликтүү буйругун колдонуу менен иштеши үчүн жергиликтүү деп жарыяланышы да мүмкүн. Бул багыттагы биринчи билдирүүсүндө чыгышы керек, жана синтаксисинин

Жергиликтүү [өзгөрмө | -] ...

Жергиликтүү бир builtin буйрук катары ишке ашырылып жатат.

өзгөрмө жергиликтүү турат, ал ким жок болсо, курчап турган көлөмдө эле аты менен өзгөрмөнүн тартып баштапкы баасын жана экспортко жана кирүүнү желектерди өтөт. Болбосо, өзгөрүлмө башында коюлбаса. Эгер анда грамм чакырат F, иштеши үчүн жергиликтүү х өзгөрмө болсо, г ичинде жасалган өзгөрмө X шилтемелер глобалдык өзгөрмө эмес, е ичинде жарыяланган өзгөрмө X ысымдары аталган X ушунчалык кабыгы, динамикалык жолунан колдонот .

жергиликтүү өз алдынча болушу мүмкүн эмес, бир гана атайын параметр `` - бул "милдетин ичинде белгиленген буйругу аркылуу өзгөргөн бардык номиналдык параметрлери алардын баштапкы нарктарына калыбына жергиликтүү кийин милдети берүүнүн - '' '' '` `чыгар".

кайра буйрук синтаксисинин

кайтып [exitstatus

Азыркы иш-милдетин аткаруу токтотулат. Return бир builtin буйрук катары ишке ашырылып жатат.

Өзгөрмөлөр жана параметрлер

номиналдык параметрлеринин топтомун жүргүзөт. бир аты менен белгиленет бир параметр өзгөрмө деп аталат. Баштап жатканда, номиналдык номиналдык өзгөрмөлөр бардык чөйрөсү өзгөрмө айланат. Болумушту өзгөрмөлөр колдонуу белгилениши мүмкүн

аталышы = балл

пайдалануучу тарабынан белгиленген Variables гана alphabetics, нумерология турган аталышка ээ болууга тийиш, ал эми дагы бир нерсе баса - бул биринчи сан болушу керек. төмөндө көрсөтүлгөн бир параметр, ошондой эле бир катар же өзгөчө мүнөздөгү тарабынан белгиленет болот.

турумдук параметрлери

Бир турумдук параметр бир катар (н> 0) тарабынан белгиленет бир параметр болуп саналат. номиналдык скрипт атын ээрчип кабыгы алгач буйрук сап жүйөөлөрүн баалуулуктарына бул коёт. Жыйындысы (1) builtin да же аларды кайра колдонсо болот.

Атайын параметрлери

Атайын параметр төмөнкү атайын белгилердин бири менен белгиленет бир параметр болуп саналат. Параметрдин мааниси, анын мүнөзү кийинки тизмесинде.

*

бир баштап, турумдук параметрлери ачат. Кеңейүү эки үзүндү ичинде пайда болгондо жип ал IFS өзгөрмөнүн биринчи мүнөзү тарабынан бөлүнгөн ар бир параметр наркы менен бир талаа ачат IFS коюлбай калса, же <мейкиндикте> менен.

@

бир баштап, турумдук параметрлери ачат. кеңейүү кош тырмакчага ичинде пайда болгондо, ар бир турумдук параметр өзүнчө аргумент катары ачат. эч кандай турумдук параметрлер жок болсо, @ экспансиясы @ эки кылынган болсо да, нөл далилдерди жаратат. Бул негизинен эмнени билдирет? Мисалы, $ 1 `` ABC '' $ 2 `` Постту АЙПЕРИ болуп эсептелет "деп, анда Qq $ @ эки аргумент менен берсе болот:

ABC DEF АЙПЕРИ

#

турумдук параметрлеринин санын өсүшү.

?

акыркы куурунун чыгуу статусу ачат.

- (сызыкча.)

Учурдагы тандоо желектери (бир-кат параметр аттары сапка көпчүлүк) белгиленген builtin буйругу менен, же бирер орбита, зикири көрсөтүлгөн деп ачат.

$

дуба катмары жараяны ID менен ачат. А subshell, анын ата-энеси катары $ эле маанисин сактап калат.

!

Учурдагы катмарындагы өлүм жазасына акыркы маалымат буйругу жараяны ID менен ачат. газ түтүгү үчүн жараян ID түтүгүнүн акыркы буйругу болуп саналат.

0 (Zero.)

кабыгы же номиналдык тексттин аталышы менен ачат.

Word арттырууга

Бул пункт сөздөр боюнча жүзөгө ашырылат ар кандай аймактарды сүрөттөйт. кийинчерээк түшүндүрүп бардык Голдман, ар бир сөз менен да аткарылган жок.

Кошумча барактардын жардамы Голдман параметр Голдман буйрук ордун алмаштыруу, бир сөз ичинде санариптик Голдман үзүндү алып салуулар бир талаага кеңейтүү. Бул бир сөзү бир нече талааларды түзүшү мүмкүн эле талаа жарылышы, бөлүнүшү менен же атын көбөйгөнү турат. Жогоруда айтылгандай, бул эреже бир өзгөчө, кош тырмакчага ичинде атайын параметр @ өнүктүрүү болуп саналат.

сөз экспансия тартиби:

  1. Кошумча барактардын жардамы көбөйтүү, Parameter көбөйтүү, Command алмаштыруу, Arithmetic жайылтуу (бул бир эле учурда пайда болот).
  2. IFS өзгөрмөлүү нөл болсо, талаа бөлүү кадам (1) тарабынан талааларында жүзөгө ашырылат.
  3. Атын жайылтуу (башкача каралбаса, белгиленген - е күчүндө болот).
  4. Quote алып салуу.

$ Тамга параметри өнүктүрүүгө, буйрук алмаштыруу, же санариптик баа берүүнү ишке киргизүү үчүн колдонулат.

Кошумча барактардын жардамы көбөйтүү (колдонуучуну алмаштыруучу & # 39; үйүнө каталог)

Бир сөз түшүүсү Жакыяга мүнөз менен башталган (~) Жакыяга экспансиясына дуушар болууда. Бардык белгилер сызык чейин (/) же сөзүнүн аягында аты катары мамиле жана колдонуучунун үйүнө китепчесинин алмаштырып турат. Колдонуучунун аты (~ / FOOBAR эле) жок болсо, Жакыяга ҮЙ өзгөрмөнүн наркы (учурдагы колдонуучунун үйүнө каталог) менен алмаштырылган.

Parameter көбөйтүү

параметр экспансия боюнча формат төмөнкүчө чагылдырууга болот:

сөз айкашы келүүсү чейин белгиден турат кайда ``} '' кандай ``} '' кыйшык же келтирилген жип ичинде качып, жана камтылган санариптик аймактарды каармандары, буйрук алмаштыруу жана өзгөрүлмө аймактарды аныктоо каралат эмес, дал ``} ''

параметр экспансия үчүн жөнөкөй түрү болуп саналат:

эгерде кандайдыр бир, бир параметр менен алмашылган наркы.

Көрсөткүчтүн аталышы же белгиси бирден ашуун санга турумдук параметрлер боюнча башка милдеттүү эмес кашааларга, тиркелген болот же Көрсөткүчтүн аталышы катары чечмелениши мүмкүн мүнөзү менен болгондо. бир параметр кеңейүү кош тырмакчага ичинде пайда болот, анда:

  1. Атын кеңейүү экспансия жыйынтыгы боюнча аткарылган эмес.
  2. Талаа ажыратуу @ албаганда, өсүш жыйынтыгы боюнча аткарылган эмес.

Мындан тышкары, бир параметр кеңейүү төмөнкүдөй түрдө бири аркылуу өзгөртсө болот.

По умолчанию баалары колдонуу. параметр коюлбаса же анык эмес болсо, Кудайдын сөзүн үйрөтүп, жайылтуу менен алмашылган; Эгерде, Параметрдин мааниси менен алмашылган.

По умолчанию дайындайбыз. параметр коюлбаса же анык эмес болсо, Кудайдын сөзүн үйрөтүп, жайылтуу параметр жүктөлөт. бардык учурларда, параметр акыркы балл менен алмашылган. Гана өзгөрмөлөр эмес, турумдук параметрлери же атайын параметрлери, ушундай жол менен өткөрүлүп берилиши мүмкүн.

Эгер КР же коюлбай Error көрсөткүлө. параметр коюлбаса же анык эмес болсо, анда сөз экспансиясы (же сөзү кереги жок болсо, анда ал коюлбай көрсөткөн билдирүү) стандарттык ката жана nonzero чыгуу статусу менен номиналдык кылка жазылган. Болбосо, Параметрдин мааниси менен алмашылган. An ара номиналдык чыгуу эмес, муктаждык.

Колдонуу кошумча баасы. параметр коюлбаса же анык эмес болсо, күчүн алмаштырылып турат; Эгерде сөздүн кеңейүү менен алмашылган.

Жогоруда көрсөтүлгөн параметр арттырууга ичинде коюлбаса же анык эмес болуп параметр үчүн сыноого формат натыйжасында ичеги пайдалануу; гана коюлбай бир параметр үчүн сыноого чекит жыйынтыктарын жокко.

String Length. параметрдин наркынын тамгалар менен узундугу.

параметр экспансия төмөнкү төрт сорттору саптар иштетүү үчүн камсыз кылат. Ар бир учурда, белгисин туура келген үлгүсү (Shell Patterns карагыла), тескерисинче, ар дайым туюнтма белгилер караганда, моделдерин баалоо үчүн колдонулат. параметр * же @ болсо, өсүш натыйжасы белгисиз болуп саналат. кош тырмакчага толук параметр кеңейүү сап жабат кашаа ичинде каармандарды үзүндү, ал эми бул таасирин тийгизет үлгү белгилердин төмөндөгү төрт сорту, келтирилген үчүн себеп боло албайт.

Кичинеси Suffix үлгү алып салуу. сөз үлгү өндүрүү өсүп жатат. жок үлгүсүнө дал ысмындагы кичине бөлүгү менен параметр кеңейүү, анда төмөнкү параметр менен келет.

Ири Suffix үлгү алып салуу. сөз үлгү өндүрүү өсүп жатат. жок үлгүсүнө дал ысмындагы ири бөлүгү менен параметр кеңейүү, анда төмөнкү параметр менен келет.

Кичинеси Prefix үлгү алып салуу. сөз үлгү өндүрүү өсүп жатат. жок үлгүсүнө дал Ƶ Сыпаттоо кичине бөлүгү менен параметр кеңейүү, анда төмөнкү параметр менен келет.

Ири Prefix үлгү алып салуу. сөз үлгү өндүрүү өсүп жатат. жок үлгүсүнө дал Ƶ Сыпаттоо ири бөлүгү менен параметр кеңейүү, анда төмөнкү параметр менен келет.

Command алмаштырып

Command алмаштыруу бир буйрук чыгаруу буйрук аты өзү ордуна коюуга мүмкүндүк берет. команда төмөнкү тиркелген болсо Command болот алмаштыруу:

$ (Буйрук)

же Po `` backquoted '' версия даанасы:

`command`

катмар бир subshell чөйрөдө буйругун аткаруучу жана буйрук стандарттык өндүрүшүнүн менен буйрук алмаштыруу ордуна, бир же бир нече ырааттуулугун алып алмаштыруу аягында с менен командалык алмаштыруу ачат. (Кыналган көлөмүнүн жылдын акырына чейин Кудайдын жок эмес;. Бирок, кабар айтуу ажыралуу, алар <орун> с Ifs наркына жараша тилине которулган жана ал күчүндө болот үзүндү мүмкүн учурунда)

Arithmetic көбөйтүү

Arithmetic кеңейүү бир санариптик сөздөр баа берүү жана анын наркын алмаштыруучу механизмин камсыз кылат. эсеп экспансия боюнча формат төмөнкүчө чагылдырууга болот:

$ ((Сөз))

сөз айкашы болсо ал сөз ичинде кош тырмакча атайын мамиле жок, бир гана айырмасы, кош тырмакчага эле дарыланат. номиналдык параметр экспансия, буйрук алмаштыруу, жана аудио чыгаруу боюнча сөз бардык белгилерин көбүрөөк.

Кийинки, кабыгы бул санариптик катары качан жана сөз наркын алмаштыруучу.

Ак Space бөлүү (Талаа бөлүү)

параметр экспансия, буйрук алмаштыруу, жана санариптик экспансия кийин кабыгы талаа майдалоо жана бир нече тармактарда алып келиши мүмкүн, анткени кош тырмакчага пайда жок, аймактарды жана алмаштыруу боюнча материалдар арытат.

Номиналдык качан бир Бөлүүчү катары Ifs ар мүнөзү жана Delimiters талаага параметр экспансия жана буйрук алмаштыруу жыйынтыктарын бөлүү үчүн колдонгон.

Атын жайылтуу (File Name муун)

Эгерде - е желек коюлган, билэ аты муун сөз ажыратуу аяктагандан кийин жүзөгө ашырылат. Ар бир сөз бөлчөк сызыгы менен бөлүнүп үлгүлөрүнүн бир катар, катары каралат. жайылуу жараяны аттары көрсөтүлгөн үлгүгө дал жип менен ар бир үлгүгө алмаштырган менен пайда болушу мүмкүн болгон бардык материалдар аталыштары менен сөзүн алмаштырат. Бул тууралуу эки чектөөлөр бар: биринчиси, үлгү биринчи тамга бир мезгил болуп калбаса, бир үлгү бир сызык камтыган сап дал мүмкүн эмес, ал эми экинчи бир үлгү мезгил менен баштап сап жете алышкан жок. кийинки бөлүмгө өтүү жол атын өсүш жана учурда (1) буйругу да колдонулган моделдерин сүрөттөйт.

Shell Patterns

А үлгү өздөрүн дал нормалдуу белгиден турат, жана мета-мүнөздөрү. Алар келтирип жаткан болсо, мета-каармандар ``! '' `* ''` `? '' жана` `[ '' Бул белгилер өзгөчө маанисин жоготуп жатат. буйрук же өзгөрмөлүү алмаштыруу жүргүзүлөт жана доллар белгиси же Гезит келтирилген эки эмес, кийин, өзгөрүүчү наркы же буйрук чыгаруу бул тамгалардын жана мета-каармандардын айландырылат изделет жатат.

Жылдызча ( `* '') каармандардын ар кандай жип менен дал келет. Бир суроо белгиси кандай жалгыз. А сол кашаа ( `` [ '') мүнөзү тобуна киргизилет. тамга класстын акыры ( ``] ''), анда ``] '' анда `` [ '' бир тамга класс киргизүү ордуна "бир` `[Матчи" жок көрсөтүп турат. Бир тамга класс чарчы кашаанын ортосундагы каармандардын ар кандай туура. каармандардын бир катар терс белги менен белгилениши мүмкүн. тамга класс илеп белги класстын биринчи тамга кабыл алуу менен толукталышы мүмкүн.

а ``] '' бир тамга класста, ал биринчи каарман кылып санап өткөн ( `` кийин! "," эгер бар болсо) камтыйт. бир кемитүү камтыйт, ал аталган биринчи же акыркы каарман кылып

Builtins

Бул бөлүмдө алар өзүнчө ыкма менен аткарылышы мүмкүн болбогон айрым бир иш-аракетти аткарууга зарыл, анткени builtin жаткан builtin буйруктарды тизмеси. Мындан тышкары, натыйжалуулугун үчүн builtin мүмкүн бир нече буйрук бар (мисалы, сезим 1).

:

Бир нөл буйругу 0 кайтарат (чыныгы) чыгуу маанилүү.

. билэ

көрсөтүлгөн иштин осуяттарын окуп, орбита тарабынан аткарылат.

ат [аты [= сап ...]]

Аталышы = сап көрсөтүлгөн болсо, номиналдык гана аты-жөнү көрсөтүлөт, анда балл жип менен Көрсөткүчтүн аталышы аныктайт, өлкө аталышы наркы басылып жатат. Эч кандай далилдер менен бирге, өлкө басып бардык аныкталган аттары аттарын жана баалуулуктарын builtin (unalias карагыла)

күйөрман [жумуш] ...

тек көрсөтүлгөн иш орундарын түзүү (же эч кандай жумуш берген болсо, азыркы учурда жумуш) улантуу.

команда Аргентина ...

көрсөтүлгөн builtin буйругун аткаруу. (Бул сиз builtin буйрук катары ошол эле ат менен номиналдык милдетин бар, пайдалуу болушу мүмкүн.)

CD [каталог]

Көрсөтүлгөн каталогун которуу (демейки $ ҮЙ) CD буйругуна же кыртыш өзгөрүлмө CDPATH коюп, каталог аты бир сызык менен башталат эмес, ичинен CDPATH үчүн материалдар чөйрөдө пайда болгон болсо, анда CDPATH келтирилген каталогдор издеп болот көрсөтүлгөн тизиминин үчүн. CDPATH боюнча формат менен өз ара аракеттенүү кабыгына жолунда, бул да ошондой, CD буйрук чынында ал колдонуучу берген аты башкача болсо которулду жетекчилигинин атынан чыгарат. Бул, анткени CDPATH механизми колдонулган же бир символдук шилтеме өтүп, себеби да ар кандай болушу мүмкүн.

тандыраарлык сап ...

мейкиндигиндеги бардык далилдерди чапташтырыш. Андан кайра-талдоо жана буйрукту аткарууга.

Шмидт [буйрук ARG ...]

буйрук казасын каралбаса, номиналдык жараяны (реалдуу программасы эмес, номиналдык builtin же милдети болушу керек) аталган программасы менен алмаштырылган. Шмидт буйругу боюнча ар кандай багыттоолор алар качан Шмидт буйрук аяктагандан кайтаруу эмес, ошондуктан, туруктуу белгиленген.

чыгуу [exitstatus]

номиналдык жараянын токтотулат. Exitstatus берилген болсо, анда бул орбитанын чыгуу абалы катары колдонулат; Эгерде мурунку буйрук бүтүрүү статусу колдонулат.

экспорттук аты-жөнү ...

экспорттук -p

көрсөтүлгөн аттары, алар кийинки буйрук чөйрө пайда болот деп экспорттолуп жатат. ун-ташып гана жолу өзгөрмө аны ст болуп саналат. кабыгы өзгөрмөнүн суммасы жазуу менен ташып жатат, ошол эле учурда белгиленген жол ачат

экспорттук аты = балл

эч кандай далилдер менен экспорттук буйрук бардык ташылып өзгөрмөлөр аттарын тизмеси. Менен - б чечим чыгаруу эмес өз ара пайдалануу үчүн тийиштүү түрдө болот көрсөтүлгөн.

FC [- электрондук редактору] [биринчи [Акыркы]]

FC -l [- эч] [биринчи [Акыркы]]

FC -S [эски = жаңы] [Биринчи]

FC builtin тизмелери, же түзөтүүлөр жана кайра таризделет, мурда өз ара кабыгына кирген кылба.

-E редактору

буйруктарды түзөтүүгө редактору деген редакторун колдонуу. Редактор сап буйрук аты-жөнү, PATH өзгөрмөгө аркылуу издөөгө тийиш. FCEDIT өзгөрмөнүн ичинде наркы абалкы катары колдонулат - электрондук көрсөтүлгөн эмес. FCEDIT нөлдүк же коюлбай калса, редактор өзгөрмөнүн наркы колдонулат. Редактор нөлдүк же коюлбай калса, ю (1) редактору катары колдонулат.

-l (тамак)

тескерисинче, алар боюнча редактор мелдеш караганда буйруктарды жаз. Команда саны боюнча мурда ар бир буйругу менен R - буйруулар таасир катары, алгачкы жана акыркы operands тарабынан көрсөтүлгөн ырааттуулукта жазылган.

-l менен тизмесине буйрук номерлерин бөгөт коюу.

-r

Буйруктарына саналган (менен тартибин Кайрылуу - л же редактору (менен да - л да, - ж)

-s

редактор эри жок буйрукту кайра ишке.

алгачкы

акыркы

Тизмеге же түзөтүү буйруктарды танда. Кирсе болот мурунку буйрук саны наркы менен аныкталат HISTSIZE өзгөрмөнүн . биринчи же акыркы же төмөнкү эки болуп бир мааниси:

[+] саны

буйрук санын атынан оң саны; л тандоосу - буйрук сандар менен көрсөтүлгөн болот.

санын

мурда буйрук санын аткарылган буйрукту билдирген терс ондук сан. Мисалы, -1 дароо мурунку команда болуп саналат.

аркан

деген сап менен башталат мурда киргизилген буйрукту көрсөтүү менен сап. Эски = жаңы коддон да көрсөтүлгөн жок болсо, - биринчи коддон камтылган барабар болушу мүмкүн эмес сап түрү жаралат.

Төмөнкү чөйрөсү өзгөрмөлөр FC аткарылышын таасир этет:

FCEDIT

пайдаланууга редакторунун аты.

HISTSIZE

жеткиликтүү болуп өткөн командалардын саны.

FG [жумуш]

белгиленген жумуш же планга учурдагы жумуш жылдыруу.

getopts optstring Var

POSIX getopts буйрук, Bell Labs -derived getopt менен чаташтырбоо керек (1).

Биринчи аргумент жол аргумент талап көрсөтүп каалашынча чекит менен коштолушу мүмкүн, алардын ар бири каттарды, бир катар болушу керек. көрсөтүлгөн өзгөрмө талданбай тандоосу менен белгиленет.

Getopts буйрук улам Художник камтыган далилдерди, анын колдонуу үчүн улуу getopt (1) Пайдалуу deprecates.

Builtin getopts параметрлер боюнча тизмесинен ыкмаларды жана алардын талашы алуу үчүн колдонулушу мүмкүн. Дуба кылганда, getopts талап кийинки тандоосу курстар белгиленген номиналдык өзгөрмөнүн ичинде тизмесине параметр саптан жана номиналдык өзгөрүлмө OPTIND кийин кабыгы индекси деген талап кылынса, OPTIND 1. демилгеленди Анткени ар бир тандоонун баалаары талаш, getopts параметр анда OPTARG коюлбай болот optstring үчүн мүмкүн эмес болсо, номиналдык өзгөрүлмө OPTARG аны жайгаштырам builtin.

optstring таанылган параметр тамгалардан турган сап. кат кош чекит менен кийин болсо, же бош орун менен андан бөлүнүп мүмкүн эмес болушу мүмкүн, урушушат, күтүлүүдө. Күтүлгөн жерде параметр мүнөзү табылган жок болсо, getopts бир `` үчүн өзгөрүлмө Var калтырган? '' Getopts анда коюлбай OPTARG эркин жана стандарттык ката өндүрүмдөрүн жазып берем. Бардык каталарды optstring биринчи мүнөзү сыяктуу курстар көрсөтүү менен эске алынбайт.

акыркы параметр жеткенден кийин бир nonzero наркы кайтарылып берилет. Эч кандай далилдер бар болсо, getopts атайын тандоосу үчүн Var коём, `` - '' башка, ал үчүн `` Var кылам? ""

Төмөнкү код үзүндүсү бир ыкмаларды алат буйругу боюнча далилдерди иштеп кандайча көрсөтүп турат [а] жана [а] жана аргументтерди талап кылган чечим [с].

ал эми getopts ABC: е
эмне
окуя $ F
а | б) желек = $ е ;;
с) carg = $ OPTARG ;;
\) Эхо $ USAGE; чыгуу 1 ;;
esac
аткарылган
сменалык `Expr $ OPTIND - кесимдер 1

Бул код тете кийинки ар кандай кабыл алат:

ПГС -acarg Билэ Билэ
ПГС, биригип -C ARG Билэ Билэ
ПГС -carg -a Билэ Билэ
ПГС, биригип -carg - Билэ Билэ

-rv буйрукка кол коюш үчүн ...

номиналдык буйрук жерлерди эстеп таштанды үстөл жүргүзөт. Эч кандай далилдер менен, ушул столдун мазмунун чыккан таштанды буйрук басылмалар. Акыркы CD буйрук жылдызча менен белгиленген, анткени карап эмес, элементтер; Бул жазууларда жараксыз болушу мүмкүн.

Далилдер менен бирге, таштанды буйрук таштанды үстөлүнөн түшкөн көрсөтүлгөн буйруктарды алып (алар милдеттери болуп төмөнкүлөр саналат каралбаса), анан аларды жайгашкан. Менен - V тандоосу, таштанды аларды таап эле буйруктардын жерлерди басып чыгара алат. - р параметр таштанды буйрук милдеттерин башка таштанды столдун бардык жазууларды жок кылуу үчүн себеп болот.

jobid [жумуш]

жумушка берүү жараяны номуру басып чыгаруу. Жумуш аргумент кереги жок болсо, учурдагы иш колдонулат.

жумуш

Бул буйрук учурдагы номиналдык жараяны уулдары бардык негизги иштерди санап өткөн.

сырсөздү

Учурдагы каталогду чыгаруу. builtin буйрук учурдагы каталог ага ар бир жолу кайра ордуна эмне эстейт, анткени builtin буйрук аты уйкаш программасынын айырмаланышы мүмкүн. Ушуну менен аны кылат. Бирок азыркы каталог деп аталып, анда, Калыбына builtin версия каталогуна үчүн эски Аты-жөнү улантат.

окуу [- б чакыруу] [- R] өзгөрүлмө ...

Эгер тез арада басылып - б параметр көрсөтүлгөн жана стандарттык киргизүү айыккыс болуп саналат. Андан кийин бир сап-стандартты киргизүү окуп жатат. жабуучу NEWLINE жогоруда сөз ажыралуу бөлүмүндө айтылгандай сызык менен сап бөлүнөт жок жана тартипте даана өзгөрмөлөр жүктөлгөн. бери дегенде, бир өзгөрмө көрсөтүлүшү керек. Өзгөрмөлөр караганда даана бар болсо, калган даана (бөлүп Ifs каармандар менен бирге) акыркы өзгөрмөнүн жүктөлгөн. даана караганда өзгөрмөлөр бар болсо, калган өзгөрүлмөлүүлөр күчүн сап жүктөлгөн. Эгерде ката болгон кайтарылат EOF, киргизүү боюнча кездешкен каралбаса builtin окуу ийгилик берет.

Алыдын ала, башкача каралбаса, - р параметри көрсөтүлгөн, качып мүнөздөгү катары слэш `` \ '' актылары, төмөнкү тамга пайда түзмө-түз мамиле керек. бир слэш бир NEWLINE кийин болсо, слэш жана NEWLINE жок кылынат.

окуу үчүн аты-жөнү ...

кирүүнү -p

Алар андан ары өзгөртүү же коюлбай мүмкүн эмес, ошондуктан көрсөтүлгөн ысымдар, бир гана окуу менен белгиленген. Кабыгы өзгөрмөнүн баасын белгиленген, ошол эле учурда белгиленген жол берет окуу үчүн гана жазуу менен

кирүүнү аты = балл

эч кандай далилдер менен бардык ысымдары кирүүнү буйрук тизмелери гана өзгөрмө окуган. Менен - б чечим чыгаруу эмес өз ара пайдалануу үчүн тийиштүү түрдө болот көрсөтүлгөн.

белгиленген [{- Жолдор | + сынап | - Аргентина ...]

Белгиленген команда үч ар башка иш-милдеттерди аткарат.

эч кандай далилдер менен бирге, бардык номиналдык өзгөрүлмөлөрдүн баалуулуктарын тизмеси.

параметрлери берилген болсо, анда көрсөтүлгөн жол желектерди аныктайт, же Sx аргумент тизмеси иштетүү деп аталган бөлүгүндө жазылгандай, асманды тазалап кетет.

белгиленген буйругу үчүнчү пайдалануу белгиленген args орбитасындагы анын турумдук көрсөткүчтөрдүн баалуулуктарын орнотуу болуп саналат. үчүн биринчи аргумент катары '' - ар кандай ыкмаларды өзгөртүүгө турумдук параметрлерин өзгөртүү үчүн, `` колдонушат. Эч кандай args бар болсо, анда белгиленген буйругу турумдук параметрлерди ( `` аткаруу барабар заман болот сменалык # $. '' '

өзгөрмө балл

өзгөрмөгө маани энчилегенге. (Ал жакшы Жалпысынан жазып өзгөрмө = setvar setvar колдонуу караганда маанилүү эмес, алардын ысымдары параметрлер катары өтүп жаткан өзгөрмөлөргө жүктөлсүн милдеттерди пайдалануу үчүн арналган.)

нөөмөт [н]

турумдук параметрлер н жолу Shift. А кезметтин # $ наркы $ 1 $ 2 $ 2 балл наркынын 3 ж.б.у.с. $ баалуулугун, наркын азайтуу көрсөтөт бири. Н турумдук параметрлер санынан көп болсо, нөөмөт кайра статусу 2 ката билдирүү менен чыгууга чыгарат.

жолу

катмары жана катмарындагы чуркап берүү үчүн топтолгон колдонуучу жана система жолу басып. кайра статусу 0 болот.

тузак аракет белги ...

талдоо жана көрсөтүлгөн сигналдарды ар кандай кабыл алынат кийин иш-аракеттерди ишке ашыруу үчүн жер кыртышын себеп. сигналдар сигнал саны боюнча аныкталат. Белги 0 болсо, анда иш номиналдык чыккандан кийин аткарылат. аракет нөлдүк же `` болушу мүмкүн - '' мурдагы ташталган көрсөтүлгөн белги пайда болот жана бул демейки иш-аракет кылат. Бир өчүрүү номиналдык айрыларды келгенде subshell , ал (бирок четке эмес) чымын чыгарды демейки иш-аракет кылууга сигналдарды. Тузак буйрук кабыгына кирүүгө этибарга алынган сигналдар боюнча эч кандай таасир тийгизбейт.

терилген [аты ...]

буйрук катары ар бир аты чечмелөө жана буйрук издөө токтом басып. Мүмкүн токтомдор бар: номиналдык Ачкыч, өлкө, номиналдык builtin , буйрук, байкоо өлкө жана табылган жок. Катты үчүн ат кеңейүү басылып; буйруктары менен салынган аттары үчүн буйрук толук атын басылып жатат.

ulimit [- H -S] [- бир -tfdscmlpn [балл]]

жөнүндө сурап же берүү же жаңы чектери боюнча катуу же жумшак чектөөлөрдү белгилөө. катуу чек арасында тандоо (эч кандай иши менен кыянаттык кылууга жол берилет, жана ал түшүрүштү кийин мүмкүн эмес) жана жумшак чектен (жараяндар булгап, бирок сөзсүз түрдө өлтүргөн жок болушуна алып келет, көтөрүп мүмкүн) менен жүргүзүлөт бул байрактар:

-H

же катуу чектери жөнүндө сурап

-S

же жумшак чектери жөнүндө сурагыла. Эгер да - H да, - S көрсөтүлгөн, жумшак чектөө көрсөтүлөт же эки чек коюлган эмес. да көрсөтүлгөн болсо, анда акыркы алды.

суралып жаткан адамга көрсөтүлөт же коюлган чеги, анда, бул желектер эч бирин көрсөтүү тандап алган:

-a

бардык азыркы чегин көрсөтөт

-t

боюнча чек көрсөтүп же CPU жолу (ар секундалык)

-f

көрсөтүп же түзүлүшү мүмкүн ири делосуна боюнча белгилеген (512-байт блоктору)

-D

көрсөтүп же ыкманы маалыматтар бөлүгү өлчөмүн белгилеген (килобайт менен)

-s

көрсөткөн же жараяндын чөмөлө өлчөмүн белгилеген (килобайт менен)

-C

өндүрүлгөн болот ири негизги төгүндүлөрдүн өлчөмү боюнча чектөөлөрдү алып көрсөткөн же (512-байт блоктору)

ыкмалар менен пайдаланууга болот жалпы физикалык эс боюнча чек көрсөтүп же (килобайт менен)

-l

көрсөтүү же иш менен кулпулай аласыз канчалык тутум боюнча чектөө mlock (2) (бир килобайт )

-p

көрсөтүп же жараяндарынын санына чек коюлду Бул колдонуучуга бир учурда болушу мүмкүн

көрсөтүп же саны жараяны бир ачык болот арыз боюнча чек койду

Булардын бири да көрсөтүлгөн болсо, анда көрсөтүлгөн же белгиленет билэ өлчөмүн чектөө болуп саналат. мааниси белгиленген болсо, анда чек деген саны менен белгиленет; Эгерде учурдагы чек көрсөтүлөт.

эркин жол чектери Sysctl (8) Пайдалуу аркылуу көрсөткөн же белгилениши мүмкүн.

umask [маска]

umask баасын коюу (umask карагыла (2)) көрсөтүлгөн Octal наркына. аргумент кереги жок болсо, umask балл басылып жатат.

unalias [- а] [аты]

Аты-жөнү көрсөтүлгөн болсо, кабыгы деп лакап жок. Болсо - белгилүү болуп, бардык нускалары алынып салынат.

коюлбаса, аты-жөнү ...

көрсөтүлгөн өзгөрмөлөр жана милдеттери коюлбаса жана unexported болуп саналат. берилген аты өзгөрмөгө жана иш да туура келет, анда өзгөрүлмө жана милдети да коюлбай жатат.

[жумуш] күтүп

аягына жана жумуш акыркы жараянынын чыгуу статусун кайтарып берүүгө белгиленген жумуш күт. аргумент кереги жок болсо, бардык жумуштар аягына жана кайра нөлгө бир чыгуу статусун күтүшөт.

Command Line түзөтүү

Sh өз ара бир терминалдан колдонулууда кийин, учурдагы буйрук жана буйрук тарыхы (Sx Builtins менен FC карагыла) VI-режими буйрук сап түзөтүүнү колдонуу менен жасаса болот. Бул режим VI адам беттеги сүрөттөлөт бир затка окшош төмөндө баяндалган осуяттарын, колдонот. буйрук `коюлган" епо VI VI коюу режимге VI-режими түзөтүү жана орду алигиче берет. VI-режими иштетилген менен Sh коюу режиминде жана башкаруу режими менен өтүү мүмкүн. редактору жерде толук чагылдырылган эмес, ал эми кийинчерээк документ болот. Бул VI окшош болот: Aq ESC терүү буйрук VI буйрук режиминде кылып ыргытып жиберет. команда режиминде Aq кайтып Hitting кабыгына сызык өтөт.

Маанилүү иш: Келген киши колдонуу буйругун буйругу менен, атап айтканда ЭЭМ колдонулуп келе жатканын көрүп, (% адам).