Попельнасць - Linux Command - Unix каманднага

NAME

ш - камандны інтэрпрэтатар ( абалонка )

сінтаксіс

ш [- / + aCefnuvxIimqsVEbc] [- аб longname] -слов [мэта ...]

АПІСАННЕ

Ш. з'яўляецца стандартным інтэрпрэтатарам каманд для сістэмы. Бягучая версія ш знаходзіцца ў працэсе змены , каб адпавядаць спецыфікацыям POSIX 1003.2 і 1003.2a для абалонкі. Гэтая версія мае шмат асаблівасцяў, якія робяць яго здаецца падобным ў некаторых адносінах да Korn абалонцы, але гэта не клон абалонкі Korn (гл Ksh (1)). Толькі функцыі , прызначаныя POSIX , а таксама некалькі пашырэнняў Берклі, якія ўключаюцца ў гэтую абалонку. Мы чакаем , POSIX адпаведнасць да таго часу 4,4 BSD вылучаецца. Дадзеная старонка не прызначана быць падручнік ці поўная спецыфікацыя корпуса.

агляд

Абалонка каманда , якая чытае радкі з любога файла ці тэрмінала, інтэрпрэтуе іх, і звычайна выконвае іншыя каманды. Гэта праграма, якая працуе, калі карыстальнік уваходзіць у сістэму (хоць карыстач можа абраць іншую абалонку з CHSH (1) каманды). Абалонка рэалізуе мова, які мае кіраванне патокам канструкцыю, макра-цэнтр, які прадастаўляе разнастайныя магчымасці ў дадатку да захоўвання дадзеных, а таксама са ўбудаванымі ў гісторыі і рэдагаванне лініі магчымасцяў. Яна ўключае ў сябе мноства функцый для дапамозе інтэрактыўнага выкарыстання і мае тое перавага, што толковательный мова з'яўляецца агульным для абодвух інтэрактыўнага і ня інтэрактыўнага выкарыстання (сцэнарыі абалонкі). Гэта значыць, каманды могуць быць уведзеныя непасрэдна ў запушчанай абалонцы або могуць быць змешчаны ў файл і файл можа быць выкананы непасрэдна абалонкай.

маленне

Калі няма Аргана няма і калі стандартны ўвод абалонкі падключаюцца да тэрмінала (ці , калі - я сцяг усталяваны), а - варыянт з не прысутнічае, абалонка лічыцца інтэрактыўнай абалонкай . Інтэрактыўная абалонка , як правіла падказкі перад кожнай камандай і апрацоўвае праграмавання і камандныя памылкі па- іншаму (як апісана ніжэй). Пры першым запуску, абалонка правярае аргумент 0, і калі ён пачынаецца з працяжнік `-» абалонка таксама лічыцца Увайсці абалонкі. Звычайна гэта робіцца аўтаматычна сістэмай, калі першы карыстальнік уваходзіць у сістэму. Увайсці абалонка спачатку чытае каманды з файлаў / і г.д. / профіль і .profile, калі яны існуюць. Калі зменная ENV асяроддзя усталёўваецца на ўваходзе ў абалонку, або знаходзіцца ў .profile лагіна абалонкі, абалонкі наступны чытае каманды з файла , названага ў ENV Такім чынам, карыстальнік павінен змясціць каманды, якія павінны быць выкананы толькі пры час уваходу ў файле .profile, а каманды, якія выконваюцца для кожнай абалонкі ўнутры файла ENV. Для таго, каб усталяваць зменную ENV ў якой - то файл, змесціце наступны радок у файл .profile ў вашым хатнім каталогу

ENV = $ HOME / .shinit; экспарт ENV

замяняючы `` .shinit «» любога файла , які вы хочаце. Так як файл ENV счытваецца для кожнага выкліку абалонкі, у тым ліку сцэнарыяў абалонкі і неінтерактівных абалонак, наступная парадыгма карысная для абмежавання каманд у файл ENV да інтэрактыўным выклікаў. Месца каманды ў выпадку `` «» і `` ESAC «» ніжэй (гэтыя каманды апісаны ніжэй):

Выпадак $ - у * я *)

# Каманды для інтэрактыўнага выкарыстання толькі

...

ESAC

Калі пазначаны аргументы каманднага радка, акрамя параметраў, то абалонка разглядае першы аргумент як імя файла, з якога варта чытаць каманды (скрыпт абалонкі), а астатнія аргументы ўсталёўваюцца як пазіцыйныя параметры абалонкі ($ 1 , $ 2, і г.д.). У адваротным выпадку, абалонка счытвае каманду з стандартнага ўводу.

Апрацоўка спісу Аргументам

Усе адзіных варыянтаў лісты маюць адпаведнае імя , якое можа быць выкарыстана ў якасці аргументу опцыі - O. Набор - пра назву забяспечваецца побач з адной опцыяй ліст у апісанні ніжэй. Заданне працяжнік `` - «» ўключае опцыю, пры выкарыстанні плюс `` + «» адключае опцыю. Наступныя параметры могуць быць устаноўлены з каманднага радка або з дапамогай набору (1) ўбудавана (апісана ніжэй).

-a allexport

Экспартаваць ўсе зменныя, прысвоеныя. (Невыкананне для 4.4alpha)

Чытаць каманды з каманднага радка. Няма каманды будуць чытацца з стандартнага ўводу.

NoClobber

Не перазапісваць існуючыя файлы ``> «» (Unimplemented для 4.4alpha)

-e errexit

Калі не інтэрактыўныя, выйсці неадкладна, калі якая-небудзь неправераная каманда не выконваецца. Статус завяршэння каманды лічыцца відавочна пратэставаны , калі каманда выкарыстоўваецца для кіравання , калі Elif ць час або да , або калі каманда з'яўляецца левая рука аперанд `&&« ці `` || »аператар '« ».

-f noglob

Адключыць імя шляху пашырэння.

-n поехес

Калі не інтэрактыўная, чытаць каманды, але не выконваць іх. Гэта карысна для праверкі сінтаксісу скрыптоў абалонкі.

-u nounset

Напісаць паведамленне для стандартнай памылкі пры спробе пашырыць зменную, якая не ўсталяваная, і калі абалонка не з'яўляецца інтэрактыўным, выйсці неадкладна. (Невыкананне для 4.4alpha)

-v шматслоўным

Абалонка запісвае свой уклад у стандартную памылку, як гэта чытаецца. Карысна для адладкі.

-x xtrace

Запішыце кожную каманду стандартнай памылкі ( з папярэднім сімвалам `+ 'перад яго выкананнем. Карысна для адладкі.

-q quietprofile

Калі - v або - х варыянтаў былі ўсталяваныя, не прымяняюць іх пры чытанні файлаў ініцыялізацыі, прычым яны / і г.д. / профіль .profile і файл , паказаны ў зменнай асяроддзі ENV.

-I IGNOREEOF

Ігнараваць EOF ад уводу пры інтэрактыўнай.

-i інтэрактыўны

Прымушае абалонку паводзіць сябе ў інтэрактыўным рэжыме.

-m манітор

Уключыце кіраванне заданнямі (усталёўваецца аўтаматычна, калі інтэрактыўны).

-s STDIN

Чытаць каманды са стандартнага ўводу (усталёўваецца аўтаматычна , калі файл аргументы не тут). Гэты параметр не мае ніякага эфекту, калі ўсталяваны пасля таго, як абалонка ўжо пачала бегаць (г.зн. набор (1)).

-V VI

Ўключыць убудаваны VI (1) рэдактар каманднага радка (адключае - E , калі ён усталяваны).

-E Emacs

Ўключыць убудаваны ў Emacs (1) рэдактар каманднага радка (адключае - V , калі ён усталяваны).

-b паведаміць

Ўключыць асінхронныя апавяшчэнне аб завяршэнні заданні фону. (Невыкананне для 4.4alpha)

лексічная структура

Абалонка счытвае інфармацыю з пункту гледжання радкоў з файла і разбівае яго на словы на прабелы (прабелы і табуляцыі), а таксама пры пэўных паслядоўнасцяў знакаў, якія з'яўляюцца асаблівымі для абалонкі пад назвай `` аператарамі «» Ёсць два тыпу аператараў: аператары кіравання і аператары перанакіравання (іх значэнне абмяркоўваецца ніжэй). Ніжэй прыведзены спіс аператараў:

«Аператары кіравання:»

& && (); ;; | || <Пераклад радкі>

«Аператар Перанакіраванне:»

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

кватаванне

Цытаванне выкарыстоўваецца для выдалення спецыяльнае значэнне пэўных сімвалаў або слоў у абалонцы, напрыклад, аператараў, прабел або ключавыя словы. Ёсць тры тыпу цытуе: які супадае адзінкавыя двукоссі, супалі падвойныя двукоссі і зваротны слэш.

бэкслэш

Зваротны слэш захоўвае літаральнае значэнне наступнага сімвала, за выключэннем Aq радка. Зваротны слэш папярэдні сімвал новага радка Aq разглядаецца як працяг радка.

адзінарныя двукоссі

Агароджваюць знакаў у адзінарныя двукоссі захоўвае літаральнае значэнне ўсіх сімвалаў (акрамя адзінарныя двукоссі, што робіць немагчымым паставіць адзінарныя двукоссі ў адзінарных двукоссях).

падвойныя двукоссі

Агароджваюць сімвалы ў падвойныя двукоссі захоўвае літаральнае значэнне ўсіх сімвалаў, акрамя сімвал даляра ($) зваротнай двукоссі ( `) і зваротны слэш (\) зваротнай касой ўнутры падвойных двукоссяў гістарычна дзіўна, і служыць працытаваць толькі наступныя сімвалы:

$ `\ <Пераклад радкі>

У адваротным выпадку ён застаецца літаральна.

зарэзерваваныя словы

Зарэзерваваныя словы з'яўляюцца словамі, якія маюць асаблівае значэнне для абалонкі і прызнаюцца ў пачатку радка і пасля кіраўніка аператарам. Ніжэй прыведзены зарэзерваваныя словы:

! Тая Эліф тая фі тая тая , а выпадак

Тая яшчэ для Ta Ta то {Ta}

не рабіць Ta Ta зроблена да Ta Ta , калі ESAC

Іх сэнс абмяркоўваецца пазней.

псеўданімы

Псеўданім імя і адпаведнае значэнне , усталяванае з дапамогай псеўданіма (1) убудаваная каманда. Кожны раз, калі зарэзерваваныя слова можа мець месца (гл вышэй), і пасля праверкі на зарэзерваваныя словы, абалонка правярае слова, каб убачыць, калі ён супадае з псеўданімам. Калі гэта адбудзецца, яна замяняе яго ва ўваходным струмені з яго значэннем. Напрыклад, калі маецца псеўданім называецца `` LF «» са значэннем `` LS -F «», то ўваходны сігнал:

Л.Ф. Foobar <вярнуцца>

стаў бы

Ls -F Foobar <вяртанне>

Псеўданімы прадастаўляюць зручны спосаб для наіўных карыстальнікаў ствараць Shorthands для каманд без таго, каб даведацца, як ствараць функцыі з аргументамі. Яны таксама могуць быць выкарыстаны для стварэння лексічны невыразная коды. Такое выкарыстанне не рэкамендуецца.

каманды

Абалонка інтэрпрэтуе словы ён чытае ў адпаведнасці з мовай, спецыфікацыя якога выходзіць за рамкі гэтага чалавека старонцы (звярніцеся да BNF ў дакуменце POSIX 1003.2). Па сутнасці, хоць, чытаецца радок, і калі першае слова радка (або пасля аператара кіравання) не з'яўляецца зарэзерваваным словам, то абалонка прызнала простую каманду. У адваротным выпадку, складаная каманда ці якая-небудзь іншая спецыяльная канструкцыя можа быць прызнаная.

простыя каманды

Калі простая каманда была прызнаная, абалонка выконвае наступныя дзеянні:

  1. Вядучае словы выгляду `` імя = значэнне "», здабываюць і прысвойваецца асяроддзі просты каманды. Аператары перанакіравання і іх аргументы (як апісана ніжэй) адганяюць і захаваны для апрацоўкі.
  2. Тыя, што засталіся словы раскрываюцца, як апісана ў раздзеле пад назвай `` Expansions «» і першае што застаўся слова лічыцца імем каманды, і каманда знаходзіцца. Астатнія словы лічацца аргументамі каманды. Калі імя каманды не прывялі, то `` імя = значэнне "» пераменная прызначэння, прызнаныя ў пункце 1 ўплываюць на бягучую абалонку.
  3. Перанакіравання выконваюцца так, як апісана ў наступным раздзеле.

перасылак

Перанакіравання выкарыстоўваюцца для змены, дзе каманда счытвае свой ўваходны сігнал або перадае свой выходны сігнал. Увогуле, перапрызначэння адкрыццё, закрыццё, або дубляваць існуючую спасылку на файл. Агульны фармат, які выкарыстоўваецца для перанакіравання:

[П] REDIR-оп-файл

дзе REDIR-оп з'яўляецца адным з аператараў перасылак , згаданых вышэй. Ніжэй прыведзены спіс магчымых перанакіраваньняў. Бк п з'яўляецца неабавязковым лік, як у `3 '(не` Бк 3', які спасылаецца на дэскрыптар файла.

[П]> файл

Перанакіраваць стандартны вывад (або п) у файл.

[П]> | файл

То ж, але перавызначыць параметр - C.

[П] >> файл

Append стандартны вывад (або п) у файл.

[П] <файл

Перанакіраванне стандартнага ўводу (або п) з файла.

[N1] <& П2

Дублікат стандартны ўвод (або n1) з дэскрыптара файла n2.

[П] <& -

Зачыніць стандартны ўвод (або п).

[N1]> & П2

Дублікат стандартны вывад (або n1) з n2.

[П]> & -

Зачыніць стандартны вывад (або п).

[П] <> файл

Адкрыць файл для чытання і запісы на стандартны ўваход (або п).

Наступнае перанакіраванне часта называюць `` дакумент-тут «»

[П] << падзельнік

тут-док-тэкст ...

абмежавальнік

Увесь тэкст на паслядоўных ліній да падзельніка захоўваецца далёка і даступныя для каманды на стандартны ўвод, або дэскрыптара файла п, калі ён паказаны. Калі падзельнік, як паказана на пачатковай лініі каціруецца, то тут-док-тэкст апрацоўваецца літаральна, у адваротным выпадку тэкст падвяргаецца параметрам раскладання, падстаноўкі каманд і арыфметычных выразаў (як апісана ў раздзеле, прысвечаным `` раскладзеных) » «Калі оператор`` << - »» вместо` `<<" ", то вядучыя укладкі ў тут-док-тэксту выдаляюцца.

Пошук і выкананне

Ёсць тры тыпу каманд: SHELL функцыі, убудаваныя каманды і звычайныя праграмы - і каманда шукалі (па імі) у такім парадку. Кожны з іх выконваюцца па-рознаму.

Калі функцыя абалонкі выконваецца, усе пазіцыйныя параметры абалонкі (акрамя $ 0, якая застаецца нязменнай) ўсталёўваюцца ў аргументах функцыі абалонкі. Зменныя, якія відавочнай выявай размешчаны ў асяроддзі каманды (шляхам размяшчэння заданняў на іх перад імем функцыі) робяцца лакальнымі для функцыі і ўсталёўваюцца на значэння дадзеных. Затым каманда, якая змешчана ў вызначэнні функцыі выконваецца. Пазіцыйныя параметры будуць адноўлены зыходныя значэння, калі каманда завяршаецца. Усё гэта адбываецца на працягу бягучай абалонкі.

Гэтыя каманды выконваюцца ўнутрана абалонкі, без спараджэння новага працэсу.

У адваротным выпадку, калі імя каманды не адпавядае функцыі або убудаваная, каманда шукаецца як звычайная праграма ў файлавай сістэме (як апісана ў наступным раздзеле). Калі нармальная праграма выканана, абалонка запускае праграму, перадаючы аргументы і навакольнае асяроддзе ў праграму. Калі праграма не з'яўляецца звычайным выкананым файлам (г.зн. калі яна не пачынаецца з «магічным лікам» , чые ASCII прадстаўленне «#!», Так execve (2) вяртае Er ENOEXEC тады) абалонка інтэрпрэтуе праграму ў подоболочка. Дзіця абалонка переинициализирует сябе ў гэтым выпадку, так што эфект будзе як быццам новая абалонка была выкліканая для апрацоўкі аднарангавыя скрыпту, за выключэннем таго, што размяшчэнне хэшированных каманд, размешчаных у бацькоўскай абалонцы будзе запамінаюцца дзіця.

Звярніце ўвагу, што папярэднія версіі гэтага дакумента і сам зыходны код зманлівы і спарадычны см сцэнара абалонкі без магічнага ліку, як "працэдура абалонкі».

шлях пошуку

Пры размяшчэнні каманды, абалонка спачатку глядзіць, каб убачыць, калі яна мае функцыі абалонкі з такім імем. Затым ён шукае убудаваную каманду з такім імем. Калі убудаваная каманда не знойдзена, адна з двух рэчаў адбываецца:

  1. Назвы каманд, якія змяшчаюць касую рысу проста выконваюцца без выканання якіх-небудзь пошукаў.
  2. Абалонка шукае кожны элемент у PATH , у сваю чаргу для каманды. Значэнне зменнай PATH павінен быць шэраг запісаў , падзеленых двукроп'ем. Кожны запіс складаецца з імя каталога. Бягучы каталог можа быць паказаны ў няяўным выглядзе пустога імя каталога, ці відавочна аднаго перыяду.

Каманда Статус Выхад

Кожная каманда мае статус выхаду, які можа ўплываць на паводзіны іншых каманд абалонкі. Парадыгма з'яўляецца тое, што каманда выходзіць з нуля для нармальнай ці поспех, а не нуль для адмовы, памылкі, або ілжывых паказанняў. Старонка чалавек для кожнай каманды павінны быць паказаны розныя коды выхаду і што яны азначаюць. Акрамя таго, убудаваныя каманды вяртаюць коды выхаду, як гэта робіць выкананыя функцыі абалонкі.

складаныя каманды

Складаныя каманды камбінацыя простых каманд з кіраўнікамі аператарамі або зарэзерваванымі словамі, разам ствараючы вялікую складаную каманду. У цэлым, каманда з'яўляецца адной з наступных дзеянняў:

Калі не паказана інакш, статус завяршэння каманды з'яўляецца тое, што апошняй просты каманды, якая выконваецца камандай.

трубаправоды

Трубаправод ўяўляе сабой паслядоўнасць з адной або некалькіх каманд, падзеленых аператар кіравання |. Стандартны вывад ўсіх, акрамя апошняй каманды падлучаны да стандартнага ўводу наступнай каманды. Стандартны вывад апошняй каманды атрымліваецца ў спадчыну з абалонкі, як звычайна.

Фармат для трубаправода:

[!] Command1 [| command2 ...]

Стандартны вывад command1 падлучаны да стандартнага ўводу каманды команда2. Стандартны ўвод, стандартны вывад, або абедзве каманды лічыцца прысвоеным трубаправодам да любога зададзенага перанакіравання аператараў перасылак, якія з'яўляюцца часткай каманды.

Калі трубаправод не ў фонавым рэжыме (абмяркоўваецца ніжэй), то абалонка чакае для ўсіх каманд, каб скончыць.

Калі зарэзерваваныя слова! ня папярэднічае трубаправод, статус выхаду з'яўляецца статус выхаду апошняй каманды ў канвееры. У адваротным выпадку, статус выхаду будзе лагічнае адмаўленне стану выхаду апошняй каманды. Гэта значыць, калі апошняя каманда вяртае нуль, статус выхаду 1; калі апошняя каманда вяртае больш за нуль, статус выхаду роўны нулю.

Паколькі прызначэнне трубаправода стандартнага ўводу або стандартнага вываду або абедзвюх адбываецца да перасылак, ён можа быць мадыфікаваны шляхам перанакіраваньні. Напрыклад:

$ Command1 2> & 1 | command2

пасылае і стандартны вывад і стандартную памылку command1 да стандартнага ўводу каманды команда2.

A; або <пераклад радка> тэрмінатара прыводзіць да таго, папярэднюю І-АБО-спіс (апісаны ніжэй), які будзе выкананы паслядоўна; & Выклікае асінхронныя выкананне папярэдняга І-АБО-спіс.

Звярніце ўвагу, што ў адрозненне ад некаторых іншых абалонак, кожны працэс у трубаправодзе з'яўляецца даччыным выклікалай абалонкі (калі гэта не з'яўляецца убудаванай у камандны інтэрпрэтатар, у гэтым выпадку ён выконвае ў бягучай абалонцы - але нейкі эфект ён аказвае на навакольнае асяроддзе праціраюць).

Фонавыя Каманды -

Калі каманда завяршаецца аператарам кіравання Ампэрсанд (&), абалонка выконвае каманду асінхронна - гэта значыць, абалонка не чакае каманды, каб скончыць перад выкананнем наступнай каманды.

Фармат для запуску каманды ў фонавым рэжыме складае:

command1 & [command2 & ...]

Калі абалонка не з'яўляецца інтэрактыўным, стандартны ўвод асінхроннай каманды ўстаноўлена ў / DEV / нуль

Спісы - увогуле

Спіс ўяўляе сабой паслядоўнасць з нуля ці больш каманд, падзеленых сімваламі новага радка, кропкамі з коскі або Ампэрсанд, і неабавязкова спынена адной з гэтых трох знакаў. Каманды ў спісе выконваюцца ў парадку іх напісання. Калі каманда варта Ампэрсанд, абалонка запускае каманду і адразу ж перайсці да наступнай камандзе; у адваротным выпадку яго чакае каманда спыніць, перш чым перайсці да наступнага.

Кароткае замыканне Спіс аператары

`` && '' і `` || '' з'яўляюцца І-АБО спіс аператараў. `` && «» выконвае першую каманду, а затым выконвае другую каманду тады і толькі тады статус выхаду першай каманды роўны нулю. `` || «» падобная, але выконвае другая каманда тады і толькі тады статус завяршэння першай каманды роўны нулю. `` && '' і `` || '' маюць аднолькавы прыярытэт.

Flow-Control Стварае - калі, у той час як, для, выпадак

Сінтаксіс каманды, калі гэта

калі спіс
затым спіс
[Эліф спіс
Затым спіс] ...
[Яшчэ спіс]
фі

Сінтаксіс каманды, пакуль

у той час як спіс
зрабіць спіс
зроблена

Два спісу выконваюцца неаднаразова ў той час як статус выхаду першага спісу роўная нулю. Да каманда падобная, але не мае ні слова, пакуль на месцы некаторы час, што прыводзіць да яго паўтараць да таго часу, статус выхаду першага спісу роўны нулю.

Сінтаксіс для каманды з'яўляецца

для зменнай ў слова ...
зрабіць спіс
зроблена

Словы раскрываюцца, а затым спіс выконваюцца шмат разоў з пераменным наборам для кожнага слова ў сваёй чаргі. рабіць і рабіць, можа быць заменены `` { «» і ``} «»

Сінтаксіс перапынак і працягнуць каманда

перапынак [лік]
працягнуць [лік]

Перапынак завяршае Num патаемнае для або падчас цыклаў. Працягнуць працягваецца з наступнага ітэрацыі ўнутранага цыклу. Яны рэалізаваны як убудаваныя каманды.

Сінтаксіс каманды выпадак

выпадак слова
шаблон) спіс ;;
...
ESAC

Малюнак можа быць на самой справе адзін або некалькі шаблонаў (гл Shell Patterns апісаны ніжэй), падзеленых `` «» сімвалы.

Групоўка каманд разам

Каманды могуць быць згрупаваны ў пісьмовай форме альбо

(Спіс)

або

{Спіс;

Першы з іх выконвае каманды ў субоболочке. Убудаваныя каманды згрупаваныя ў (спіс) не паўплывае на бягучую абалонку. Другая форма не відэлец іншы абалонкі так трохі больш эфектыўным. Групоўка каманд разам такім чынам дазваляе перанакіраваць сваю прадукцыю, як калі б яны былі адна праграма:

{Printf прывітанне; Printf свет \ п »;}> прывітанне

функцыі

Сінтаксіс вызначэння функцыі

імя каманды ()

Вызначэнне функцыі з'яўляецца выкананым аператарам; пры выкананні ён ўстанаўлівае функцыю з імем імя і вяртае статус выхаду нуль. Каманда, як правіла, спіс, зняволены паміж `` { «» і ``} «»

Зменныя могуць быць абвешчаныя лакальнымі для функцыі з дапамогай лакальнай каманды. Гэта павінна выглядаць як першае зацвярджэнне функцыі і сінтаксіс

мясцовы [пераменная | -] ...

Мясцовыя рэалізаваны як убудаваная каманда.

Калі пераменная выканана лакальная, яна атрымлівае ў спадчыну пачатковае значэнне і экспартуецца і толькі для чытання сцягоў з зменнай з тым жа імем у навакольнага вобласці бачнасці, калі такі маецца. У адваротным выпадку пераменная першапачаткова ўстаноўлена. Абалонка выкарыстоўвае дынамічную вобласць бачнасці, так што калі вы зробіце зменную х лакальнай для функцыі Р, якая затым выклікае функцыю г, спасылкі на зменную х, зробленых ўнутры г будзе ставіцца да зменнай х, абвешчаных ўнутры е, а не да глабальнай зменнай з імем х ,

Адзіны спецыяльны параметр, чым можа быць мясцовы жыхар `` - «» Стварэнне `` - «» мясцовыя любыя опцыі абалонкі, якія былі зменены з дапамогай каманды набору ўнутры функцыі аднаўляюцца зыходныя значэння, калі функцыя вяртае.

Сінтаксіс каманды вяртання з'яўляецца

вярнуцца [статус_завершения

Ён завяршае дадзены момант функцыю. Зварот ажыццяўляецца ў якасці убудаванай каманды.

Зменныя і параметры

Абалонка падтрымлівае набор параметраў. Параметр, які пазначаецца імем называецца зменнай. Пры запуску, абалонка ператварае ўсё зменныя асяроддзі ў зменныя абалонкі. Новыя зменныя можна задаць, выкарыстоўваючы форму

імя = значэнне

Зменныя, якія ўсталёўваюцца карыстальнікам, павінны мець імя, якое складаецца выключна з alphabetics, колькасці, і падкрэслівае - першы з якіх не павінна быць лікавым. Параметр таксама можа быць пазначаны лічбай ці адмысловым сімвалам, як растлумачана ніжэй.

пазіцыйныя параметры

Пазіцыйны параметр ўяўляе сабой параметр, пазначаны лікам (п> 0). Абалонка ўстанаўлівае гэтыя першапачаткова значэння яе аргументаў каманднага радка, якія вынікаюць імя скрыпту. Набор (1) убудаваны можа таксама выкарыстоўвацца для ўстаноўкі або скіду іх.

спецыяльныя параметры

Спецыяльны параметр з'яўляецца параметр, які пазначаецца адным з наступных спецыяльных знакаў. Значэнне параметру адлюстроўваецца побач з яго характарам.

*

Замяняецца пазіцыйнымі параметрамі, пачынаючы з першага. Калі пашырэнне адбываецца ў падвойных двукоссях радкі яна пашыраецца да аднаго поля са значэннем кожнага параметру , падзеленых першым сімвалам зменнай IFS, або з дапамогай <прабел> , калі МФС не ўстаноўлена.

@

Замяняецца пазіцыйнымі параметрамі, пачынаючы з першага. Калі пашырэнне адбываецца ў падвойных двукоссях, кожны пазіцыйны параметр пашыраецца як асобны аргумент. Калі няма пазіцыйных параметраў, пашырэнне @ генеруе нуль аргументаў, нават калі @ з'яўляецца ў падвойных двукоссях. Тое, што гэта ў асноўным азначае, да прыкладу, калі $ 1 з'яўляецца `` а 'і $ 2 з'яўляецца `` жзи «», то Qq $ @ пашыраецца да двух аргументаў:

АБВ жзи

#

Раскрываецца колькасці пазіцыйных параметраў.

?

Раскрываецца ў статус выхаду самага апошняга трубаправода.

- (злучок) .

Раскрываецца ў бягучыя сцягі опцый (імёны опцый адной літары аб'ядноўваюцца ў радок), як паказана на выкліку, з дапамогай каманды набору ўбудаваных або няяўна абалонкай.

$

Раскрываецца ў ідэнтыфікатар працэсу выкліканага абалонкі. Подоболочка захоўвае тое ж значэнне $ ў якасці аднаго з бацькоў.

!

Раскрываецца ў ідэнтыфікатар працэсу апошніх камандаў фону выканана з бягучай абалонкі. Для трубаправода, працэс ID з'яўляецца тое, што з апошніх камандаў у канвееры.

0 (нуль) .

Раскрываецца ў імя абалонкі або сцэнара абалонкі.

раскладання словы

У дадзеным раздзеле апісаны розныя пашырэння, якія выконваюцца на словах. Не ўсе пашырэння выконваюцца на кожным слове, як апісана ніжэй.

Tilde раскладання, пашырэння параметраў, каманда замены, Арыфметычныя раскладання, а таксама цытаты абсорбцыі, якія адбываюцца ў межах аднаго слова пашырэнне да аднаго полі. Гэта толькі падзел палёў або імёнаў файлаў, якія могуць стварыць некалькі палёў з аднаго слова. Адзінае выключэнне з гэтага правіла з'яўляецца пашырэннем спецыяльнага параметру @ в падвойных двукоссях, як гэта было апісана вышэй.

Парадак раскрыцця слоў з'яўляецца:

  1. Тыльды, параметр пашырэнне, падстаноўка каманд, Арыфметыка пашырэнне (усе яны адбываюцца адначасова).
  2. Поле Расшчапленне выконваецца на палях , спараджальных стадыі (1) , калі зменная IFS не роўная нулю.
  3. Ня Pathname пашырэння (калі набор - е ў сілу).
  4. Quote Removal.

Сімвал $ выкарыстоўваецца для ўвядзення параметраў пашырэння, падстаноўкі каманд, або арыфметычныя вылічэнні.

Тыльды (замяніўшы карыстальнік & # 39; s хатняга каталога)

Слова, якое пачынаецца з некотировочным тыльдай сімвалам (~) падвяргаюць тыльды. Ўсе знакі да касой рысы (/) або канцы слова тлумачацца як імя карыстальніка і замяняюцца на хатнім каталогу карыстальніка. Калі імя карыстальніка адсутнічае (як у ~ / Foobar) тыльда замяняецца на гэтае значэньне HOME (бягучага карыстальніка хатняга каталога).

параметр пашырэння

Фармат для пашырэння параметру выглядае наступным чынам:

дзе выраз складаецца з усіх знакаў аж да ўзгаднення ``} «» Любыя ``} «» замаскіраваная зваротнай касой рысай або ў двукоссях, а таксама сімвалы ва ўбудаваных арыфметычных пашырэньні, падстаноўкі каманд і зменных раскладання, не разглядаюцца ў вызначэнні адпаведнасць ``} ''

Простая форма раскрыцця параметраў з'яўляецца:

Значэнне, калі такія маюцца, параметр замяняецца.

Імя параметру або сімвал можа быць складзена ў дужках, якія не з'яўляюцца абавязковымі для пазіцыйных параметраў з больш чым адной лічбай за выключэннем таго, ці калі параметр варта сімвал, які можа быць інтэрпрэтаваны як частка імя. Калі пашырэнне параметру адбываецца ўнутры падвойных двукоссяў:

  1. пашырэнне Pathname не вырабляецца па выніках пашырэння.
  2. Поле расшчаплення не вырабляецца па выніках пашырэння, за выключэннем @.

Акрамя таго, пашырэнне параметру можа быць зменена з дапамогай аднаго з наступных фарматаў.

Выкарыстанне значэнняў па змаўчанні. Калі параметр не ўстаноўлены або нулявы, пашырэнне слова замяняецца; у адваротным выпадку, значэнне параметру замяняецца.

Прысваенне значэнняў па змаўчанні. Калі параметр не ўстаноўлены або нулявы, раскрыццё словы прысвоенага параметру. Ва ўсіх выпадках, канчатковае значэнне параметру замяняецца. Толькі зменныя, а не пазіцыйныя параметры або спецыяльныя параметры, могуць быць прызначаныя такім чынам.

Пакажыце памылкі, калі Null або адключанае. Калі параметр не ўстаноўлены або нулявы, раскрыццё слова (або паведамленне, якое паказвае, што не зададзена, калі слова прапушчана) запісваецца ў стандартную памылку і выхады абалонкі з ненулявое статусам выхаду. У адваротным выпадку, значэнне параметру замяняецца. Інтэрактыўная абалонка не трэба выйсці.

Выкарыстанне альтэрнатыўных значэнняў. Калі параметр не ўстаноўлены або NULL, NULL замяняецца; у адваротным выпадку раскрыццё словы замененыя.

У раскладанні параметраў, якое паказалі раней, выкарыстанне тоўстай кішкі ў выніках фармату ў цесцю на параметр, які ўсталяваны або нулявы; недагляд вынікаў тоўстай кішкі ў цесцю на параметр, які толькі неўсталяваны.

Даўжыня радка. Даўжыня ў знаках значэння параметру.

Наступныя чатыры разнавіднасці раскрыцця параметраў забяспечвае апрацоўку падрадкоў. У кожным выпадку, супастаўленне з узорам абазначэння (гл Shell Patterns), а не рэгулярныя выразы пазначэнняў, выкарыстоўваецца для ацэнкі мадэляў. Калі параметр * ці @, вынік раскрыцця не вызначаны. Агароджваюць поўную радок пашырэння параметру ў падвойныя двукоссі не выклікае наступныя чатыры гатункі шаблон знакаў у двукоссі, у той час як сімвалы цытавання ў фігурных дужках мае гэты эфект.

Выдаліць Найменшы суфіксаў Pattern. Слова раскрываецца, каб атрымаць шаблон. Пашырэнне параметраў затым прыводзіць да параметры, з найменшай часткай суфікса, якая адпавядае шаблону.

Выдаліць Самы вялікі суфіксаў шаблон. Слова раскрываецца, каб атрымаць шаблон. Пашырэнне параметраў затым прыводзіць да параметры, з найбольшай часткай суфікса, адпаведным шаблонам.

Выдаліць Найменшы прэфікс Pattern. Слова раскрываецца, каб атрымаць шаблон. Пашырэнне параметраў затым прыводзіць да параметры, з найменшай часткай прэфікса, якая адпавядае шаблону.

Выдаліць найбольшы прэфікс Pattern. Слова раскрываецца, каб атрымаць шаблон. Пашырэнне параметраў затым прыводзіць да параметры, з найбольшай часткай прэфікса, адпаведным шаблонам.

падстаноўка каманд

Падстаноўка каманд дазваляе выснову каманды будзе падстаўляецца замест самога імя каманды. Падстаноўка каманды адбываецца, калі каманда складзена наступным чынам:

$ (Каманда)

або Po `` зваротныя двукоссі '' версіі PC:

`command`

Абалонка пашырае падстаноўкі каманд, выканаўшы каманду ў асяроддзі подоболочки і замяняючы падстаноўкі каманд са стандартным вывадам каманды, выдаляючы паслядоўнасці аднаго або больш <пераклад радка> s ў канцы падстаноўкі. (Embedded <пераклад радка> s да канца выходных не выдаляюцца ;. Аднак, падчас расшчаплення поля, яны могуць быць пераведзены на <прабел> з, у залежнасці ад значэння IFS і цытаванне , што, па сутнасці)

арыфметыка Expansion

Арыфметычнае пашырэнне забяспечвае механізм для ацэнкі арыфметычнага выказвання і падстаўляючы яго значэнне. Фармат для пашырэння арыфметычнага выглядаюць наступным чынам:

$ ((Выраз))

Выраз разглядаецца, як калі б яно было ў падвойных двукоссях, за выключэннем таго, што падвойныя двукоссі ўнутры выразы спецыяльна не разглядаюцца. Абалонка пашыраецца ўсё маркеры ў выраз для раскрыцця параметраў, падстаноўкі каманд і выдаленне двукоссяў.

Далей, абалонка разглядае гэта як арыфметычнае выраз і замяняе значэнне выразы.

Прабелы Расшчапленне (поле Расшчапленне)

Пасля раскрыцця параметраў, падстаноўкі каманд і арыфметычнага пашырэння абалонкі скануе вынікі пашырэння і падстаноўкі, якія не сустракаюцца ў падвойных двукоссях для падзелу палёў і некалькіх палёў можа прывесці.

У апрацоўвае кожны знак абалонкі з IFS як падзельнік і выкарыстоўваць падзельнікі для падзелу вынікаў пашырэння параметраў і падстаноўкі каманд у поля.

Pathname пашырэння (File Name Generation)

Калі толькі - е сцягі не ўстаноўлены, то генерацыя імя файла выконваецца пасля таго, як разбіццё слоў завершана. Кожнае слова разглядаецца як серыя мадэляў, падзеленых касой рысай. Працэс пашырэння замяняе слова з імёнамі ўсіх існуючых файлаў, чые імёны могуць быць утвораны шляхам замены кожнага шаблону са радком, якая адпавядае зададзенаму шаблону. Ёсць два абмежаванні на гэта: па-першае, ўзор не можа адпавядаць радку, якая змяшчае касую рысу, і па-другое, ўзор не можа адпавядаць радку, пачынаючы з перыяду, калі першы сімвал шаблону не з'яўляецца перыядам. Наступны раздзел апісвае шаблоны, якія выкарыстоўваюцца для абодвух PathName Пашырэньні і корпуса (1).

мадэлі Shell

Шаблон складаецца са звычайных сімвалаў, якія адпавядаюць сабе, і мэта-знакаў. У мета-знакі ``! «» `` * «» ``? «» І `` [ «» Гэтыя сімвалы губляюць сваё асаблівае значэнне, калі яны пазначаныя. Калі каманда ці падстаноўка зменнай выконваюцца, і знак даляра ці зваротныя двукоссі не з'яўляюцца падвойнымі двукоссямі, значэнне пераменнага або выснова каманды правяраецца на гэтыя сімвалы, і яны ператвараюцца ў мета-сімвалы.

Зорачка ( `` * «») адпавядае любой радку знакаў. Пытальнік адпавядае любому адзінкаваму знаку. Левы кранштэйн ( `` [ «») ўводзіць клас знакаў. Канец класа сімвалаў пазначаецца ( ``] «»), калі ``] «» адсутнічае, то `` [ «» адпавядае `` [ «», а не ўвядзення клас знакаў. Клас сімвалаў адпавядае любому з сімвалаў паміж квадратнымі дужкамі. Дыяпазон знакаў можа быць вызначаны з дапамогай знака мінусу. Клас знакаў можа быць дапоўнены шляхам клічнік першым сімвалам класа знакаў.

Каб уключыць ``] «» ў класе сімвалаў, зрабіць яго першым сімвалам у спісе (пасля ``! «» Калі такія маюцца). Каб уключыць знак мінус, зрабіць яго першым або апошнім сімвалам ў спісе

убудаваныя каманды

У дадзеным раздзеле пералічаны убудаваныя каманды, якія, паколькі яны ўбудаваныя неабходна выканаць некаторыя аперацыі, якія не могуць быць выкананы з дапамогай асобнага працэсу. У дадатку да гэтага, існуе некалькі іншых каманд , якія могуць быць убудаванымі для павышэння эфектыўнасці (напрыклад , рэха - 1).

:

Пустая каманда, якая вяртае 0 (ісціна).

, файл

Каманды ў паказаным файле, счытваюцца і выконваюцца абалонкай.

псеўданім [імя [= радок ...]]

Калі указана імя = радок, абалонка вызначае псеўданім са радком значэння калі паказана толькі імя, значэнне імя псеўданіма будзе надрукавана. Без аргументаў, псеўданім убудаваныя друкуе імёны і значэння ўсіх вызначаных псеўданімаў (гл unalias)

BG [праца] ...

Працягнуць ўказаных заданняў (або бягучага заданні, калі заданні не даюцца) у фонавым рэжыме.

Каманда аргумент каманды ...

Выканайце паказаную убудаваную каманду. (Гэта карысна, калі ў вас ёсць функцыя абалонкі з такім жа імем, як убудаваная каманда.)

CD [каталог]

Пераключыцеся ў названы каталог ( па змаўчанні $ HOME) Калі запіс для CDPATH з'яўляецца ў асяроддзі каманды кд або абалонкі зменнай CDPATH усталёўваецца і імя каталога не пачынаецца з касой рысы, то пошук будзе вырабляцца ў каталогах , пералічаных у CDPATH для названага каталога. Фармат CDPATH такі ж , як і шлях у інтэрактыўнай абалонцы, каманда CD выведзе імя каталога , у якім ён фактычна перайшоў на , калі гэта адрозніваецца ад імя , якое карыстальнік даў. Яны могуць быць рознымі альбо таму , што механізм CDPATH быў выкарыстаны ці таму , што сімвалічная спасылка была перасечаная.

Eval радок ...

Злучыць усе аргументы з прабеламі. Затым паўторна разабраць і выканаць каманду.

Exec [каманда аргумент ...]

Калі каманда не апушчана, працэс абалонкі замяняецца зададзенай праграмай (якая павінна быць рэальная праграма, а не абалонка убудаванай або функцыі). Любыя перапрызначэння на ехесе каманд пазначаныя як пастаянныя, так што яны не адменены , калі EXEC аздабленняў каманды.

Выхад [статус_завершения]

Завяршыць працэс абалонкі. Калі статус_завершения даецца ён выкарыстоўваецца як статус выхаду з абалонкі; у адваротным выпадку выкарыстоўваецца статус выхаду папярэдняй каманды.

экспарт імя ...

экспарт -p

Названыя імёны экспартуюцца так, што яны будуць з'яўляцца ў асяроддзі наступных каманд. Адзіны спосаб не-экспарт пераменны дэзактываваць яго. Абалонкі дазваляе значэнне пераменнага быць устаноўлены ў той жа час ён экспартуецца ў пісьмовай форме

экспарт імя = значэнне

Без аргументаў каманда экспарту пералічвае імёны ўсіх экспартуемых зменных. З - р названага параметрам выхад будзе адфарматаваны адпаведным чынам для неінтерактівного выкарыстання.

Ь [- е рэдактара] [першы [апошні]]

Ь -l [- Н.Р.] [першы [апошні]]

Ь -s [стары = новы] [першы]

ФК убудаваныя спісы або праўкі і паўторна выконвае, каманды раней уведзеныя ў інтэрактыўную абалонку.

-e рэдактар

Выкарыстоўвайце рэдактар ​​з імем, рэдактар ​​для рэдагавання каманд. Радок рэдактара з'яўляецца імем каманды, пры ўмове пошуку з дапамогай зменнай PATH. Значэнне ў зменнай FCEDIT выкарыстоўваецца па змаўчанні , калі - е не пазначана. Калі FCEDIT пустая або ня ўсталяваная, выкарыстоўваецца значэнне зменнай EDITOR. Калі EDITOR пустая або ня ўсталяваная, выд (1) выкарыстоўваецца ў якасці рэдактара.

-l (ELL)

Спіс каманд, а не выклікаць рэдактар ​​на іх. Каманды запісваюцца ў паслядоўнасці , паказанай першымі і апошніх аперанда, так як залежаць ад - г з кожнай камандай папярэднічае нумары каманды.

-n

Здушыць нумары каманд пры пералічэнні з -l.

-r

Зваротны парадак каманд , пералічаных (с - л або адрэдагаваных (ні з - L , ні - с)

-s

Паўторна выканаць каманду без выкліку рэдактара.

першы

апошні

Выберыце каманды ў спіс або рэдагаванне. Лік папярэдніх каманд , якія могуць быць даступныя вызначаецца значэннем зменнай HISTSIZE . Значэнне першага або апошняга або абодва з'яўляюцца адным з наступных спосабаў:

[+] Лік

Станоўчае лік, якое прадстаўляе нумар каманды; нумары каманд могуць быць адлюстраваны с - л варыянт.

-количество

Адмоўнае дзесятковы лік, якое прадстаўляе каманду, якая была выканана лік каманд раней. Напрыклад, -1 непасрэдна папярэдняя каманда.

радок

Радок, якая ўказвае зусім нядаўна ўвайшлі каманду, якая пачынаецца з гэтым радком. Калі стары = новы аперанд таксама не пазначаны с - х радок форма першага аперанда не можа ўтрымліваць убудаваны знак роўнасці.

Наступныя зменныя асяроддзі ўплываюць на выкананне ФХ:

FCEDIT

Імя рэдактара для выкарыстання.

HISTSIZE

Лік папярэдніх каманд, якія даступныя.

фг [праца]

Перамясціць азначанае заданне або бягучае заданне на пярэдні план.

getopts строка_опций вар

У POSIX getopts каманда, не варта блытаць з Bell Labs -derived Getopt (1).

Першы аргумент павінен быць паслядоўнасць літар, кожная з якіх можа быць неабавязкова з наступным двукроп'ем, каб паказаць, што опцыя патрабуе аргумент. Зменная, якая змешчана ўстаноўлена ў разабраным варыянце.

Каманда getopts асуджае старую Getopt (1) карыснасці з - за яго апрацоўкі аргументаў , якія змяшчаюць прабелы.

У getopts можа наканаванымі быць выкарыстаны для атрымання параметраў і іх аргументаў са спісу параметраў. Пры выкліку getopts змяшчае значэнне наступнай опцыі з радка опцый у спісе ў зменнай абалонцы , названай варам і яго індэкс ў зменнай абалонцы OPTIND Калі абалонка запускаецца, OPTIND ініцыялізуецца 1. Для кожнага варыянту , які патрабуе аргумент, то getopts будзе убудаваным змясціць яго ў зменнай абалонцы OPTARG Калі параметр не дапускаюцца ў строка_опциях тады OPTARG будзе зняты з аховай.

строка_опций з'яўляецца радком распазнаюцца літар опцый. Калі ліст з двукроп'ем, варыянт, як чакаецца, мець аргумент, які можа ці не можа быць аддзелены ад яго прабелам. Калі опцыя сімвал не знойдзены там , дзе чакалася, getopts ўсталюе зменную вар да ``? «» Getopts будзе затым адключанае Optarg і запісаць выснова ў стандартны струмень памылак. Паказаўшы двукроп'е ў якасці першага знака строка_опций ўсе памылкі будуць ігнаравацца.

Ненулявое значэнне вяртаецца пры дасягненні апошняга варыянту. Калі не засталося аргументаў, getopts будзе ўсталяваны вар спецыяльнай опцыі `` - «» у адваротным выпадку, ён будзе ўсталяваны вар ў ``? «»

Наступны фрагмент кода паказвае, як можна апрацаваць аргументы каманды, якія могуць прымаць параметры [а] і [б] і варыянт [с], які патрабуе аргумент.

у той час як getopts а: е
рабіць
Выпадак $ е ў
| б) сцяг = $ F ;;
с) CARG = $ OPTARG ;;
\) Рэха $ USAGE; Выхад 1 ;;
ESAC
зроблена
зрух `выраз $ OPTIND - 1`

Гэты код будзе прымаць адно з наступных дзеянняў у якасці эквівалента:

CMD -acarg файл файл
CMD -a -c АГД файла
CMD -carg -a файл файл
CMD -a -carg - Файл

хэш -rv каманду ...

Абалонка падтрымлівае хэш-табліцу, якая запамінае размяшчэнне каманд. Без аргументаў наогул, камандны хэш выводзіць змесціва гэтай табліцы. Запісы , якія не былі якія разглядаюць пасля апошняй каманды кд адзначаны зорачкай; гэта магчыма для гэтых запісаў несапраўднымі.

З аргументамі, каманда хэш выдаляе названыя каманды з хэш - табліцы (калі яны не з'яўляюцца функцыямі) , а затым размяшчае іх. З - V варыянт, хэш друкуе размяшчэнне каманд , як ён знаходзіць іх. Опцыя - г выклікае каманду хэш , каб выдаліць усе запісы ў хэш - табліцы , за выключэннем функцый.

JobID [праца]

Друк працэсу ідэнтыфікатары працэсаў, у працы. Калі аргумент заданне апушчаны, выкарыстоўваецца бягучае заданне.

працы

Гэтая каманда выводзіць усе фонавыя працэсы, якія з'яўляюцца нашчадкамі бягучага працэсу абалонкі.

PWD

Друк бягучага каталога. Убудаваная каманда можа адрознівацца ад праграмы тым жа імем, таму што ўбудаваная каманда памятае, што бягучы каталог, а не паўторна вылічыўшы яго кожны раз. Гэта робіць яго хутчэй. Аднак, калі бягучы каталог перайменаваны, то убудаваная версія PWD будзе працягваць друкаваць старое імя каталога.

прачытаць [- р запрашэнне] [- г] пераменная ...

Радок друкуецца , калі - указана опцыя р і стандартны ўвод з'яўляецца тэрміналам. Затым радок счытваецца з стандартнага ўводу. Завяршальны сімвал новага радка выдаляецца з лініі, і лінія падзяляецца, як апісана ў раздзеле, прысвечаным словы расшчаплення вышэй, і часткі прысвоены пераменным ў парадку. Па меншай меры, адна пераменная павінна быць указана. Калі ёсць больш частак , чым зменных, пакінутыя часткі (разам з персанажамі ў МФС, якія аддзялялі іх) прысвойваюцца апошняй зменнай. Калі ёсць больш зменных, чым кавалкі, астатнія зменныя прысвойваецца пустая радок. Чытання ўбудаваных будуць азначаць поспех , калі EOF не сустракаюцца на ўваходзе, у якім адмова выпадку вяртаюцца.

Па змаўчанні, калі - не паказаная опцыя г, зваротны слеш `` \ «» дзейнічае як экрануе сімвал, у выніку чаго наступны знак , які будзе разглядацца ў літаральным сэнсе. Калі зваротны слэш з наступным перакладам радкі, зваротны слеш і новай радкі будуць выдаленыя.

толькі для чытання імя ...

-p толькі для чытання

Названыя імёны пазначаныя як толькі для чытання, так што яны не могуць быць пасля зменены або знятыя з аховай. Абалонкі дазваляе значэнне пераменнага быць устаноўлены ў той жа час ён адзначаны толькі для чытання з дапамогай запісу

толькі для чытання імя = значэнне

Без аргументаў каманда выводзіць спіс толькі для чытання імёны ўсіх зменных толькі для чытання. З - р названага параметрам выхад будзе адфарматаваны адпаведным чынам для неінтерактівного выкарыстання.

мноства [{- опцыі | + Опцыя | - аргумент ...]

Набор каманд выконвае тры розныя функцыі.

Без аргументаў яна пералічвае значэнні ўсіх зменных абалонкі.

Калі параметры зададзены, ён ўстанаўлівае зададзеныя опцыі сцягоў, або ачышчае іх, як апісана ў раздзеле пад назвай Sx Апрацоўка спісу аргументаў.

Трэцяе выкарыстанне каманды набору з'яўляецца ўстаноўка значэння пазіцыйных параметраў оболочечных ў названых аргументы. Для таго, каб змяніць пазіцыйныя параметры без змянення якіх-небудзь параметраў, выкарыстоўвайце `` - «» ў якасці першага аргументу для ўстаноўкі. Калі няма Аргана няма, набор каманды будуць ачысціць ўсе пазіцыйныя параметры (эквівалентныя выкананняў `` зрух $ # «» .

значэнне зменнай

Прызначае значэнне зменнай. (У агульным выпадку лепш пісаць пераменнае = значэнне , а не з дапамогай SetVar SetVar прызначана для выкарыстання ў функцыях , якія прысвойваюць значэння зменных, імёны якіх перадаюцца ў якасці параметраў.)

Зрух [п]

Зрух пазіцыйных параметраў п раз. Зрух ўсталёўвае значэнне $ 1 да значэння $ 2 значэнне $ 2 у значэнне $ 3 і гэтак далей, памяншаючы значэнне $ # на адзінку. Калі п больш , чым колькасць пазіцыйных параметраў, зрух будзе выдаваць паведамленне пра памылку, і выйсці з вяртаеце 2.

раз

Друк назапашаных карыстацкія і сістэмныя раз для абалонкі і для працэсаў, якія запускаюцца з каманднага радка. Вяртаецца статус 0.

дзеянне пасткі сігнал ...

Прычына абалонкі для сінтаксічнага аналізу і выканання дзеянняў, калі якія-небудзь з названых сігналаў прымаюцца. Сігналы задаюцца нумар сігналу. Калі сігнал роўны 0 , то дзеянне выконваецца пры выхадзе з абалонкі. Дзеянне можа быць нулявым або `` - «» былы выклікае зададзены сігнал , які будзе праігнараваны і апошні выклікае дзеянне па змаўчанні , якія будуць прынятыя. Калі абалонка відэлец прэч ў подоболочках , яна скідае ў пастцы (але не ігнаруецца) сігналы да дзеяння па змаўчанні. Каманда пастка не аказвае ніякага ўплыву на сігналы , якія былі праігнараваныя пры ўваходзе ў абалонку.

увядзіце [імя ...]

Разглядаць кожнае імя як каманду і раздрукаваць дазвол пошуку каманды. Магчымыя рэзалюцыі з'яўляюцца: абалонка ключавых слоў, псеўданім, убудаваная каманды абалонкі , каманда, якая адсочвае псеўданім і не знойдзены. Для псеўданімаў пашырэнне псеўданіма друкуецца; для каманд і адсочваных псеўданімаў поўнага шляху да файла каманды друкуецца.

ULIMIT [- Н -S] [- гэта -tfdscmlpn [значэнне]]

Запыт аб або ўсталяваць жорсткія або мяккія абмежаванні на працэсы або задаць новыя межы. Выбар паміж жорсткім лімітам (што ні адзін працэс не дапускаецца парушаць, і якія не могуць быць паднятыя, калі ён быў паніжаны) і мяккага мяжы (які выклікае працэсы сігналізаваць, але не абавязкова забітыя, і якія могуць быць паднятыя) вырабляецца з гэтыя сьцягі:

-H

ўсталяваць або даведацца аб жорсткіх абмежаваннях

-S

ўсталяваць або запытаць аб мяккіх межах. Калі ні - Н , ні паказаць - S, адлюстроўваецца мяккае абмежаванне або абодва ўсталяваныя межы. Калі пазначаны абодва, апошні выйграе.

Мяжа для допыту ці ўсталяваць, то выбіраецца шляхам ўказанні якой-небудзь адзін з гэтых сцягоў:

-a

паказаць усе бягучыя межы

-t

паказаць ці ўсталяваць абмежаванне на час цэнтральнага працэсара (у секундах)

-f

паказаць ці ўсталяваць абмежаванне на самы вялікі файл, які можа быць створаны (у 512-байтавая блоках)

-d

паказаць ці ўсталяваць абмежаванне на памер сегмента дадзеных працэсу (у кілабайтах)

-s

паказаць ці ўсталяваць абмежаванне на памер стэка працэсу (у кілабайтах)

паказаць ці ўсталяваць абмежаванне на самым вялікім асноўным памеры дампа, які можа быць атрыманы (у 512-байтавая блоках)

-m

паказаць ці ўсталяваць абмежаванне на агульнай фізічнай памяці, якая можа быць у выкарыстанні з дапамогай працэсу (у кілабайтах)

-l

паказаць ці ўсталяваць абмежаванне на колькі памяці працэс можа заблакаваць з MLOCK (2) (у кілабайтах )

-p

паказаць ці ўсталяваць абмежаванне на колькасць працэсаў гэты элемент можа мець у адзін час

-n

паказаць ці ўсталяваць абмежаванне на колькасць файлаў, працэс можа быць адкрыта адразу

Калі ні адзін з іх не пазначана, што гэта абмежаванне на памер файла, які адлюстроўваецца або ўсталяваць. Калі зададзена значэнне, абмежаванне усталёўваецца на гэты нумар; у адваротным выпадку адлюстроўваецца бягучы мяжа.

Межы адвольнага працэсу могуць быць адлюстраваны ці ўсталяваць з дапамогай SYSCTL (8) карыснасці.

Umask [маска]

Ўсталяваць значэнне UMASK (гл Umask (2)) да пазначанага значэння васьмярковай. Калі аргумент апушчаны, тое значэнне Umask друкуецца.

unalias [- а] [імя]

Калі паказана імя, абалонка выдаляе гэты псеўданім. Калі - зададзены, усе псеўданімы будуць выдаленыя.

незаданные імя ...

Названыя зменныя і функцыі прыбіраюцца і неэкспортируемые. Калі зададзенае імя адпавядае як пераменнаму і функцыі, як зменныя і функцыя прыбіраецца.

пачакайце [працу]

Дачакайцеся завяршэння названага заданні запоўніць і вярнуць статус завяршэння апошняга працэсу ў працы. Калі аргумент апушчаны, чакаць усе заданні для завяршэння і вяртанню статусу выхаду нуль.

Рэдагаванне каманднага радка

Калі ш выкарыстоўваюцца ў інтэрактыўным рэжыме з тэрмінала, бягучай каманды і гісторый каманд (гл фальшывага ў Sx ўбудаваных функцый ) можна рэдагаваць з дапамогай ві-рэжыму рэдагавання каманднага радка. Гэты рэжым выкарыстоўвае каманды, апісаныя ніжэй, падобныя на падмноства, якія апісаны на старонцы VI чалавек. Каманда `ўсталяваць» -o VI дазваляе ві-рэжым рэдагавання і месца ш ў рэжыме VI ўстаўкі. Пры ўключаным ві-рэжыме, ш можа перамыкацца паміж рэжымамі ўстаўкі і рэжым каманд. Рэдактар ​​не апісаны ў поўнай меры тут, але будзе ў больш познім дакуменце. Гэта падобна на VI: набраўшы Aq ESC закіне вас у камандны рэжым каманды VI. Націск Aq вяртання ў камандным рэжыме будзе праходзіць лінію да корпуса.

Важна: Выкарыстоўвайце чалавек каманды (%) чалавек , каб паглядзець , як каманда выкарыстоўваецца на вашым канкрэтным кампутары.