Hifadhi ya Linux Amri - Unix Amri

exec - Kuomba subprocess (es)

Sahihi

kutekeleza ? swichi ? hoja ? hoja ... ?

Maelezo

Amri hii inachukua hoja zake kama ufafanuzi wa moja kwa moja au zaidi ya kutekeleza. Mazungumzo huchukua fomu ya bomba la kawaida la shell ambapo kila arg inakuwa neno moja la amri, na amri ya kila tofauti inakuwa subprocess.

Ikiwa hoja za mwanzo za kuanza kuanza na - basi hutendewa kama swichi za mstari wa amri na si sehemu ya vipimo vya bomba. Hifadhi zifuatazo zinasaidiwa kwa sasa:

-Newnewline

Inachukua mstari mpya wa upatikanaji katika pato la bomba. Kwa kawaida lineline mpya inayofuatilia itafutwa.

-

Inaashiria mwisho wa swichi. Majadiliano ifuatayo hii yatachukuliwa kama hoja ya kwanza hata ikiwa inaanza na - .

Ikiwa hoja (au jozi ya arg ) ina moja ya fomu ilivyoelezwa hapo chini na hutumiwa na kutekeleza mtiririko wa pembejeo na pato kati ya subprocess (es). Mazungumzo hayo hayawezi kupitishwa kwa subprocess (es). Katika fomu kama `` < fileName '' failiName inaweza kuwa katika hoja tofauti kutoka `` <'' au katika hoja hiyo isiyo na nafasi ya kuingilia (yaani `` file file '').

|. |

Inagawisha amri tofauti katika bomba. Pato la kawaida la amri iliyotangulia litaelezwa kwenye pembejeo ya kawaida ya amri inayofuata.

| &

Inagawisha amri tofauti katika bomba. Vipimo vyote viwili na kosa la kawaida la amri iliyotangulia itakuwa bomba kwenye pembejeo ya kawaida ya amri inayofuata. Fomu hii ya redirection inazidi fomu kama 2> na> &.

< faili ya faili

Faili iliyoitwa na failiName imefunguliwa na kutumika kama pembejeo ya kawaida kwa amri ya kwanza katika bomba.

<@ failiId

FileId lazima iwe ni kitambulisho cha faili iliyo wazi, kama vile thamani ya kurudi kutoka kwa wito uliopita ili kufungua . Inatumika kama pembejeo ya kawaida kwa amri ya kwanza katika bomba. FileId lazima ifunguliwe ili kusoma.

<< thamani

Thamani hupitishwa kwa amri ya kwanza kama mchango wake wa kawaida.

> Nambari ya faili

Pato la kawaida kutoka kwa amri ya mwisho inaelekezwa kwenye faili iliyoitwa jina la Name , ikichukua yaliyomo yaliyotangulia.

2> fileName

Hitilafu ya kawaida kutoka kwa amri zote kwenye bomba imeelekezwa kwenye faili iliyoitwa jina la Name , ikichukua yaliyomo yaliyotangulia.

> & failiName

Vipande vyote viwili kutoka kwa amri ya mwisho na hitilafu ya kawaida kutoka kwa amri zote hurekebishwa kwenye faili iliyoitwa jina la Name , kuhariri yaliyomo yaliyotangulia.

>> fileName

Pato la kawaida kutoka kwa amri ya mwisho hurejeshwa kwenye faili iliyoitwa faili ya Name , ikitumia kwao badala ya kuiharibu.

2 >> fileName

Hitilafu ya kawaida kutoka kwa amri zote katika bomba imeelekezwa kwenye faili iliyoitwa jina la Name , ikitumia kwao badala ya kuiharibu.

>> & failiName

Vipengele vyote viwili kutoka kwa amri ya mwisho na hitilafu ya kawaida kutoka kwa amri zote hurekebishwa kwenye faili iliyoitwa jina la Name , kuifanya kwa hiyo badala ya kuipiga.

> @ failiId

FileId lazima iwe ni kitambulisho cha faili iliyo wazi, kama vile thamani ya kurudi kutoka kwa wito uliopita ili kufungua . Pato la kawaida kutoka kwa amri ya mwisho inaelekezwa kwenye file ya faili, ambayo lazima ifunguliwe kwa kuandika.

2> @ failiId

FileId lazima iwe ni kitambulisho cha faili iliyo wazi, kama vile thamani ya kurudi kutoka kwa wito uliopita ili kufungua . Hitilafu ya kawaida kutoka kwa amri zote katika bomba imeelekezwa kwenye file ya faili. Faili lazima ifunguliwe ili kuandika.

> & @ failiId

FileId lazima iwe ni kitambulisho cha faili iliyo wazi, kama vile thamani ya kurudi kutoka kwa wito uliopita ili kufungua . Vipengele vyote viwili kutoka kwa amri ya mwisho na hitilafu ya kawaida kutoka kwa amri zote hurekebishwa kwenye file ya faili. Faili lazima ifunguliwe ili kuandika.

Ikiwa pato ya kiwango haijaelekezwa basi amri ya kutekeleza inarudi pato la kawaida kutoka amri ya mwisho katika bomba. Ikiwa amri yoyote katika bomba inatoka kwa kawaida au imeuawa au imesimamishwa, kisha kutekeleza itarudi kosa na ujumbe wa kosa utajumuisha pato la ufuatiliaji ikifuatiwa na ujumbe wa kosa unaoelezea uondoaji usiokuwa wa kawaida; kutofautiana kwa msimbo wa makosa utakuwa na maelezo ya ziada juu ya kukomesha kwa kawaida kushindwa. Ikiwa amri yoyote huandika faili yake ya makosa na kwamba kosa la kawaida halijaelekezwa, kisha kutekeleza itarudi kosa; Ujumbe wa kosa utajumuisha pato la kiwango cha bomba, ikifuatiwa na ujumbe kuhusu uondoaji usiokuwa wa kawaida (ikiwa ipo), ikifuatiwa na pato la kawaida la makosa.

Ikiwa tabia ya mwisho ya matokeo au ujumbe wa hitilafu ni mstari mpya kisha tabia hiyo inafutwa mara kwa mara kutokana na matokeo au ujumbe wa hitilafu. Hii ni sawa na maadili mengine ya kurudi Tcl, ambayo si kawaida kumalizika na vifungu vya habari. Hata hivyo, kama -keepnewline imechapishwa basi lineline ya trailing inachukuliwa.

Ikiwa pembejeo ya kawaida haijaelekezwa kwa `` <'' au `` << '' au `` <@ '' kisha pembejeo ya kawaida ya amri ya kwanza katika bomba inachukuliwa kutoka kwa pembejeo ya kawaida ya maombi.

Ikiwa hoja ya mwisho ni `` & '' kisha bomba itafanywa kwa nyuma. Katika kesi hii amri ya kutekeleza itarejesha orodha ambayo vipengele ni vitambulisho vya utaratibu kwa kila kitu kikubwa katika bomba. Pato la kawaida kutoka kwa amri ya mwisho katika bomba itaenda kwa kiwango cha maombi ya pato ikiwa haijaelekezwa, na pato la pato kutoka kwa amri zote katika bomba litaenda kwenye faili ya makosa ya maombi isipokuwa itaelekezwa.

Neno la kwanza katika kila amri linachukuliwa kama jina la amri; substituted-substitution inafanywa juu yake, na kama matokeo hayajapungua na vichwa vya habari katika mazingira ya PATH ya mazingira hutafutwa kwa kutekelezwa kwa jina lililopewa. Ikiwa jina lina slash basi linapaswa kutaja reta inayoweza kutekelezwa kutoka kwenye saraka ya sasa. Upanuzi wa `` glob '' au mbadala nyingine zinazofanana na shell hufanyika kwenye hoja za amri.

Masuala ya Uwezeshaji

Windows (matoleo yote)

Kusoma kutoka au kuandika kwa tundu, kwa kutumia '` @ fileId ' 'notation, haifanyi kazi. Unaposoma kutoka tundu, programu ya DOS ya 16-bit itabidi na programu ya 32-bit itarudi mara moja na mwisho wa faili. Ikiwa aina yoyote ya programu inaandika kwenye tundu, habari hutumwa kwenye console, ikiwa moja iko, au imeondolewa.

Widget ya Nakala ya console ya Tk haitoi uwezo halisi wa IO. Chini ya Tk, wakati uelekeza kutoka kwenye pembejeo ya kawaida, programu zote zitaona mwisho wa faili; maelezo yaliyoelekezwa kwa pato la kawaida au kosa la kawaida litaondolewa.

Vipande vinavyotangulia au nyuma vinakubaliwa kama watenganishaji wa njia kwa hoja za amri za Tcl. Wakati wa kutekeleza programu, jina la njia inayoelezwa kwa programu inaweza pia kuwa na mstari wa mbele au wa nyuma kama watenganishaji wa njia. Kumbuka, hata hivyo, kwamba maombi mengi ya Windows yanakubali hoja na kusonga mbele mbele tu kama chaguzi za kupakua na kurudi nyuma kwa njia tu. Masuala yoyote ya programu ambayo hufafanua jina la njia na slahes ya mbele haitatumiwa moja kwa moja kwa kutumia tabia ya kurudi nyuma. Ikiwa hoja ina mbele ya kupungua kama separator ya njia, inaweza au inaweza kutambuliwa kama jina la njia, kulingana na programu.

Zaidi ya hayo, wakati wa kupiga simu ya 16-bit DOS au Windows 3.X, majina yote ya njia lazima kutumia muundo mfupi, wa kilio, wa njia (kwa mfano, kwa kutumia `` applba ~ 1.def '' badala ya `` applbakery.default '' ).

Mbili au zaidi mbele au nyuma hupungua mfululizo katika njia inahusu njia ya mtandao. Kwa mfano, sambamba rahisi ya saraka ya mizizi c: / na subdirectory / madirisha / mfumo itazalisha c: // madirisha / mfumo (mbili hupanda pamoja), ambayo inahusu sehemu ya mlima inayoitwa mfumo kwenye mashine inayoitwa madirisha (na c: / inachunguzwa), na si sawa na c: / madirisha / mfumo , ambayo inaelezea saraka kwenye kompyuta ya sasa. Faili ya kujiunga na faili inapaswa kutumiwa kupatanisha vipengele vya njia.

Windows NT

Wakati wa kujaribu kutekeleza programu, fanya utafutaji wa kwanza wa jina kama ilivyoelezwa. Kisha, ili, .com , .exe , na .bat ziongezwe hadi mwisho wa jina maalum na inatafuta jina lingine. Ikiwa jina la saraka halijawekwa maalum kama sehemu ya jina la maombi, vichwa vifuatavyo vinatafsiriwa moja kwa moja kwa utaratibu wakati wa kujaribu kupata programu:

Saraka ambayo Tcl kutekelezwa inaweza kubeba.
Saraka ya sasa.
Nyaraka ya mfumo wa Windows 32-bit ya Windows NT.
Nyaraka ya mfumo wa Windows NT 16-bit.
Nyaraka ya nyumbani ya Windows NT.
Vyombo vya habari vilivyoorodheshwa kwenye njia.

Ili kutekeleza maagizo ya shell shell kama dir na nakala , mpiga simu lazima asubiri '` cmd.exe / c ' 'kwa amri taka.

Windows 95

Wakati wa kujaribu kutekeleza programu, fanya utafutaji wa kwanza wa jina kama ilivyoelezwa. Kisha, ili, .com , .exe , na .bat ziongezwe hadi mwisho wa jina maalum na inatafuta jina lingine. Ikiwa jina la saraka halijawekwa maalum kama sehemu ya jina la maombi, vichwa vifuatavyo vinatafsiriwa moja kwa moja kwa utaratibu wakati wa kujaribu kupata programu:

Saraka ambayo Tcl kutekelezwa inaweza kubeba.
Saraka ya sasa.
Nyaraka ya mfumo wa Windows 95.
Nyaraka ya nyumbani ya Windows 95.
Vyombo vya habari vilivyoorodheshwa kwenye njia.

Ili kutekeleza maagizo ya shell shell kama dir na nakala , mchezaji lazima asubiri `` command.com / c '' kwa amri inayotakiwa.

Mara baada ya programu ya DOS ya 16-bit imesoma pembejeo ya kawaida kutoka kwa console na kisha kuacha, kila baada ya kukimbia maombi ya 16-bit DOS utaona pembejeo ya kawaida kama imefungwa tayari. Maombi ya 32-bit hawana shida hii na itaendesha kwa usahihi, hata baada ya programu ya DOS ya 16-bit inadhani kuwa pembejeo ya kawaida imefungwa. Hakuna kazi inayojulikana kwa mdudu huu kwa wakati huu.

Upungufu kati ya NUL: kifaa na programu ya 16-bit haifanyi kazi. Wakati wa kuelekeza kutoka NUL:, baadhi ya programu zinaweza kutenganishwa , wengine watapata mkondo usio na kipimo cha `` 0x01 '' na, na wengine watapata hatimaye ya mwisho; tabia inaonekana inategemea kitu kilichoandaliwa kwenye programu yenyewe. Wakati wa kuelekeza zaidi ya 4K au hivyo kwa NUL:, baadhi ya programu zitatumika. Matatizo haya hapo juu hayatokea kwa maombi 32-bit.

Programu zote za DOS 16-bit zinaendeshwa kwa usawa. Pembejeo yote ya kiwango kutoka kwenye bomba hadi kwenye programu ya DOS 16-bit inakusanywa kwenye faili ya muda; mwisho mwingine wa bomba lazima imefungwa kabla ya maombi ya 16-bit DOS kuanza kuanza. Pato lolote au kosa kutoka kwa programu ya DOS 16-bit kwa bomba hukusanywa kwenye faili za muda; programu lazima iondoe kabla ya faili za muda zimeelekezwa kwenye hatua inayofuata ya bomba. Hii ni kutokana na kazi ya mdudu wa Windows 95 katika utekelezaji wa mabomba, na ni jinsi kiwango cha Windows 95 DOS shell kinavyoendesha mabomba yenyewe.

Baadhi ya programu, kama vile command.com , haipaswi kutekelezwa kwa njia interactively. Maombi ambayo hupata dirisha la console moja kwa moja, badala ya kusoma kutoka kwa pembejeo yao ya kawaida na kuandika kwa pato zao za kawaida zinaweza kushindwa, hutegemea Tcl, au hata hutegemea mfumo ikiwa dirisha lao la kibinafsi la console haipatikani.

Macintosh

Amri ya kutekeleza haijatekelezwa na haipo chini ya Macintosh.

Unix

Amri ya kutekeleza ni kazi kikamilifu na inafanya kazi kama ilivyoelezwa.

Angalia pia

kosa (n), kufungua (n)

Maneno

kutekeleza, bomba, redirection, subprocess

Muhimu: Tumia amri ya mtu ( % mtu ) ili kuona jinsi amri hutumiwa kwenye kompyuta yako fulani.