Екец - Линук Цомманд - Уник наредба

екец - Позови подпроцес (и)

Синопсис

екец ? прекидачи ? арг ? арг ... ?

Опис

Ова наредба третира своје аргументе као спецификацију једног или више подпроцеса за извршавање. Аргументи имају облик стандардне линије цеви, где сваки арг постаје једна реч команде, а свака посебна команда постаје подпроцес.

Ако поцињу поцетни аргументи за екец - тада се третирају као прекидаци за командну линију и нису део спецификације гасовода. Тренутно подржани следећи прекидачи:

-кеепневлине

Задржава нову линију на излазу из цевовода. Нормално ће бити избрисана нова линија.

-

Означава крај прекидача. Аргумент који следи овај ће бити третиран као први аргумент, чак и ако почиње са - .

Ако арг (или пар аргова ) има један од облика описаних испод, онда га користи екец за контролу протока улаза и излаза између подпроцеса (ес). Такви аргументи неће бити прослеђени подпроцесу. У облацима као што су `` < филеНаме '' филеНаме може бити у посебном аргументу од `` <'' или у истом аргументу без интервеног простора (тј. `` < ФилеНаме '').

|

Одваја различите команде у цјевоводу. Стандардни излаз претходне команде ће се прикључити на стандардни улаз следеће наредбе.

| &

Одваја различите команде у цјевоводу. И стандардни излаз и стандардна грешка претходне команде ће се прикључити на стандардни улаз следеће наредбе. Овај облик преусмеравања преклапа облике као што су 2> и> &.

< филеНаме

Датотека названа би филеНаме се отвара и користи као стандардни улаз за прву команду у плиноводу.

<@ филеИд

ФилеИд мора бити идентификатор за отворену датотеку, као што је повратна вредност из претходног позива за отварање . Користи се као стандардни улаз за прву команду у плиноводу. ФилеИд мора бити отворен за читање.

<< вредност

Вредност се преноси на прву наредбу као стандардни унос.

> филеНаме

Стандардни излаз из последње команде се преусмерава на датотеку под именом филеНаме , преписујући свој претходни садржај.

2> филеНаме

Стандардна грешка из свих команди у плиноводу се преусмерава на датотеку под називом филеНаме , која преписује свој претходни садржај.

> & филеНаме

Оба стандардна излаза из последње команде и стандардна грешка из свих команди су преусмерени на датотеку под називом филеНаме , преписујући свој претходни садржај.

>> филеНаме

Стандардни излаз из последње команде се преусмерава на датотеку под називом филеНаме , додајући га умјесто преписивања.

2 >> филеНаме

Стандардна грешка из свих команди у плиноводу се преусмерава у датотеку под именом филеНаме , додајући га умјесто преписивања.

>> & филеНаме

Оба стандардна излаза из последње команде и стандардна грешка из свих команди су преусмерени на датотеку под именом филеНаме , додајући њој умјесто преписивања.

> @ филеИд

ФилеИд мора бити идентификатор за отворену датотеку, као што је повратна вредност из претходног позива за отварање . Стандардни излаз из последње команде се преусмерава на датотеку филеИд , која мора бити отворена за писање.

2> @ филеИд

ФилеИд мора бити идентификатор за отворену датотеку, као што је повратна вредност из претходног позива за отварање . Стандардна грешка из свих команди у плиноводу се преусмерава на датотеку филеИд . Датотека мора бити отворена за писање.

> & @ филеИд

ФилеИд мора бити идентификатор за отворену датотеку, као што је повратна вредност из претходног позива за отварање . Оба стандардна излаза из последње команде и стандардна грешка из свих команди су преусмерени на филеИд датотеку. Датотека мора бити отворена за писање.

Ако стандардни излаз није преусмерен онда команда екец враћа стандардни излаз из последње команде у цевоводу. Ако било која команда у изводу излази необично или је убијена или суспендована, онда ће екец вратити грешку и порука о грешци ће укључити излаз цевовода праћене порукама о грешци које описују абнормалне закључке; варијабла грешка ће садржати додатне информације о последњем абнормалном прекиду. Ако било која команда пише у своју стандардну датотеку грешака и та стандардна грешка није преусмерена, онда ће екец вратити грешку; порука о грешци ће укључити стандардни излаз плиновода, а затим слиједи поруке о абнормалним завршеткама (ако их има), а затим стандардни излаз грешке.

Ако је последњи карактер резултата или поруке о грешци нова линија, тај знак се обично брише из резултата или поруке о грешци. Ово је у складу са другим Тцл повратним вриједностима, које се обично не завршавају са новим линијама. Међутим, ако је специфицирана -нев линија , задња линија је задржана.

Ако стандардни унос није преусмерен са `` <'' или `` << '' или `` <@ '', онда је стандардни улаз за прву команду у плиноводу узет из тренутног стандардног улаза апликације.

Ако је последњи аргумент `` & '' онда ће се гасовод извршити у позадини. У том случају наредба екец враћа листу чији су елементи идентификатори процеса за све подпроцесе у плиноводу. Стандардни излаз из последње команде у плиноводу ће се пребацити на стандардни излаз апликације, ако није преусмерен, а излазне грешке из свих команди у цјевоводу ће се прећи у стандардну датотеку грешке апликације, осим ако се не преусмјери.

Прва реч у свакој команди узима се као име команде; замјена тилде се врши на њој, а ако резултат не садржи косе, онда ће директоријуми у окружењу ПАТХ окружење тражити извршну датотеку по датом имену. Ако име садржи косу тачку, онда се мора позивати на извршну датотеку која се може добити од тренутног директоријума. Није извршено никакво "ширење" или друге замене које су на слици, на аргументима за наредбе.

Питања преноса

Виндовс (све верзије)

Читање или писање у сокет, користећи `` @ филеИд '' нотацију, не функционише. Када читате из утичнице, 16-битна ДОС апликација ће висити и 32-битна апликација ће се одмах вратити са крајњим фајлом. Када било који тип апликације пише у сокет, информације се уместо тога шаљу на конзолу, ако је присутна или је одбачена.

Тк видгет за текст конзоле Тк не пружа стварне стандардне ИО могућности. Под Тк, када се преусмерава са стандардног уноса, све апликације ће видети тренутни крај датотеке; информације преусмерене на стандардни излаз или стандардну грешку биће одбачене.

Било да се шаљу напред или назад, прихваћени су као сепаратори путања за аргументе Тцл наредбама. Када извршавате апликацију, назив путања који је наведен за апликацију може такође садржати кретање напред или назад као сепаратор путање. Међутим, имајте на уму да већина Виндовс апликација прихвата аргументе са прослеђивањем сличица само као раздјелнике опције и курзиву само у стазама. Сваки аргумент за апликацију која наводи име стазе са кретањима прослеђивања неће се аутоматски претварати да би користио знак за обрнуто. Ако један аргумент садржи слијепе кретања као сепаратор путање, то може или не мора бити препознато као име стазе, у зависности од програма.

Поред тога, када позивате 16-битну ДОС или Виндовс 3.Кс апликацију, сва имена стаза морају користити кратки, шифрирани формат (нпр., Користећи `апплба ~ 1.деф '' умјесто` апплбакери.дефаулт '' ).

Две или више сломова напред или назад у низу на путу односе се на мрежни пут. На пример, једноставно повезивање коријенског директоријума ц: / са поддиректоријумом / виндовс / системом ће дати ц: // виндовс / систем (две сласхес тогетхер), што се односи на тачку монтирања која се зове систем на машини звана Виндовсц: / се занемарује) и није еквивалентан ц: / виндовс / систему , који описује директориј на тренутном рачунару. Команду придруживања датотеке треба користити за повезивање компоненти путање.

Виндовс НТ

Када покушавате да извршите апликацију, екец прво тражи име како је наведено. Затим, у поредак, .цом , .еке и .бат се додају на крај наведеног имена и тражи дуже име. Ако име именика није назначено као део имена апликације, следећи директоријуми се аутоматски претражују у редоследу покушаја лоцирања апликације:

Директоријум из кога је изведена Тцл извршна датотека.
Тренутни директоријум.
Виндовс НТ 32-битни системски директориј.
Виндовс НТ 16-битни системски директоријум.
Виндовс НТ хоме директоријум.
Директоријуми наведени на путањи.

Да би извршио схелл-ове наредбе попут дир и копирања , позиваоц мора да прикаже `` цмд.еке / ц '' у жељену команду.

Виндовс 95

Када покушавате да извршите апликацију, екец прво тражи име како је наведено. Затим, у поредак, .цом , .еке и .бат се додају на крај наведеног имена и тражи дуже име. Ако име именика није назначено као део имена апликације, следећи директоријуми се аутоматски претражују у редоследу покушаја лоцирања апликације:

Директоријум из кога је изведена Тцл извршна датотека.
Тренутни директоријум.
Системски систем Виндовс 95.
Виндовс 95 хоме директоријум.
Директоријуми наведени на путањи.

Да би извршио команде направљене у схелл-у као што су дир и копирање , позиваоца мора препоручити `` цомманд.цом / ц '' у жељену команду.

Када 16-битна ДОС апликација има стандардни унос са конзоле и онда одустане, све накнадно покретање 16-битних ДОС апликација ће видети стандардни улаз који је већ затворен. 32-битне апликације немају овај проблем и правилно ће се покренути, чак и након што 16-битни ДОС апликација мисли да је стандардни улаз затворен. У овом тренутку не постоји познато решење за ову грешку.

Преусмеравање између НУЛ: уређаја и 16-битне апликације не функционише увек. Када преусмеравају из НУЛ: неке апликације могу да вису, друге ће добити бесконачан ток `` 0к01 '' бајтова, а неки ће заправо исправно добити тренутни крај датотеке; чини се да понашање овиси о нечему што је састављено у самој апликацији. Када преусмјерите више од 4К или тако даље на НУЛ:, неке апликације ће висити. Горе наведени проблеми се не дешавају са 32-битним апликацијама.

Све ДОС 16-битне апликације се покрећу синхроно. Сви стандардни улази из цеви у 16-битну ДОС апликацију прикупљају се у привременом фајлу; други крај цеви мора бити затворен пре него што 16-битна ДОС апликација почне да се извршава. Сви стандардни излази или грешке из 16-битне ДОС апликације на цев се сакупљају у привремене датотеке; апликација мора да се прекине пре него што се привремени фајлови преусмеравају на следећу фазу гасовода. Ово је због решења за Виндовс 95 буг у имплементацији цеви, и како је стандардна Виндовс 95 ДОС лука обрађивала саме цијеви.

Неке апликације, као што је цомманд.цом , не би требало интерактивно извршавати. Апликације које директно приступају прозору конзоле, а не читање са њиховог стандардног уноса и писања на њихов стандардни излаз, могу пропасти, објесити Тцл или чак објесити систем ако њихов прозор за приватне конзоле није доступан.

Мацинтосх

Команда екец није имплементирана и не постоји под Мацинтосх-ом.

Уник

Команда екец је потпуно функционална и ради на начин описан.

Такође видети

грешка (н), отворена (н)

Кључне речи

извршавање, цјевовод, преусмеравање, подпроцес

Важно: Користите команду човјека ( % човјек ) да бисте видели како се на вашем рачунару користи команда.