Lamulo / Lamulo la Unix Lindikirani

Yembekezani ndi pulogalamu yomwe imayankhula ndi mapulogalamu ena ovomerezeka mogwirizana ndi script. Potsata ndondomekoyi, Yembekezani amadziwa zomwe angaganizire kuchokera pulogalamu ndi momwe yankho lolondola liyenera kukhalira. Chilankhulo chomasuliridwa chimapereka nthambi ndi mipingo yapamwamba yolamulira kuti atsogolere kukambirana. Kuphatikiza apo, wogwiritsa ntchito akhoza kuthana ndi kuyanjana mwachindunji pamene akufunayo, pambuyo pake kubwezeretsa ku script.

Yembekezerani ndi chisakanizo cha kuyembekezera ndi Tk. Zimakhalira ngati Chiyembekezo ndi Tk. Yembekezerani ingagwiritsidwe ntchito mwachindunji ku C kapena C ++ popanda Tcl.

Dzina "Yembekezerani" limachokera ku lingaliro la kutumiza / kuyembekezera zochitika zomwe zimawonekera ndi uucp, kermit ndi mapulogalamu ena oyang'anira ma modem. Komabe mosiyana ndi uucp, Yembekezani ndizachibadwa kotero kuti ikhoza kuthamanga ngati lamulo lamasewera ndi pulogalamu iliyonse ndi ntchito mu malingaliro. Yembekezani mukhoza kulankhula ndi mapulogalamu angapo panthawi yomweyo.

Zimene Mungachite

Mwachitsanzo, apa pali zinthu zina zomwe akuyembekezeredwa kuchita:

Pali zifukwa zosiyanasiyana zomwe zimapangitsa kuti zipolopolozi zisagwire ntchitozi. Zonse ndi zotheka ndi kuyembekezera.

Kawirikawiri, Yembekezani ndiwothandiza pulogalamu iliyonse yomwe imafuna kugwirizana pakati pa pulogalamuyo ndi wogwiritsa ntchito. Zonse zomwe ziri zofunikira ndikuti kuyanjana kumatha kudziwika pulogalamu. Yembekezerani akhoza kubwezeretsa mphamvu kwa wogwiritsa ntchito popanda kuletsa pulogalamuyi. Mofananamo, wogwiritsa ntchito akhoza kubwezeretsa ku script nthawi iliyonse.

Ntchito

Yembekezerani masentimita cmd kwa mndandanda wa malamulo omwe mungachite. Yembekezani akhoza kuyitanitsidwa mwatsatanetsatane pa machitidwe omwe amathandiza #! ndondomeko polemba script kuti ndiyotheka ndikupanga mzere woyamba mu script:

#! / usr / loco / bin / ndikuyembekezera -f

Inde, njirayo iyenera kufotokoza molondola kumene imayembekeza moyo. / usr / loco / bin ndi chitsanzo chabe.

The -c flag imayambitsa lamulo loti lichitidwe asanayambe kulemba. Lamulo liyenera kutchulidwa kuti lisatengedwe ndi chipolopolo. Njirayi ingagwiritsidwe ntchito nthawi zambiri. Malamulo ambiri angapangidwe ndi limodzi -c powasiyanitsa ndi semicolons. Malamulo akuphedwa mu dongosolo lomwe amawonekera. Pogwiritsira ntchito Expectk, njirayi imatchulidwa monga_ndipo.

The_dankhulo imapangitsa chidziwitso china, zomwe makamaka zimalongosola zochitika mkati mwa malamulo monga kuyembekezera ndi kugwirizana. Benderali liri ndi zotsatira zofanana ndi "exp_internal 1" kumayambiriro kwa kuyembekezera script, kuphatikizanso ndondomeko ya kuyembekezera.

Bendera la_D limapatsa munthu wogwiritsa ntchito njira yoyenera. Mtengo wofunika uyenera kutsatira. Wogwiritsa ntchito pulogalamuyo amatha kuyendetsa patsogolo njira yotsatira ya Tcl ngati mtengo ulibe zero kapena ngati ^ C ikugwedezeka kapena kupuma kwadutsa, kapena lamulo lina loyenera lopangidwira likupezeka mulemba. Mukamagwiritsa ntchito Expectk, njirayi imatchulidwa monga - Kutulutsidwa.

M-fani imayambanso fayilo yomwe mungawerenge malamulo. Mbendera yokha ndi yokhayokha pamene imangothandiza pokhapokha mutagwiritsa ntchito #! ndemanga, kotero kuti zifukwa zina zingaperekedwe pa mzere wa lamulo. Mukamagwiritsa ntchito Expectk, njirayi imatchulidwa monga -file.

Mwachindunji, fayilo la lamulo likuwerengedwera kukumbukira ndi kuchitidwa kwathunthu. Nthawi zina ndi zofunika kuwerenga fayilo mzere umodzi pa nthawi. Pofuna kukakamiza mafayilo osankhidwa kuti agwiritsidwe ntchito motere, gwiritsani ntchito -b bendera. Pogwiritsira ntchito Expectk, njirayi imatchulidwa monga -yipa.

Ngati chingwe "-" chimaperekedwa monga fayilo, fomu yowonjezera imawerengedwa m'malo mwake. Gwiritsani ntchito "./-" kuti muwerenge kuchokera pa fayilo yotchedwa "-".

I_i bendera imayambitsa kuyembekezera kuti muzipititsa patsogolo malamulo m'malo mwa kuziwerenga pa fayilo. Kupititsa patsogolo kumatsirizika kudzera mu lamulo lakutuluka kapena pa EOF. I_i bendera imaganiziridwa ngati palibe fayilo ya lamulo kapena -g ikugwiritsidwa ntchito. Mukamagwiritsa ntchito Expectk, njirayi imatchulidwa ngati-yosasinthika.

- angagwiritsidwe ntchito kuthetsa mapeto a zosankhazo. Izi ndi zothandiza ngati mukufuna kufotokoza ndondomeko-monga kutsutsana ku script yanu popanda kutanthauzira ndi kuyembekezera. Izi zingagwiritsidwe bwino mwa #! mzere kuteteza kutanthauzira kulikonse kwa mbendera ndi kuyembekezera. Mwachitsanzo, zotsatirazi zidzasiya ziganizo zoyambirira kuphatikizapo dzina la script muzoyikira zosinthika.

#! / usr / loc / bin / kuyembekezera -

Dziwani kuti misonkhano yowonjezera (3) ndi yowonetsera (2) iyenera kuwonetsedwa powonjezerapo zifukwa za #! mzere.

Fayilo $ exp_library / expect.rc imasungidwa mwachangu ngati ilipo, pokhapokha_njendera ikugwiritsidwa ntchito. (Pogwiritsa ntchito Expectk, njirayi imatchulidwa monga -NORC.) Mwamsanga pambuyo pake, fayilo ~ / .expect.rc imasulidwa mosavuta, pokhapokha_njomba ikugwiritsidwa ntchito. Ngati chilengedwe chosasinthika DOTDIR chikutanthauzidwa, chimatengedwa monga bukhu ndi .expect.rc imawerengedwa kuchokera pamenepo. Mukamagwiritsa ntchito Expectk, njirayi imayankhulidwa monga -norc. Kusaka uku kumachitika pokhapokha atachita chilichonse -c mbendera.

-sachititsa kuyembekezera kuti muzisindikiza nambala yake yopezeramo ndi kutuluka. Mbendera yoyenera mu Expectk, yomwe imagwiritsa ntchito mayina autali, ndi -version.

Zosankha zokhazokha zimapangidwira mndandanda ndikusungidwa mu variable wotchedwa argv ndi. argc ayambitsidwa kwa kutalika kwa argv.

Argv0 ikutchulidwa kuti ndi dzina la script kapena labina ngati palibe script yogwiritsidwa ntchito. Mwachitsanzo, zotsatirazi zikulemba dzina la script ndi zifukwa zitatu zoyambirira:

send_user "$ argv0 [lrange $ argv 0 2] \ n"

Malamulo

Yembekezerani kugwiritsa ntchito Chiyankhulo Chogwiritsa Ntchito Chida. Tcl imapereka kayendedwe ka kayendetsedwe kake (ngati, chifukwa, kuswa), kufotokoza mawu ndi zina zambiri monga ndondomeko yowonongeka. Malamulo omwe amagwiritsidwa ntchito pano koma osatanthauzidwa (set, ngati, exec) ndi ma TCl. Yembekezani kumawathandiza malamulo ena. Kupatula ngati tafotokozedwa mwatsatanetsatane, malamulo amabwezera chingwe chopanda kanthu.

Malamulo amalembedwa mwachidule kuti apite mwamsanga. Komabe, ogwiritsa ntchito atsopano angapeze kosavuta kuyamba ndi kuwerenga zolemba za spawn, kutumiza, kuyembekezera, ndi kuyanjana, mu dongosolo.

pafupi [-lava] [-onexec 0 | 1] [-i spawn_id]

imatseketsa kugwirizana kwa ndondomeko yamakono. Mapulogalamu ambiri othandizira adzazindikira EOF pa stdin ndi kutuluka; motero nthawi zambiri amakhala okwanira kupha njirayo . I_i bendera imalongosola ndondomeko kuti yitseke yofanana ndi dzina lake spawn_id.

Onsewo amayembekeza ndikugwirizanitsa adzazindikira pamene ndondomeko yamakono ikuchoka ndikugwira mwatcheru, koma ngati mupha njirayo , nenani, "kupha $ pid", mukuyenera kuyitana pafupi .

Mndandanda wa -exec umasankha ngati id idakatsegulidwa muzinthu zatsopano zomwe zakhazikitsidwa kapena ngati ndondomekoyi yophimbidwa. Pofuna kutsegula, gwiritsani ntchito mtengo 0. Chinthu chopanda zero chokhala ndi chiwerengero chazitsulo chimachititsa kuti zitsulo zitsekedwe muzinthu zatsopano.

Mbendera ya-alave imatseka kapolo wogwirizanitsidwa ndi id ya spa. Pamene mgwirizano watsekedwa, kapoloyo amatsekedwa komanso akadatseguka.

Ziribe kanthu kuti mgwirizano watsekedwa mwatsatanetsatane kapena mwachindunji, muyenera kuitana kuyembekezera kuti muwononge ndondomeko yoyendetsera kernel. Lamulo lakutseka silitchula kuyembekezera popeza palibe chitsimikiziro chakuti kutseka chisankhulidwecho chidzachititse kuti chichoke.

debug [[-now] 0 | 1]

imayendetsa tcl debugger kukulolani kuti muthe kudutsa mawu ndi kukhazikitsa zopuma.

Popanda kutsutsana, 1 imabwezedwa ngati wogwiritsira ntchito sakugwira ntchito, mwinamwake 0 akubwezedwa.

Ndi ndemanga 1, debugger iliyambitsidwa. Ndi ndemanga 0, debugger yayimitsidwa. Ngati ndemanga 1 yatsogoleredwa ndi -rejezani, wogwiritsira ntchito ayambitsidwa nthawi yomweyo. Kupanda kutero, debugger imayamba ndi chiganizo chotsatira cha Tcl.

Lamulo lakutsegula silisinthe misampha iliyonse. Yerekezerani ichi kuti muyambe kuyembekezerani ndi mbendera -D.

Lamulo lochotsamo limagwirizanitsa ndondomeko yoyimitsidwa kuchokera ku terminal . Ikupitiliza kuthamanga kumbuyo. Ndondomekoyi imapatsidwa gulu lokha. I / O yachiwiri imatulutsidwa ku / dev / null .

Chidutswa chotsatirachi chimagwiritsa ntchito kugwirizana kuti kupitilize kuyendetsa script kumbuyo.

ngati [fork] = 0} tulukani. . .

Script yotsatirayi iwerenga mawu achinsinsi ndipo imayendetsa pulogalamu ma ora onse omwe amafunsira mawu achinsinsi nthawi iliyonse ikatha. Script amapereka neno lothandizira kuti muyambe kulijambula kamodzi.

kutumiza "chinsinsi" \ "kuyembekezera" "(. *) \ n" kwa {} 1 {} {ngati {for} = {} kugona 3600; pitirizani} kuchotsa spawn priv_prog kuyembekezera Pulogalamu yachinsinsi: kutumiza "$ expect_out ( 1, chingwe) \ r ". . . Potulukira }

Ubwino wogwiritsira ntchito kugwiritsidwa ntchito pa chigwirizano monga njira yowonjezera (&) ndikuti kuyembekezera kungasunge magawo otsegulira musanayambe kutsekedwa ndikukugwiritsanso ntchito ptys yatsopano. Ndi &, Yembekezerani alibe mwayi wowerengera magawo a maselowo kuyambira pamene sitimayi yayamba kale kutayika ndi nthawi Yomwe ikuyembekezera kulandira ulamuliro.

tulukani [-opts] [chikhalidwe]

zimayambitsa kuyembekezera kuti achoke kapena kukonzekera kuti achite zimenezo.

Mndandanda wa_malogalamu amachititsa mtsutso wotsatira kuti ugwiritsidwe ntchito ngati womulandila wotuluka. Popanda kutsutsana, wogwira ntchito wamtundu wamakono akubwezeretsedwa.

Mbendera yowonjezera imayambitsa kuyembekezera kuti ikonzekere kuchoka koma ikani kuchepetsa kubwezeretsa kubwezeretsedwe kachitidwe kachitidwe. Wogwiritsira ntchito wotulutsika wotsegula akuthamanga komanso akuyembekezerani eni ake ogwiritsira ntchito mkati. Musapitirizebe kuyembekezera kuti malamulo ayenera kuchitidwa. Izi ndi zothandiza ngati mukuyang'anira kuyembekezera ndi zowonjezera za Tcl. Wowanthauzira wamakono (ndiwindo lamwambamwamba ngati chikhalidwe cha Tk) amakhalabe kotero kuti zowonjezera zina za Tcl zikhoza kuyeretsa. Ngati Muyembekezere kuchoka kumatchedwanso (ngakhale izi zingachitike), ogwira ntchito sakubwezeretsanso.

Atatulukamo, kugwirizana konse kwa njira zotsekedwa kumatsekedwa. Kutsekedwa kudzawoneka ngati EOF mwa njira zomwe zinakhazikitsidwa. Kuchokera sikungapange zochitika zina kuposa zomwe zimachitika mwachizolowezi (2). Choncho, njira zomwe siziyendera EOF zingapitirize kuthamanga. (Zochitika zosiyanasiyana ndizofunikira kudziwitsa, mwachitsanzo, zomwe zimasonyeza kuti pulojekitiyi idzatumizidwa, koma izi ndizodalira, zomwe zimatchulidwa podutsa (3).) Njira zomwe zikupitiliza kuthamanga zidzakhala zochokera kwa init.

udindo (kapena 0 ngati sukufotokozedwa) wabwezeretsedwa ngati chiwonongeko cha kuyembekezera . kuchoka kumaperekedwa mwachindunji ngati mapeto a script akufikira.

exp_continue [-continue_timer]
Lamulo ex_kuloleza limalola kuti likhale lokha kupitiliza kuchita m'malo mobwezera monga momwe liyenera kukhalira. Mwachikhazikitso exp_chotsanso resets nthawi timer. Mbendera ya -continue_timer imalepheretsa timer kuti iyambirenso. (Onetsetsani kuti mudziwe zambiri.)

exp_kunja [-f file] mtengo
imayambitsa malamulo ena kuti atumize uthenga wothandizira mkati kuti Muyembekezere kuti stderr ngati mtengo ulibe zero. Zotsatirazi zikulephereka ngati mtengo ulipo 0. Zomwe akudziwitsa zimaphatikizapo khalidwe lirilonse lovomerezedwa, ndi kuyesayesa kulikonse kumene kumapangidwira kuti zifanane ndi zotsatira zomwe zikuchitika motsatira ndondomekoyi.

Ngati fayilo yodzifunira imaperekedwa, zonse zomwe zimachitika komanso kugwiritsira ntchito malingaliro amalembedwa kwa fayilo (mosasamala mtengo wa mtengo ). Zomwe zilipo kale zopezera fayilo yotsekedwa imatsekedwa.

Khola la_kapena limapangitsa kuti_kuti asabwereze kufotokozera zamndandanda zatsopano zomwe sizinapangidwe.

exp_open [zigawenga] [-i spawn_id]
amabwezeretsa chizindikiro cha fayilo ya Tcl chomwe chikugwirizana ndi chiyambi chodziwika bwino. Chizindikiro cha fayilo chingagwiritsidwe ntchito ngati kuti chinatsegulidwa ndi lamulo la Tcl lotseguka . (Awa sakuyenera kugwiritsidwa ntchito. Kudikirira sikuyenera kuchitidwa.

Mbendera ya -leaveopen imasiya mpata kuti upeze mwayi kudzera muyembekezere malamulo. Kudikirira kuyenera kuchitidwa pa id.

exp_pid [-i spawn_id]
amabwezeretsa ndondomeko yoyenera yomwe ikugwirizana ndi ndondomeko yomwe yapangidwira. Ngati_bendera likugwiritsidwa ntchito, pid yobwereranso ikufanana ndi zomwe zidaperekedwa ku id.

exp_send
ndizophatikizapo kutumiza .

exp_send_error
ndi amodzi a kutumiza_mavuto .

exp_send_log
ndizowonjezera kutumiza_log .

exp_send_tty
ali alias for send_tty .

exp_send_user
ndizogwirizana ndi kutumiza mthunzi .

exp_version [[exit] version]
Ndiwothandiza poonetsetsa kuti script ikugwirizana ndi momwe mukuyembekezera.

Popanda kutsutsana, mawonekedwe a tsopano akuyembekezeredwa akubwezedwa. Tsamba ili likhoza kulembedwa mu script yanu. Ngati mumadziwa kuti simukugwiritsa ntchito zida zaposachedwapa, mungathe kufotokozera zayambirira.

Mavesi ali ndi manambala atatu olekanitsidwa ndi madontho. Choyamba ndi nambala yaikulu. Malemba olembedwa pa malemba a Yembekezera ndi nambala yaikulu yosiyana sichigwira ntchito. exp_version imabweretsanso vuto ngati ziwerengero zazikulu sizikugwirizana.

Chachiwiri ndi nambala yaing'ono. Malemba olembedwa kuti awonetseke ndi mavesi ang'onoang'ono kuposa momwe angagwiritsire ntchito tsopano angadalire mbali yatsopano ndipo sangathe kuthamanga. exp_version imabweretsanso zolakwika ngati nambala zikuluzikulu zimagwirizana, koma nambala yaying'ono yaying'ono yoposa imene ikuyembekezera .

Chachitatu ndi chiwerengero chomwe sichimatengera mbali yofananako. Komabe, zikuwonjezeka pamene akuyembekeza kusindikiza kwa pulogalamu kumasintha mwanjira iliyonse, monga malemba ena kapena kukhathamiritsa. Ikonzedwanso ku 0 pachinayi chatsopano chaching'ono.

Ndi ndondomeko- yowonjezerani , Yembekezerani kuti musinthe zolakwika ndi kutulukamo ngati ndondomekoyi isanathe.

kuyembekezera [[-opts] pat1 body1] ... [-opts] patn [bodyn]
amadikirira mpaka imodzi mwa zofananazo zikugwirizana ndi zotsatira zochitika, nthawi inayake yapitirira, kapena mapeto a fayilo akuwoneka. Ngati thupi lomaliza liribe kanthu, likhoza kusiya.

Zitsanzo kuchokera posachedwa kuyembekezera_pamene lamulo lisagwiritsidwe ntchito mosagwiritsa ntchito njira zina zilizonse. Zitsanzo kuchokera ku lamulo laposachedwa_momwe mwayembekezera posachedwa limagwiritsidwa ntchito mosagwiritsa ntchito njira zina.

Ngati zotsutsana ndi mawu onse oyembekeza amafuna zowonjezera mzere, zifukwa zonse zingakhale "zomangirira" m'modzi kuti asamathetse mzere uliwonse ndi kubwerera mmbuyo. Pachifukwa ichi, zizoloŵezi za Tcl zowonjezereka zidzachitika ngakhale kuti zipolopolozo zimasintha.

Ngati pulogalamuyi ndi mawu achinsinsi, thupi likulumikizidwa pamapeto pake. Ngati pulogalamuyi ndi nthawi yofunika kwambiri , nthawi yomweyo thupi limagwiritsidwa ntchito. Ngati palibe mawu achinsinsi othawirako, agwiritsidwe ntchito mosasamala. Nthawi yosakhalitsa nthawi yopuma ndi masekondi 10 koma akhoza kukhazikitsidwa, mwachitsanzo mpaka 30, ndi lamulo "setani nthawi 30". Nthawi yopanda malire ikhoza kusankhidwa ndi mtengo -1. Ngati pulogalamuyi ndi yosasinthika , mthunzi womwewo umagwiritsidwa ntchito nthawi iliyonse kapena potsiriza.

Ngati pulogalamu ikufanana, ndiye thupi lomwe likuphatikizidwa. kuyembekezera kubwezera zotsatira za thupi (kapena chingwe chopanda kanthu ngati palibe chitsanzo chikufanana). Zikakhala kuti machesi ambiri amatha, maonekedwe oyambirira amagwiritsidwa ntchito kusankha thupi.

Nthawi iliyonse yatsopano yowonjezera ikufika, imafanizidwa ndi ndondomeko iliyonse m'ndondomeko yomwe yalembedwa. Kotero, mukhoza kuyesa kuti palibe masewero mwa kupanga chitsanzo chomaliza chomwe chili chotsimikizika kuti chiwonekere, monga mwamsanga. Muzochitika ngati palibe mwamsanga, muyenera kugwiritsa ntchito nthawi (monga momwe mungakhalire ngati mutagwirana ntchito pamanja).

Zitsanzo zimatchulidwa m'njira zitatu. Mwachizolowezi, ndondomeko zimayankhulidwa monga ndi tchl mndandanda wa masewero a masewero . (Mchitidwe woterewu ndi ofanana ndi mawu a C-shell omwe nthawi zambiri amawatcha kuti "glob"). Mbendera -gl yomwe ingagwiritsidwe ntchito kutetezera machitidwe omwe sangafanane nawo amayembekezera kuti majekesi achite. Chitsanzo chirichonse choyamba ndi "-" chiyenera kutetezedwa mwanjira iyi. (Miyendo yonse yoyamba ndi "-" yasungidwa zosankha zamtsogolo.)

Mwachitsanzo, chidutswa chotsatira chimafuna kulumikiza bwino. (Zindikirani kuti kubwereka kumatengedwa kukhala ndondomeko yotchulidwa kwina kulikonse.)

kuyembekezera {kutanganidwa {kuchitapo kanthu}; exp_continue} inalephera kubwezeretsa "password yosavomerezeka" yochotsa nthawi yobwereza yogwirizana)

Ndemanga ndizofunika pachithunzi chachinai popeza chiri ndi malo, zomwe zingasiyanitse zochitika kuchokera kuchitapo. Zitsanzo ndi zomwezo (monga 3 ndi 4) zimafuna kulembetsa zomwezo. Izi zikhoza kupewa pogwiritsira ntchito machitidwe a regexp (onani m'munsimu). Zambiri zokhudzana ndi kupanga mawonekedwe apadziko lapansi zingapezeke m'buku la Tcl.

Mapulogalamu a Regexp amatsata mawu omasulira omwe amamasuliridwa ndi regexp ya Tcl (yochepa kwa lamulo "lachizolowezi chowonetsera"). njira za regexp zimayambitsidwa ndi mbendera -re . Chitsanzo choyambirira chikhoza kulembedwa pogwiritsa ntchito regexp monga:

kuyembekezera {kutanganidwa {kuchitapo kanthu}; exp_continue} -re "inalephera | chinsinsi chosavomerezeka" chimasokoneza nthawi yochepetsera yogwirizana)

Mitundu yonse iwiriyi ndi "yosamalidwa". Izi zikutanthauza kuti zizolowezi siziyenera kufanana ndi zingwe zonse, koma zimatha kuyamba ndi kutha mapikidwe paliponse mu chingwe (malinga ngati china chirichonse chikugwirizana). Gwiritsani ntchito ... kuti mufanane ndi kuyamba kwa chingwe, ndi $ kuti mufanane ndi mapeto. Dziwani kuti ngati simukudikira kumapeto kwa chingwe, mayankho anu akhoza kutha pakati pa chingwe pamene akugwirizana ndi ndondomekoyi. Pamene akupereka zotsatira zolondola, zotsatira zake zingawoneke ngati zachilendo. Choncho, ntchito ya $ imalimbikitsidwa ngati mungathe kufotokoza ndondomekoyi pamapeto pa chingwe.

Onani kuti mu olemba ambiri, a ^ ndi $ akufanana ndi kuyamba ndi kutha kwa mizere motsatira. Komabe, chifukwa choyembekezera kuti sizongogwirizana, malembawa akufanana ndi chiyambi ndi mapeto a deta (mosiyana ndi mizere) pakali pano mukuyembekezera kuyerekezera. (Onaninso tsamba ili pansipa pa "system indigestion.")

Mbendera-ngati imapangitsa chitsanzo kuti chifanane ndi chingwe "chenicheni". Palibe kutanthauzira kwa *, ..., ndi zina zopangidwa (ngakhale kuti misonkhano yachizolowezi ya Tcl iyenera kuwonedwabe). Machitidwe enieni nthawi zonse amamangirizidwa.

Mndandanda wochuluka- umachititsa kuti zilembo zazikuluzikulu zogwiritsidwa ntchito zikufanizidwe ngati kuti ndizithunzi zochepa. Chitsanzo sichinakhudzidwe.

Pamene mukuwerenga zochitika, zoposa 2000 bytes zingakakamize otesitanti akale kukhala "oiwala". Izi zingasinthidwe ndi ntchito match_max . (Zindikirani kuti zikhulupiliro zazikuluzikulu zingathe kuchepetseratu chitsanzo choyang'ana.) Ngati patlist ndi full_buffer , thupi lofanana likuchitidwa ngati macheza_max byt analandila ndipo palibe njira zina zogwirizana. Kaya kapena mawu amtundu wathunthuwa amagwiritsidwa ntchito, zilembo zoiwalika zinalembedwa kuyembekezera -ku (buffer).

Ngati patlist ndi mawu ofunikira, ndipo zosaloledwa zimaloledwa (kupyolera mu command_nulls command), thupi lofanana likuchitidwa ngati limodzi la ASCII 0 likufanana. Sizingatheke kugwirizanitsa 0 bytes kudzera glob kapena regexp machitidwe.

Pogwirizanitsa chitsanzo (kapena eof kapena full_buffer), chilichonse chofanana ndi zomwe simunachiyerekezerepo chikusungidwa mu variable variable expect_out (buffer) . Mpaka 9 masewera a regexp mmbuyo amasungidwa muzitsulo kuyembekezera_ku (1, chingwe) kudzera_ku (9, chingwe) . Ngati_ndipo mbendera zimagwiritsidwa ntchito musanakhale chitsanzo, zizindikiro zoyambira ndi zomalizira (mu mawonekedwe oyenera a lrange ) a masambo 10 zasungidwa muzambiri kuyembekezera_ku (X, kuyamba) ndi kuyembekezera (X, kumapeto) kumene X ndi chiwerengero, chikugwirizana ndi gawo lolowera mu buffer. 0 imatanthawuza zingwe zomwe zikugwirizana ndi dongosolo lonse ndipo zimapangidwira maonekedwe a globe komanso regexp machitidwe. Mwachitsanzo, ngati ndondomeko yatulutsa zotsatira za "abcdefgh \ n", zotsatira za:

kuyembekezera "cd"

zili ngati mawu otsatirawa adayankha:

yikani kuyembekezera_ku (0, chingwe) cd set expect_out (buffer) abcd

ndipo "efgh \ n" yatsalira muzitsulo zakutulutsa. Ngati ndondomeko inabweretsa zotsatira "abbbcabkkkka \ n", zotsatira za:

kuyembekezera -ndizo "b (b *). * (k +)"

zili ngati mawu otsatirawa adayankha:

yikani kuyembekezera_ku (0, kuyamba) 1 khalani mukuyembekezera_ku (0, kumapeto) 10 kuyembekezera_ku (0, chingwe) bbbcabkkkk kuyembekezera_ku (1, kuyamba) 2 kuyembekezera_ku (1, kumapeto) 3 kuyembekezera_ku (1, chingwe) bb ndikuyembekeza_kupita (2, yambani) 10 khalani mukuyembekezera_mu (2, kumapeto) 10 khalani mukuyembekezera_ku (2, chingwe) k muyembekeza kuyembekezera (buffer) abbbcabkkkk

ndipo "n \ n" yatsalira m'thumba loperekedwa. Chitsanzo "*" (ndi-"" * "*) chidzachotsa chikhomodzinso popanda kuwerenga china chilichonse kuchokera ku ndondomekoyi.

Kawirikawiri, zofanana zomwe zimagwiritsidwa ntchito zimatayidwa kuchokera ku Zomwe zili mkati mwazitsulo. Izi zikhoza kulepheretsedwa ndi kukonzekera kachitidwe ndi_notransfer mbendera. Mbendera iyi ndi yothandiza kwambiri pakuyesera (ndipo ikhoza kusindikizidwa "osati" mosavuta pamene ikuyesa).

Chidziwitso chodziwika bwino chogwirizana ndi zofanana (kapena eof kapena full_buffer) zimasungidwa mu kuyembekezera_out (spawn_id) .

Mbendera ya_yowonjezera imayambitsa lamulo loyembekezerapo kuti ligwiritse ntchito phindu lotsatira monga nthawi yopuma m'malo mogwiritsa ntchito phindu la kusintha kwa nthawi.

Mwachinyengo, ndondomeko zimagwirizana motsutsana ndi zochitika kuchokera pakali pano, komabe -i mbendera imanena kuti zotsatira zochokera ku mndandanda wa spawn_id zimatchulidwa motsutsana ndi njira zotsatirazi (mpaka ku - yotsatira). Mndandanda wa tsamba_mayenera kukhala mndandanda wa whitespace wosiyana wa spawn_ids kapena otanthauzira okhudzana ndi mndandanda wa spawn_ids.

Mwachitsanzo, chitsanzo chotsatira chikudikirira kuti "kugwirizanitsidwa" kuchokera pakali pano, kapena "wotanganidwa", "analephera" kapena "mawu osayenera" ochokera ku spawn_id otchedwa $ proc2.

yang'anirani {-i $ proc2 yotanganidwa {imatanganidwa \ n; exp_continue} -re "inalephera | chinsinsi chosavomerezeka" chimasokoneza nthawi yochepetsera yogwirizana)

Mtengo wa kusintha kwapadziko lonse any_spawn_id ukhoza kugwiritsidwa ntchito kuti ufanane ndi machitidwe kumalo ena aliwonse omwe amatchulidwa ndi ena onse -iwe mabendera mu lamulo lomwe mukuyembekezera . Chipinda chochokera ku -iyi mbendera yopanda pulojekiti yogwirizana (mwachitsanzo, ikutsatiridwa mwamsanga ndi wina -i ) imaperekedwa kwa mitundu ina iliyonse mwa lamulo lomwe limayembekezera likugwirizana ndi aliyense_spawn_id.

I- mbendera ingathenso kutanthauzira kusintha kwapadziko lonse pamene vutoli liwerengedwa pa mndandanda wa zizindikiro za spawn. Kusinthika kumawerenganso nthawi iliyonse ikasintha. Izi zimapereka njira yosinthira gwero la I / O pamene lamulo likugwira ntchito. Spawn ids zatchulidwa motere zimatchedwa "zachinsinsi" zizindikiro zapadera.

Zochita monga kuswa ndi kupitiriza kuyambitsa machitidwe (ie, chifukwa , proc ) kuti azichita mwanjira yamba. Lamulo ex_kuloleza limalola kuti likhale lokha kupitiliza kuchita m'malo mobwezera monga momwe liyenera kukhalira.

Izi ndi zothandiza popewera zosavuta momveka kapena mobwerezabwereza amayembekezera mawu. Chitsanzo chotsatira ndi mbali ya chidutswa chomwe chimapangidwira. Chotsalira_chocho chimapewa kulemba chiganizo chachiwiri choyembekezera (kuyang'ana mofulumira kachiwiri) ngati chilolezo chimawombera mawu achinsinsi.

onetsetsani {Password} {password-yo send_user "chinsinsi (kwa $ user) pa $ host:" kuyembekezera_re "(. *) \ n" send_user "\ n" kutumiza "$ expect_out (1, chingwe) \ r" stty lembani exp_continue} chinsinsi chosayenerera {send_user "chinsinsi chosayenerera kapena akaunti \ n" exit} timeout {send_user "kugwirizana kwa $ host itatuluka \ n" kuchoka} eof {send_user \ "kugwirizana kwa alendo sanathe: $ expect_out (buffer)" kuchoka} re $ mwamsanga}

Mwachitsanzo, chidutswa chotsatirachi chingathandize wotsogolera kugwiritsa ntchito zomwe zatha kale. Pachifukwa ichi, malo ogwiritsidwa ntchito amatha kuikidwa muyeso loyipa. Ngati wogwiritsa ntchito "+", akuwonjezeka. Ngati "p" ikulimbikitsidwa, kubwerera kobwerezabwereza kumatumizidwa ku ndondomekoyi, mwinamwake kuti iwonetsetse njirayi, ndipo "i" amalola wogwiritsa ntchitoyo ndi ndondomekoyi, ndikuchotsa mwamsanga kulemba. Pazochitika zonse, exp_continue amalola zamakono akuyembekezerabe kupitiriza chitsanzo pambuyo atachita zochitika tsopano.

Mphuno yaiwisi -echo ikuyembekeza_kutsatira {-i $ user_spawn_id "p" {kutumiza "\ r \ r"; exp_continue} "+" {incr foo; exp_continue} "i" {tizilumikizana; exp_continue} "siya" kuchoka}

Mwachikhazikitso, kutulutsa_kuthandizira kumatulutsanso nthawi yowonjezera. Timer siyambiranso , ngati exp_continue amatchedwa ndi -continue_timer mbendera.

kuyembekezera_kutsatira [kuyembekezera_kumagulu]
amagwira ntchito molingana ndi kuyembekezera_momwemo kupatula kuti ngati zizolowezi zochokera kwa onse ziyembekeza ndi kuyembekezera_pamene zitha kugwirizanitsa, kuyembekezera kachitidwe kakagwiritsidwe ntchito. Onani chiyembekezero_pamene lamulo likhale ndi chidziwitso china.

kuyembekezera_kumaloko [kuyembekezera_magulu]
amatenga zifukwa zomwezo monga kuyembekezera , ngakhale zitabwerera nthawi yomweyo. Zitsanzo zimayesedwa nthawi iliyonse yowonjezera yowonjezera ikafika. Chizolowezi chokhazikika ndi chosasintha n'chachabechabe kuyembekezera_malo osungirako ndipo akutsala mwakachetechete. Kupanda kutero, kuyembekezera_malo oyendetsa mmbuyo amagwiritsira ntchito kuyembekezera_momwemo ndikuyembekeza_kutsatira ndondomeko monga momwe zikuyembekezerekera kumachitira.

Pamene tikuyembekeza_machitidwe akubwerako akuyang'aniridwa, kusinthidwa kwa mseri kwa id yemweyo yowonongeka imatsekedwa. Kukonzekera kwazithunzi sikubvumbulutsidwa pamene zochitazo zatha. Pamene kusinthidwa kwaseri kutsekedwa, n'zotheka kuchita (kutsogolo) kuyembekezera ku id idayenera.

Sizingatheke kupereka chiyembekezero pamene kuyembekezera_mabwalo osatsekedwa akutsegulidwa . kuyembekezera_mbuyo kwa id ya spawn imachotsedwa ndi kulengeza zatsopano kuyembekezera_mbuyo ndi id yemweyo id. Kulengeza kuyembekezera_malo osandulika popanda chotsitsacho chichotsa chidziwitso cha spawn chomwe chimapatsidwa kuti chifanane ndi momwe zilili kumbuyo.

kuyembekezera_momwe [ziyembekezere_magulu]
amatenga zifukwa zomwezo monga kuyembekezera , ngakhale zitabwerera nthawi yomweyo. Mipangidwe ya zochitika zapadera kuchokera ku posachedwa kuyembekezera_pamene ndi chidziwitso chomwecho chodziwika bwino chikuphatikizidwa mwatsatanetsatane kwa aliyense akutsatira malamulo akuyembekezera . Ngati chithunzi chikufanana, chimawoneka ngati chidafotokozedwa mu chiyembekezero chokha, ndipo thupi lophatikizidwa limagwiritsidwa ntchito molingana ndi lamulo loyembekezera. Ngati zochokera kwa onse ziyembekeza_pomwe ndikuyembekeza zingakhoze kufanana, kuyembekezera_momwe fano likugwiritsidwira ntchito.

Ngati palibe ndondomeko yowonongeka, id idayang'aniridwa ndi njira iliyonse.

Pokhapokha atapitirira ndi -i bendera, kuyembekezera_mbuyo masewera a machesi motsutsana ndi nthawi yomwe akuyembekezera_momwe lamulo lidawonongedwere (osati pamene dongosolo lake likufanana).

Bendera la fanki likuyambitsa kuyembekezera - musanabwererenso ndondomeko zamakono zomwe zidzafanane . Mwachikhazikitso, imayimilira pa id idasintha. Chidziwitso chodziwikiratu chodziwika bwino chingaperekedwe kuti mudziwe zambiri za id id. Mwachitsanzo

kuyembekezera-osati -ni -i $ proc

Nthawi zambiri zimangoperekedwa zinazake. Mbendera - yosalongosoka imatsitsa zozizwitsa zomwe zimabwera kuchokera kuzinthu zomwe sizidziwika bwino.

M'malo mwa chidziwitso chodziwika bwino, mbendera "-ndipo" idzachititsa "-info" kuti iwonetsere pazomwe zimayambira.

Zomwe zimatuluka mu-fani ya fani ingagwiritsiridwenso ntchito ngati kutsutsana_momwemo.

kuyembekezera_kumakhala [kuyembekezera_kumayang'ana]
ali ngati kuyembekezera koma amawerenga olemba kuchokera ku / dev / tty (mwachitsanzo, zovuta kuchokera kwa wogwiritsa ntchito). Mwachizolowezi, kuwerenga kumachitika muwotheka. Motero, mizere iyenera kutha ndi kubweranso kuti muyembekezere kuziwona. Izi zingasinthidwe kudzera pa stty (onani lamulo la mawu pansipa).

kuyembekezera_kusamala [kuyembekezera_kumagulu]
ali ngati kuyembekezera koma amawerenga olemba kuchokera ku stdin (mwachitsanzo, zilembo zochokera kwa wogwiritsa ntchito). Mwachizolowezi, kuwerenga kumachitika muwotheka. Motero, mizere iyenera kutha ndi kubweranso kuti muyembekezere kuziwona. Izi zingasinthidwe kudzera pa stty (onani lamulo la mawu pansipa).

foloko
imapanga njira yatsopano. Ndondomeko yatsopanoyi ndilo ndondomeko yeniyeni yomwe ikuyembekezeredwa . Pogwira ntchito, foloko imabwerera kuntchito yatsopano (0) ndikubwezeretsanso ndondomeko ya njira ya mwanayo ku njira ya makolo. Polephera (nthawi zonse chifukwa cha kusowa kwa zinthu, mwachitsanzo, kusinthanitsa danga, kukumbukira), kubwerera kwa mphanda -1 kwa njira ya makolo, ndipo palibe njira yothandizira ana.

Ndondomeko zoyikidwa zimachoka kudzera mu lamulo lakutuluka , monga njira yoyambirira. Ndondomeko zoyikidwa zimaloledwa kulembera ku mawindo a log. Ngati simukuletsa kusokoneza kapena kutsegula muzinthu zambiri, zotsatirazi zingasokoneze.

Mapulogalamu ena a pty angasokonezeke ndi owerenga ambiri ndi olemba, ngakhale panthawi yochepa. Choncho, ndizovuta kwambiri kupanga foloko musanayambe kupanga.

muthandizane [string1 body1] ... [stringn [bodyn]]
imapereka njira yowonongeka kwa wosuta, kotero kuti makinawo amatumizidwa kuntchito yamakono, ndipo stdove ndi stderr ya ndondomeko yamakono ikubwezeretsedwa .

Mgwirizano wamagulu angapangidwe ngati zotsutsana, pamene thupi limaperekedwa pamene chingwe chofanana chikulowetsedwa. (Mwachinsinsi, chingwe sichikutumizidwa ku ndondomeko yamakono.) Omasulira omasulira akuganiza, ngati thupi lomaliza likusowa.

Ngati zotsutsana ndi mawu onse ophatikizana amafunikira mzere woposa umodzi, zifukwa zonse zingakhale "zomangika" m'modzi kuti asamathetse mzere uliwonse ndi kubwerera mmbuyo. Pachifukwa ichi, zizoloŵezi za Tcl zowonjezereka zidzachitika ngakhale kuti zipolopolozo zimasintha.

Mwachitsanzo, lamulo lotsatira limagwirizanitsa ndi zigawo zotsatirazi-thupizili zimatanthauzidwa: Pamene ... Z zatsindikizidwa, kuyembekezera kuimitsidwa. (The -reset mbendera imabwezeretsanso njira zotha kugwiritsira ntchito). Pamene ^ A yatsindikizidwa, wosuta akuwona "mwayimira ulamuliro-A" ndipo ndondomeko imatumizidwa ^ A. Ndalama zikagwedezeka, wosuta amawona tsiku. Pamene ... C yatsindikizidwa, Yembekezerani kuchoka. Ngati "foo" yalowa, wosuta amawona "bar". Pamene ~~ ikulimbikitsidwa, kuyembekezera womasulira akuthamanga mwachindunji.

ikani CTRLZ \ 032 kuyanjana {-reset $ CTRLZ {exec kill -STOP [pid]} \ 001 {send_user "yomwe mwayimira ulamuliro-A \ n"; tumizani "\ 001"} $ {send_user "Tsikulo ndi [mawonekedwe a ola [masekondi]."} \ 003 kuchoka foo {send_user "bar"} ~~}

Muzigawo zamagulu a thumba, zingwe zimagwirizana mu dongosolo zomwe zalembedwa ngati zifukwa. Zigwirizano zomwe zimagwirizanitsa sizikutumizidwa kuntchito yamakono poyembekeza zotsalira. Ngati zilembo zimalowetsedwa kotero kuti sipangakhalenso machesi, gawo limodzi la chingwe lidzatumizidwa ku ndondomeko yomwe sangathe kuyamba machesi ena. Motero, zingwe zomwe zimagwirizanitsa zigawo zingagwirizanenso mtsogolo, ngati zingwe zoyambirira zomwe zikuyesa kutsutsana zimatha.

Mwachinsinsi, chingwe chofanana chikugwirizana ndi palibe makadi a zakutchire . (Mosiyana, lamulo loyembekezera limagwiritsa ntchito machitidwe apadziko lonse mwachisawawa.) Mbendera-ngati imatha kugwiritsidwa ntchito kuteteza njira zomwe zingakhale zofananako ndi majekesi omwe akugwirizana . Chitsanzo chirichonse choyamba ndi "-" chiyenera kutetezedwa mwanjira iyi. (Miyendo yonse yoyamba ndi "-" yasungidwa zosankha zamtsogolo.)

I- bendera imalimbikitsa chingwe kuti limasulidwe ngati kachitidwe ka regexp. Pachifukwa ichi, zofanana zogwiritsidwa ntchito zimasungidwa mosiyana-siyana mofanana ndi momwe zikuyembekezereka kusungirako zomwe zimatuluka mu variable variable expect_out . A_omwe mbendera imathandizidwira mofananamo.

Zojambulazo zimayambitsa zomwe zikuchitika pa mapeto a fayilo. Chitsanzo chosiyana cha efo chingathenso kutsatila -mbendera mbendera yomwe iyenerana nayo ngati eof imawonekera polemba zochokera. Chosalephera chochita ndi "kubwerera", kotero kuti kuyankhulana kungobwereranso pa EOF iliyonse.

Chizolowezi chotsatira chimayambitsa nthawi yotsiriza (mu masekondi) ndi ntchito yomwe imaperekedwa pambuyo poti palibe owerengeka yawerengedwa pa nthawi yopatsidwa. Zotsatira zogwiritsira ntchito nthawi zimagwiritsidwa ntchito ku ndondomeko yowonjezedwa kwambiri . Palibe nthawi yothetsera nthawi. Mtundu wapadera wotchedwa "timeout" (wogwiritsidwa ntchito ndi lamulo loyembekezera) ulibe vuto pa nthawiyi.

Mwachitsanzo, mawu otsatirawa angagwiritsidwe ntchito kwa ogwiritsa ntchito autologout omwe sanasinthe kalikonse kwa ora koma omwe adzalandira mauthenga afupipafupi:

yothandizira -yowonjezera $ user_spawn_id nthawiout 3600 kubwereza-$put spawn_id

Ngati pulogalamuyi ndi mawu achinsinsi, ndipo zosaloledwa zimaloledwa (kudzera mwa lamulo la remo_nulls ), thupi lofanana likuchitidwa ngati limodzi la ASCII 0 lifanane. Sizingatheke kugwirizanitsa 0 bytes kudzera glob kapena regexp machitidwe.

Kuyika pulogalamu ndi mbendera - kulembera kumapangitsa kuti interactive_out (spawn_id) yosinthidwa ikhale pa spawn_id yomwe ikufanana ndi chitsanzo (kapena eof).

Zochita monga kuswa ndi kupitiriza kuyambitsa machitidwe (ie, chifukwa , proc ) kuti azichita mwanjira yamba. Komabe kubwezeretsa zimayambitsa kubwereza kwa woyitana, pamene inter_return imayambitsa kugwirizana kuti ayambitse kubwerera kwake. Mwachitsanzo, ngati "proco foo" akutchedwa kuyanjanitsa komwe kenako kuchitapo kanthu inter_return , proc foo angabwerere. (Izi zikutanthawuza kuti ngati kuyankhulana kwapadera kotanthauzira kuitanitsa kudzapangitsa kugwirizanitsa kupitiliza, pamene inter_return idzayambitsa kugwirizana kuti abwerere kwa woyitana.)

Mukamayanjanirana , mawonekedwe ofiira amagwiritsidwa ntchito kotero kuti onse otchulidwa akhoza kupitsidwira kuntchito yamakono. Ngati ndondomekoyi sichigwira ntchito yowonetsera ntchito, idzasiya ngati itumiza chizindikiro choyimira ntchito (mwachisawawa ^ Z). Kuti muwuyambe, tumizani kupitiriza chizindikiro (monga "kupha -CONT"). Ngati mukufunadi kutumiza SIGSTOP kuntchito yotere (ndi ^ Z), ganizirani kubereka csh choyamba ndikuyendetsa pulogalamu yanu. Kumbali ina, ngati mukufuna kutumiza SIGSTOP kuti Dzitetezeni, choyamba mutanthauzira wotanthauzira (mwinamwake pogwiritsa ntchito khalidwe lothawa), ndiyeno yesani ^ Z.

Mipangidwe yamagulu angagwiritsidwe ntchito ngati mfupi chifukwa chopewa kulowa mu womasulira ndikuchita malamulo mwachindunji. Njira yam'mbuyo yamagwiritsidwe ntchito ikugwiritsidwa ntchito pamene thupi la mndandanda wa thupi ndilo likugwiritsidwa ntchito.

Chifukwa chachangu, zochita zimapangidwira muzowonjezera zosasintha. Mndandanda wa- fereji yowonjezereka ikubwezeretsanso njira yomwe imakhala ikugwiritsiridwa ntchito (nthawizonse yophika). Dziwani kuti anthu omwe amalowa mumasewerawa amatha kutayika (chinthu choipa cha woyendetsa galimotoyo pazinthu zina). Chifukwa chokha chimene mungagwiritsire ntchito -seri ndizomwe mukuchita kumadalira kuyendetsa muyeso yophika.

Mbendera ya- yo imatumiza zilembo zofanana ndi zotsatirazi zomwe zinapangidwira monga chikhalidwe chilichonse chikuwerengedwa. Izi zingakhale zothandiza pamene wogwiritsa ntchito akufunika kuwona zowonongeka kuchokera kumtundu wina.

Ngati ndondomeko ikukankhidwa koma potsiriza silingathe kufanana, zilembozo zimatumizidwa ku ndondomekoyi . Ngati ndondomekoyi idawatsatanetsatane, wogwiritsa ntchitoyo adzawona maulendo awiriwa. -echo mwinamwake ndi koyenerera pokhapokha ngati simungathe kumaliza pulogalamuyo. Mwachitsanzo, chotsatira chotsatirachi chikuchokera pafupipafupi, script yowonongeka, pomwe wothandizira akulowetsa kulowa ~ ~ g, ~ p, kapena ~ l, kuti apeze, kuika, kapena kulemba bukhu labukhuli mobwerezabwereza. Izi zili kutali kwambiri ndi malamulo a ftp, omwe sagwiritsidwe ntchito ndi wothandizira ~ wotsatiridwa ndi china chirichonse, kupatulapo molakwika, panthawiyi, mwina angonyalanyaza zotsatirazo.

yothandizana {-echo ~ g {obtenircurdirectory 1} -echo ~ l {getcurdirectory 0} -echo ~ p {putcurdirectory}}

Bendera losavuta likutumiza zilembo zomwe zimagwirizana ndi zotsatirazi kuti zichitike ngati ziwerengero zikuwerengedwa.

Izi ndizothandiza pamene mukufuna kuti pulogalamu ibwezeretsenso chitsanzocho. Mwachitsanzo, zotsatirazi zingagwiritsidwe ntchito poyang'ana kumene munthu akujambula (modesayiti ya Hayes). Nthawi iliyonse "atd" ikuwoneka zilembo za script mbali yonseyo.

kulumikiza -nobuffer -re "(. *) \ r" kubwezera kuika $ log "[mawonekedwe a ola [masekondi a masekondi]: adaitanidwa $ interact_out (1, chingwe)"} kuyanjana -nobuffer "atd" lognumber

Pogwirizana , kugwiritsa ntchito log_user kosalekeza kumanyalanyazidwa. Makamaka, kuyankhulana kudzakakamiza zomwe zimachokera kuti zilowe (zotumizidwa kuyezo woyenera) popeza zimaganiziridwa kuti wosuta sakufuna kuyankhulana khungu.

Bendera la-- o limapangitsa aliyense wotsatira mawiri-awiriwa kuti agwiritsidwe ntchito ku zotsatira za zomwe zikuchitika. Izi zingakhale zothandiza, mwachitsanzo, pochita nawo makamu omwe amatumiza zida zosafunika pa nthawi ya telnet.

Mwachizolowezi, kuyanjana kumayembekeza wosuta kuti alembere stdin ndi kuwerengera ndondomeko ya kuyembekezera ndondomeko yokha. I- mbendera (kwa "wosuta") imayang'ana kuyang'ana kwa wogwiritsa ntchito monga ndondomeko yotchulidwa ndi ndemanga yake (yomwe iyenera kukhala id).

Izi zimalola njira ziwiri zosagwirizanitsidwa kuti ziphatikizidwe palimodzi popanda kugwiritsa ntchito kuzungulira momveka bwino. Pofuna kuthandizira, kuyembekezera kuti ma diagnostics nthawi zonse amapita ku stderr Pa chifukwa chomwecho, lamulo la womasulira lidzawerengedwa motsatizana kuchokera ku stdin.

Mwachitsanzo, chidutswa chotsatira chimapanga njira yolowera. Kenaka imatumizira wosuta (osayesedwa), ndipo potsiriza imagwirizanitsa awiriwo palimodzi. Inde, njira iliyonse ingalowe m'malo mwa kulowa. Mwachitsanzo, chipolopolo chingalole wogwiritsa ntchito popanda kupereka akaunti ndi mawu achinsinsi.

spawn login akha login $ spawn_id spawn nsonga modem # kubwereranso kwa wosuta # kulumikiza wosuta kuti alowe mgwirizano -u $ login

Kuti mutumize kuchuluka kwa njira zosiyanasiyana, lembani mndandanda uliwonse wa zida zapachilengedwe zomwe zimayambitsidwa ndi -kulembera mbendera. Kuyika kwa gulu la zotsatira za spawn zikhoza kutsimikiziridwa ndi mndandanda wa zida zapadera zomwe zimayambitsidwa ndi - mbendera. (Zida zonse ziwiri -zidziwitso zingatenge mndandanda womwewo ngati -i flag mu lamulo loyembekezera, kupatula kuti chilichonse_spawn_id sichingakhale chopindulitsa kugwirizana .) Zotsatira zonse ndi mbendera (kapena ndondomeko) zimagwiritsidwa ntchito kuzinthu izi mpaka wina - Mbendera yowonjezera ikuwonekera. Ngati palibe -mawonekedwe akuwoneka, -kutulutsa kumatanthauza "-kutanthawuza $ user_spawn_id -output". (Mofananamo, ndi zizolowezi zomwe ziribe- zimatanthawuza .) Ngati wina - ndondomeko yatsimikiziridwa, imadutsa $ user_spawn_id. Ngati chidziwitso chachiwiri chikufotokozedwa , chimadutsa $ spawn_id. Zowonjezerapo -zizindikiro zamatendera zingatchulidwe.

Zonsezi zimaphatikizapo njira zowonjezera zosasinthika kuti zikhale ndi zotsatira zake monga $ spawn_id ndi $ user_spawn_id (mmbuyo). Ngati -njakuti mbendera ikuwonekera popanda ndondomeko yobwezeretsa , anthu ochotsamo amachotsedwa.

I- bendera imatulutsira malo m'malowa a spawn_id pamene palibe wina -wotchulira kapena -gwiritsira ntchito mbendera. A-mbendera imatanthawuza-mbendera.

N'zotheka kusintha ndondomeko zomwe zikugwirizanitsidwa ndi kugwiritsa ntchito zizindikiro zosadziwika. (Maina osayenerera amadzimadzi amafotokozedwa mu gawo la lamulo loyembekezerako.) Zina mwachindunji zikhoza kufotokozedwa ndi -i, -u, -kuputitsa, kapena -kuwombera mafologi.

wotanthauzira [amisiri]
amachititsa wogwiritsa ntchito molimbikitsana kuti ayambe kulamula ndi kuyembekezera Tcl. Zotsatira za lamulo lililonse zimasindikizidwa.

Zochita monga kuswa ndi kupitiriza kuyambitsa machitidwe (ie, chifukwa , proc ) kuti azichita mwanjira yamba. Komabe kubwerera kumayambitsa wotanthauzira kubwerera kwa woyitana, pamene inter_return amachititsa wotanthauzira kuti abwerere kwa woyitana. Mwachitsanzo, ngati "proco foo" amatchedwa wotanthauzira amene amachititsa zomwe inter_return , proc foo angabwerere. Lamulo lina lililonse limayambitsa wotanthauzira kuti apitirize kuyambitsa malamulo atsopano.

Mwachindunji, mwamsanga uli ndi integers ziwiri. Woyamba woyamba akulongosola zakuya kwa chiwerengero choyesa (mwachitsanzo, nthawi zingati Tcl_Eval aitanidwa). Kuphatikiza kwachiwiri ndizozindikiritsa mbiri ya mbiri ya Tcl. Mwamsanga akhoza kukhazikitsidwa pofotokoza ndondomeko yotchedwa "prompt1" yomwe mtengo wobwerera umakhala wotsatira wotsatira. Ngati mawu atsegula ndemanga, mabala, ma-brace, kapena mabaki, nthawi yachiwiri (mwachindunji "+>") imaperekedwa pa newline. Njira yachiwiri ikhoza kukhazikitsidwa pofotokoza ndondomeko yotchedwa "prompt2".

Pamene womasulira , njira yophika imagwiritsidwa ntchito, ngakhale ngati woitanirayo akugwiritsa ntchito njira yoyipa.

Ngati stdin yatsekedwa, womasulira adzabwerera pokhapokha ngati -pafera ikugwiritsidwa ntchito, ndiye kuti kutsutsana kumeneku kumabweretsedwa.

Fayilo_nkhani [args] [[-a] fayilo]
Ngati dzina la fayilo likuperekedwa, malemba_makalata adzalemba zolemba za gawoli (kuyambira pa nthawiyo) mu fayilo. Mndandanda wa_makalata udzasiya kujambula ngati palibe mkangano woperekedwa. Fayilo iliyonse yamakalata yapitayo yatsekedwa.

M'malo mwa fayilo, fayilo ya fayilo ya Tcl ingaperekedwe pogwiritsira ntchito mapepala a -open kapena -aveaveopen . Izi ndizofanana ndi lamulo loperekedwa . (Onani zofuna zambiri.)

I-bendera imagwira ntchito kuti itsegulidwe yomwe inaletsedwa ndi lamulo log_user .

Mwachindunji, lamulo la log_logi limapangitsa mafayi akale m'malo mowaponyera, kuti akhale okhoza kutsegula komanso nthawi zambiri pa gawo limodzi. Kuti mutengere mafayilo, gwiritsani ntchito -samalani mbendera.

Khola la_kapena limapangitsa malemba_mabuku kuti abwerere kufotokozera zamakono zomwe sizinapangidwe zokhudzana ndi zifukwa zomwe zaperekedwa.

log_user -info | 0 | 1
Mwachisawawa, kukambitsirana kotheka / kuyembekezera kwalowetsedwa ku stdout (ndi lolemba lokhala ngati lotseguka). Kugula mitengo kudutsa kumalepheretsedwa ndi lamulo "log_user 0" ndipo limakonzedwanso ndi "log_user 1". Kulowetsa ku logfile sikusinthika.

Khoti la fanki limayambitsa log_user kubwereza kufotokozera zamakono zomwe sizinali zongopeka zomwe zimaperekedwa.

match_max [-d] [-i spawn_id] [kukula]
imatanthauzira kukula kwa buffer (mu bytes) yogwiritsidwa ntchito mkati mwa kuyembekezera . Popanda kutsutsana, kukula kwake kukubwezedwa.

Ndi -_ndi mbendera, kukula kosasintha kwakhazikitsidwa. (Choyambirira choyambirira ndi 2000.) Ndi -_ndi mbendera, kukula kwake kumayikidwa kwa id idatchulidwa, kupatulapo yikonzedweratu kuntchito yamakono.

yophimba [- # spawn_id] [- # spawn_id] [...]
amachititsa "mapulogalamu a pulojekiti" mmalo momwe akuyembekezera Pulogalamu, yomwe imatha. Chotsutsana chotsutsana chimapangitsa chithunzithunzi kutsogolo kwa dzina la lamulo monga ngati chilolezo cholowetsa. Zonsezi zimatsekedwa pokhapokha omwe amatchulidwa ngati zotsutsana. Izi zimapangidwira pazomwe zimatchulidwa mafayilo.

Spawn_ids amapangidwira kuti afotokoze zizindikiro za pulogalamu yatsopano kuti adzalandire. Mwachitsanzo, mzere wotsatira umayendetsa chess ndipo umalola kuti ulamulidwe ndi zomwe zikuchitika panopa - nenani, mbuye wa chess.

Kuphimba -0 $ spawn_id -1 $ spawn_id -2 $ spawn_id chess

Izi ndizowonjezereka kuposa "kuyanjana -u", komabe, zimapereka mwayi wothandizira pulogalamuyi kuyambira kuti kuyembekezera njira sikungathe kulamulira.

Dziwani kuti palibe njira yothandizira yoperekera. Choncho, ngati mutatsegula kapena kukonzanso zolembera zowonjezera, mapulogalamu omwe amagwira ntchito (zipolopolo, kulowetsa, ndi zina) sizigwira ntchito bwino.

chikhalidwe [-d] [-i spawn_id] [mtengo]
imatanthawuza ngati kufunika kusungidwa kapena kuchotsedwa ku zotsatira za zomwe zachitika. Ngati phindu ndi zero, umulungu wadula, mwinamwake siwotsuka. Popanda kutsutsana, mtengo wamakono ukubwezedwa.

Ndi -ndepala , dera losasintha laumwini limayikidwa. (Choyamba cholakwika ndi 1, mwachitsanzo, chikhalidwe sichichotsedwe.) Ndi -_ndi mbendera, mtengo wapagulu unayikidwa pa id, yomwe ili ndi dzina lake, mwinamwake imayikidwa pa ntchito yomwe ilipo.

chotsani [_d] [-i spawn_id] [mtengo]
imatanthawuza ngati zosungidwa zimasungidwa kapena kuchotsedwa ku zotsatira zazinthu zisanayambe kusankhana kapena kusunga mu variable variable expect_out kapena interact_out . Ngati mtengo ndi 1, nulls achotsedwa. Ngati mtengo ndi 0, nulls sichichotsedwa. Popanda kutsutsana, mtengo wamakono ukubwezedwa.

Ndi -ndepala , dera losasintha limayikidwa. (Chosoweka choyamba ndi 1, kutanthauza, nulls achotsedwa.) Ndi -_ndi mbendera, mtengo umayikidwa pa id yotchulidwa, yomwe siyikomwe kuti ikhale yowonjezera .

Kaya kapena osalidwa achotsedwa, Yembekezerani kudzalemba zolemba zosalongosoka ku log ndi stdout.

tumizani chingwe [-flags]
Tumizira chingwe kuntchito yamakono. Mwachitsanzo, lamulo

tumizani "moni wadziko"

kutumiza malemba, wothandizira pulogalamuyi . (Tcl ili ndi lamulo la printf- lofanana (lotchedwa maonekedwe ) lomwe lingapangitse zingwe zovuta kupanga.)

Anthu amatumizidwa nthawi yomweyo ngakhale mapulogalamu okhala ndi mzere wotsatiridwa sangathe kuwerenga malemba mpaka munthu wotumizidwa atumizidwa. Munthu wobwerera akutchulidwa "\ r".

I_magulu imakakamiza kutsutsana kwotsatira kuti itanthauzidwe ngati chingwe kusiyana ndi mbendera. Mndandanda uliwonse ukhoza kutsogoleredwa ndi "-" kaya ayiwoneka ngati mbendera kapena ayi. Izi zimapereka njira yodalirika yofotokozera zingwe zosasunthika popanda kuponderezedwa ndi iwo omwe amawoneka moyenera ngati mbendera. (Miyendo yonse yoyamba ndi "-" yasungidwa zosankha zamtsogolo.)

I- mbendera imanena kuti chingwecho chimatumizidwa ku dzina lake spawn_id. Ngati spawn is user_spawn_id , ndipo yotsegulirayo ili muzowonjezera , mauthenga atsopano mu chingwe amamasuliridwa kuti abwererenso-njira zatsopano zowonjezera kuti ziwonekere ngati zowonongekazo zakhala zophika. M- mbendera ikulepheretsa kumasulira uku.

B_komwe mbendera imatumiza zilembo zosalongosoka (0 bytes). Mwachisawawa, chimodzi chotsika chimatumizidwa. Chiwerengero chotsatira chingatsatire-kusalongosola kuti zingati zingati kutumiza.

Mbendera ya_kugwedeza imapanga mpumulo. Izi zimakhala zomveka ngati chidziwitso chodziwika chimatanthawuza chipangizo chamagetsi chomwe chinatsegulidwa kudzera "kutulutsa". Ngati mwasintha ndondomeko monga nsonga, muyenera kugwiritsa ntchito msonkhano wa nsonga kuti mupange mpumulo.

I-- bendera imagwira ntchito yotumiza "pang'onopang'ono", motero pewani zomwe zimachitika pakompyuta yomwe imatulutsa chilolezo chomwe chimapangidwira munthu yemwe sangawonongeke chimodzimodzi. Izi zimayendetsedwa ndi mtengo wa "send_slow" wosinthika omwe amatenga zinthu ziwiri. Choyamba choyamba ndi nambala yomwe imalongosola chiwerengero cha mayina kuti atumize ma atomu. Chigawo chachiwiri ndi nambala yeniyeni yomwe imalongosola chiwerengero cha masekondi omwe kutumiza kwa atomiki kuyenera kupatulidwa. Mwachitsanzo, "sungani-kutsika {10 .001}" kukakamiza "kutumiza -s" kutumiza zingwe ndi 1 millisecond pakati pa anthu 10 omwe anatumizidwa.

The_h flag imagwira ntchito yotumizidwa (mwina) ngati munthu kwenikweni akuyimira. Kuchedwa kuchepa kwaumunthu kumawoneka pakati pa olembawo. (Zotsatirazi zimachokera kugawa kwa Weibull, ndi kusintha komwe kumagwirizana ndi ntchitoyi). Izi zimayendetsedwa ndi mtengo wa "send_human" omwe amamasuliridwa omwe amatenga zinthu zisanu. Zinthu ziwiri zoyambirira zimakhala nthawi yowerengeka pakati pa anthu ochepa. Yoyamba imagwiritsidwa ntchito ndi chosasintha. Lachiwiri likugwiritsidwa ntchito pamapeto a mawu, kuti tiyerekezere kupuma kwachinsinsi kumene kumachitika nthawi zina pamasinthidwe otere. Njira yachitatu ndiyo kusiyana kwake komwe .1 ndi yosiyana kwambiri, 1 imasinthika, ndipo 10 sizingatheke. Zopitirira malire ndi 0 mpaka zopanda malire. Mapeto awiri omaliza ali, panthawi yake, nthawi yocheperachepera. Zomwezo ndizomwe zimagwiritsidwa ntchito potsirizira komanso "zojambulidwa" nthawi yomaliza. Chiŵerengero chapamwamba chikhoza kukhala chosiyana ndi chiwerengero chopatsidwa ngati chocheperachepera ndi chapafupi chiwonetsero chokwanira.

Mwachitsanzo, lamulo lotsatira limapangitsa kuti munthu azikhala wofulumira komanso wosasinthasintha.

sungani_munthu {.1 .3 1 .05 2} tumizani -h "Ndili ndi njala. Tiyeni tidye chakudya chamasana."

pamene zotsatirazi zikhoza kukhala zabwino kwambiri pambuyo pa khungu:

sungani_munthu {.4 .4 .2 .5 .5 100} kutumiza -h "usiku wa chipani cha Goodd!"

Tawonani kuti zolakwika sizinawonedwe, ngakhale mutha kukhazikitsa zolakwika zokonzekera nokha mwa kulowetsa zolakwika ndi kukonza mu ndemanga kutumiza.

Mipendera ya kutumiza zilembo zosalongosoka, potumiza mapulogalamu, kukakamiza pang'onopang'ono zotulukapo ndi njira za anthu zomwe zimatulutsidwa zimagwirizana. Ndiyo yokhayo yomwe yatsimikiziridwa yomalizira idzagwiritsidwa ntchito Kuwonjezera pamenepo, palibe ndondomeko yachingwe yomwe ingathe kufotokozedwa ndi mbendera za kutumiza zolemba kapena zosweka.

Ndi lingaliro loyenera kutsogolera oyamba kutumiza ku ndondomeko ndi kuyembekezera . kuyembekezera kuyembekezera kuti ntchitoyi iyambe, pamene kutumiza sikungathe. Makamaka, ngati kutumiza koyamba kumatsiriza ntchitoyi isanayambe, mumayesa kuti deta yanu isasamalidwe. Panthawi yomwe mapulogalamu ophatikizana sapereka nthawi yoyamba, mukhoza kutsogolera kutumiza monga:

# Kuti mupewe kupereka zowononga zotsutsa momwe mungalowerere, # dongosolo ili silitengera mawu achinsinsi. # Yembekezani kwa masekondi asanu kuti muthe kukwanira telnet kwambiri.secure.gov kugona 5 kutumiza mawu \ r

exp_send ndi alias kutumiza. Ngati mukugwiritsa ntchito Expectk kapena zina zomwe mukuyembekezera mu chikhalidwe cha Tk, kutumiza kumatanthauzidwa ndi Tk kwa cholinga chosiyana. exp_send amaperekedwa kuti zogwirizana pakati pa mazingira . Zosintha zomwezo zimaperekedwa kwa mauthenga ena akuyembekezeretsa kutumiza.

tumizani_magulu [-kugwedeza] chingwe
ali ngati kutumiza , kupatula kuti zotsatira zake zimatumizidwa ku stderr m'malo mochita zomwe zikuchitika.

tumizani chingwe [-] chingwe
ali ngati kutumiza , kupatula kuti chingwe chimangotumizidwa ku fayilo ya log (onani logi_file .) Zotsutsana sizikutsatiridwa ngati palibe loti lolo lololedwa .

tumizani chingwe chokwanira]
zili ngati kutumiza , kupatula kuti zotsatira zake zimatumizidwa ku / dev / tty osati momwe zakhalira .

tumizani chingwe [-saka] chingwe
ali ngati kutumiza , pokhapokha kuti zotsatira zake zimatumizidwa kumalo osasintha kusiyana ndi zomwe zikuchitika panopa.

kugona pang'ono
imayambitsa script kugona kwa nambala yopatsidwa ya masekondi. Zachiwiri zingakhale nambala ya decimal. Kusokoneza (ndi zochitika za Tk ngati mukugwiritsa ntchito Expectk) zimasinthidwa pamene Zimayang'ana kugona.

[args] pulogalamu [agulu]
imapanga ndondomeko yatsopano yomwe ikuyendetsa "ndondomeko ". Stdin yake, stdout ndi stderr zimagwirizana ndi kuyembekezera, kuti ziwerenge ndi kulembedwa ndi zina kuyembekezera malamulo. Kugwirizana kumaphwanyidwa ndi kutseka kapena ngati ndondomeko yokha imatsegula aliyense wa olemba mafayilo.

Pamene ndondomeko ikuyambidwa ndi spawn , variable spawn_id yaikidwa kwa descriptor yonena za njirayi . Ndondomeko yofotokozedwa ndi spawn_id imatengedwa ngati " ndondomeko yamakono ". spawn_id ikhoza kuwerengedwa kapena kulembedwa, potero ikupereka kuyang'anira ntchito.

user_spawn_id ndiwotanthauzira padziko lonse okhala ndi descriptor yomwe imatanthawuza kwa wosuta. Mwachitsanzo, pamene spawn_id imayikidwa kufunika kwake, yang'anani makhalidwe monga kuyembekezera_kuyembekezera .

Error_spawn_id ndiwotanthauzira padziko lonse omwe ali ndi descriptor yomwe imatanthawuza zolakwika zofanana. Mwachitsanzo, pamene spawn_id yayikidwa ku mtengo umenewu, kutumiza kumakhala ngati send_error .

tty_spawn_id ndimasinthidwe padziko lonse omwe ali ndi descriptor omwe amatanthauza / dev / tty. Ngati / dev / tty palibe (monga cron, pa, kapena batch script), ndiye tty_spawn_id sinafotokozedwe . Izi zingayesedwe monga:

ngati {[info vars tty_spawn_id]} {# / dev / tty alipo} inanso {# / dev / tty palibe # mwinamwake mu cron, batch, kapena palemba}

spawn ikubwezeretsa id idandanda ya UNIX. Ngati palibe njira yothetsera , 0 imabwezedwa. Mtundu wotchedwa spawn_out (kapolo, dzina) waikidwa pa dzina la chipangizo cha kapolo.

Mwachizolowezi, spawn imatsutsana ndi dzina lolamula ndi mikangano. The_noecho mbendera imasiya kuyera kuchita izi.

Khola la_solo laSolomon limayambitsa ndondomeko yotulutsidwa kuti ikatumizedwe ku ndondomeko yomwe inakhazikitsidwa. Izi sizikuthandizidwa pa machitidwe onse.

Pakatikati, kumagwiritsa ntchito pty, kuyambitsidwa mofanana ndi momwe mtumiki amathandizira. Izi zowonjezeredwa kuti zochitika zonse zikhale "zofanana" (molingana ndi stty (1)). Ngati mawu otanthauzira stty_init akufotokozedwa, amatanthauziridwa mu kalembedwe ka zifukwa zowonjezereka monga kukonzekera kwina. Mwachitsanzo, "kukhazikitsa stty_init yaiwisi" chidzapangitsanso njira zowonjezera zowonjezera kuti ziyambe muzolowera. -nottycopy akudumpha kuyambira pogwiritsa ntchito mauthenga. -nottyinit akudumpha "kuyambitsidwa" koyambirira.

Kawirikawiri, kusamba kumatenga nthawi yochepa kuti iwononge. Mukawona kuti spawn ikukhala ndi nthawi yochulukirapo, mwinamwake mukukumana ndi ptys omwe amakwatirana. Mayesero angapo amayendetsedwa pa ptys kuti apewe kulowa muzinthu zolakwika. (Izi zimatenga masekondi 10 pa phwando la pty.) Kuthamanga Kuyembekeza ndi -ddongosolo lingasonyeze ngati Muyembekeza akukumana ndi ma ptys ambiri osamveka. Ngati simungathe kupha njira zomwe ma ptys awagwiritsira ntchito, njira yanu yokhayo ingakhale kukhazikitsanso.

Ngati pulogalamu siingatheke bwino chifukwa chakuti (2) sakulephera (mwachitsanzo pamene palibe pulogalamu ), uthenga wolakwika udzabwezeredwa ndi zotsatira zotsatizana kapena zoyembekezerapo ngati pulogalamuyo idathamanga ndi kutulutsa uthenga wolakwika ngati zotsatira. Kuchita izi ndi zotsatira zachibadwa za kukhazikitsidwa kwa spawn . Pakati, perekani mafoloko, pambuyo pake pulogalamuyi ilibe njira yolankhulirana ndi zoyambirira kuyembekezera ndondomeko kupatula poyankhulana kudzera mu spawn_id.

Mbendera ya -openi imachititsa kutsutsana kutsatila kutanthauziridwa ngati fayilo ya fayilo ya Tcl (mwachitsanzo, kubweretsedwa motseguka .) Chidziwitso chodziwika chimatha kugwiritsidwa ntchito ngati kuti chinachitika. (Chojambulira mafayilo sayenera kugwiritsidwa ntchito.) Izi zimakulolani kuthana ndi zipangizo zojambulidwa, mafayilo, ndi mapaipi monga njira zopangira popanda kugwiritsa ntchito pty. 0 yabwezedwa kuti asonyeze kuti palibe njira yothandizira . Pamene kugwirizana kwa njirayi kubvumbulutsidwa, momwemonso tchuthi la fayilo la Tcl. Mbendera ya -leaveopen ndi yofanana ndi -openi kupatula kuti -leaveopen imayambitsa chodziwitso cha fayilo kuti chikhale chatseguka ngakhale atatseketsa id.

Mbendera ya -sitayi imayambitsa pty koma palibe njira yomwe imayambira . 0 yabwezedwa kuti asonyeze kuti palibe njira yothandizira . Spawn_id imayikidwa mwachizolowezi.

Mtundu wotchuka spawn_out (kapolo, fd) wapangidwira ku chizindikiro cha fayilo chofanana ndi kapolo wa pty. Ikhoza kutsekedwa pogwiritsa ntchito "pafupi -lave".

Lipoti la-- ignore limatchula chizindikiro chosasamalidwa pokhapokha . Apo ayi, zizindikiro zimakhala zoyipa. Zizindikiro zimatchulidwa kuti zili mumsampha wakulamula, kupatula kuti chizindikiro chilichonse chikufuna mbendera yosiyana.

msinkhu wamtundu
amachititsa mawu otsatirawa kusindikizidwa asanaphedwe. (Tcl's trace command amatha kusintha.) Mlingo ukuwonetsera kutali komwe mujambulo lakuthamangitsa kuti uwerenge. Mwachitsanzo, lamulo lotsatila limayendera Pamene mukuyang'ana maulendo 4 oyambirira, koma palibe pansipa.

kuyembekezera -c "4" script.exp

Nyuzipepala ya fanki imayambitsa kusokoneza kubwereza kufotokozera zamakono zatsopano zomwe sizinapangidwe.

stty args
kusintha kusintha kumayendedwe mofanana ndi lamulo la kunja.

Mwachidziwitso, malo otetezerawa amapezeka. Zomangamanga zina zingathe kupezeka mwa kuwonjezera "Zopempha za chikhalidwe zibwezeretseni ngati zotsatira za lamulo. Ngati palibe malo omwe akufunsidwa ndi ogonjetsa ogwira ntchito akupezekanso, chikhalidwe choyambirira cha zida zosaoneka ndi zobwereza zimabweretsedwa mu mawonekedwe omwe angadzakhalenso amagwiritsidwa ntchito ndi lamulo.

Mwachitsanzo, zifukwa zosakanizika kapena zoponyedwa zimapangitsa kuti chinthucho chikhale chosasinthika . Zokambirana -raw kapena zophikidwa zimapangitsa kuti chimbudzicho chikhale chophika. Zokambirana zikugwirizana ndi -echo kuika zotsiriza kuti zikhale zofanana ndi noecho zogwirizana.

Chitsanzo chotsatira chikuwonetsa momwe mungalephere kulembera. Izi zikhoza kugwiritsidwa ntchito mwatsatanetsatane-zolemba zosavuta kuti musalowetsepo mapepala mwa iwo. (Onani zambiri zokambirana pa izi pansi pa EXPECT HINTS pansipa.)

stty -echo send_user "Chinsinsi:" kuyembekezera -re "(. *) \ n" kukhazikitsa mawu achinsinsi $ expect_out (1, string) stty echo

mawonekedwe
amapereka args kuti sh (1) monga kulowetsa, ngati kuti yayimilidwa ngati lamulo kuchokera ku terminal. Yembekezani kuyembekezera mpaka chipolopolocho chitatha. Mkhalidwe wobwerera kuchokera ku sh umayendetsedwa mofanana ndi momwe akugonjetsera mkhalidwe wake wobwerera.

Mosiyana ndi machitidwe omwe amatsitsiratu stdin ndi stdout ku script, dongosolo silitembenuzidwanso (kupatulapo lomwe likuwonetsedwa ndi chingwe chomwecho). Choncho, n'zotheka kugwiritsa ntchito mapulogalamu omwe ayenera kuyankhula molunjika kwa / dev / tty. Pa chifukwa chomwecho, zotsatira za dongosolo sizinalembedwe muzenera.

timatampamp [agulu]
kubwezera timestamp. Popanda kutsutsana, chiwerengero cha masekondi kuyambira nthawi imeneyo chibwezeretsedwa.

Mbendera ya -format imatulutsa chingwe chimene chimabwezedwa koma m'malo mwake amasinthidwa malinga ndi malamulo a POSIX a strftime. Mwachitsanzo% a amalowetsedwa ndi dzina lachidule lamasabata (ie, Sat). Ena ndi awa:

% Dzina la sabata losindikizidwa% A tsiku la sabata lathunthu dzina% b lolembedwa mwezi mwezi dzina% B mwezi wathunthu dzina% c nthawi ya nthawi monga: Wed Oct 6 11:45:56 1993% d tsiku la mwezi (01-31% H ola (00-23)% I ora (01-12)% j tsiku (001-366)% m mwezi (01-12)% M mphindi (00-59)% p am kapena masana% S yachiwiri (00-61) % u tsiku (1-7, Lolemba tsiku loyamba la sabata)% U sabata (00-53, Lamlungu loyamba ndi tsiku loyamba la sabata limodzi)% V sabata (01-53, kalembedwe la ISO 8601)% w tsiku (0- 6)% W sabata (00-53, Lolemba loyamba ndi tsiku loyamba la sabata imodzi)% x nthawi yamasiku monga: Wed Oct 6 1993% X nthawi monga: 23:59:59% y chaka (00-99) % Y chaka monga: 1993% Z nthawizone (kapena palibe ngati sichidziwika) %% chizindikiro chopanda kanthu

Zina mwazinthu zina sizidziwika. Zithunzi zina zidzadutsa mwazosamvetsetseka. Malo okhawo a C amathandizidwa.

A_ndondomeko ya mbendera imayambitsa masekondi angapo kuyambira nthawi yomwe idzagwiritsidwe ntchito ngati gwero lomwe mungapange. Apo ayi, nthawi yamakono ikugwiritsidwa ntchito.

Mgwirizano wa -gmt umapangitsa kukonza timestamp kuti tigwiritse ntchito nthawi ya GMT . Popanda mbendera, nthawi yam'deralo imagwiritsidwa ntchito.

zizindikiro [[lamulo]
amachititsa lamulo loperekedwa kuti lichitidwe pazolandila zam'tsogolo zomwe zilipo. Lamulo likugwiritsidwa ntchito padziko lonse. Ngati lamulo siliripo, chiwonetsero chabwezeretsedwa. Ngati lamulo ndilo chingwe SIG_IGN, zizindikirozo sizikunyalidwa. Ngati lamulo ndilo chingwe SIG_DFL, zizindikirozo zimapangitsa kuti pulogalamuyo isasinthe. zizindikiro mwina ndi chizindikiro chimodzi kapena mndandanda wa zizindikiro. Zizindikiro zinganenedwe pamtundu kapena mophiphiritsa ngati chizindikiro (3). Choyimira "SIG" chingalephereke.

Popanda kutsutsana (kapena ndondomeko yochuluka), msampha umabweretsanso nambala ya chizindikiro cha msampha womwe umayesedwa panopa.

Mbendera ya -code imagwiritsa ntchito chikhombo chobwezera cha lamulo mmalo mwa chilembo chirichonse Tcl chinali pafupi kubwerera pamene lamulo poyamba linayamba kuthamanga.

Mbendera ya-- terpp imapangitsa kuti lamulo liziyankhidwa pogwiritsira ntchito womasulira akugwira ntchito nthawi yomwe lamulo liyamba kuyendetsa osati pamene msampha unalengezedwa.

Dzina- lamalonda limayambitsa msampha kuti abwezeretse dzina la chizindikiro cha msampha womwe ukuperekedwa panopa.

Mbendera -max imayambitsa msampha kubwezera chiwerengero chachikulu cha chizindikiro chimene chingathe kukhazikitsidwa.

Mwachitsanzo, lamulo "msampha {send_user" Ouch! "} SIGINT" idzasindikiza "Ouch!" nthawi iliyonse wosuta amatsitsa ^ C.

Mwachinsinsi, SIGINT (yomwe nthawi zambiri imapangidwira mwa kukanikiza ^ C) ndi SIGTERM chifukwa Chiyembekezere kuti mutuluke. Ichi ndi chifukwa cha msampha wotsatirawu, wopangidwa ndi chosasintha pamene kuyembekezera kumayamba.

Kutuluka kwa msampha {SIGINT SIGTERM}

Ngati mugwiritsa ntchito -B flag kuti muyambe kugwiritsira ntchito, SIGINT imayambanso kufotokoza zoyambira zogwirizana. Ichi ndi chifukwa cha msampha wotsatira:

msampha {exp_debug 1} SIGINT

Mtewu wosinthika ungasinthidwe mwa kukhazikitsa zosiyana zachilengedwe EXPECT_DEBUG_INIT ku lamulo latsopano la msampha.

Mungathe, kuwonjezera, kuwonjezera pa zonsezi mwa kuwonjezera misampha malemba anu. Makamaka, ngati muli ndi "msampha wotuluka SIGINT", izi zidzasokoneza msampha wa debugger. Izi ndi zothandiza ngati mukufuna kuteteza owerenga kuti asamalowe.

Ngati mukufuna kufotokozera msampha wanu pa SIGINT komabe mumangomanga msampha pamene ikugwira ntchito, gwiritsani ntchito:

ngati {! [exp_debug]} {msampha chinsinsi SIGINT}

Mwinanso, mungathe kumanga msampha wogwiritsa ntchito chizindikiro china.

Msampha sungakulepheretseni kuchitapo kanthu pa SIGALRM monga izi zikugwiritsidwa ntchito mkati kuti muyembekezere . Lamulo lothandizira limayika SIGALRM ku SIG_IGN (samanyalanyaza). Mungathe kubwezeretsanso izi malinga ngati mukuziletsa pakapita malamulo ena.

Onani chizindikiro (3) kuti mudziwe zambiri.

dikirani [ziwembu]
imachedwetsa mpaka patsiku (kapena njira yomwe ilipo ngati palibe dzina lake) imatha.

dikirani kawirikawiri kubwezeretsanso mndandanda wa intego zinai. Kulowa koyamba ndi pid ya njira yomwe idali kuyembekezera. Kuphatikiza kwachiwiri ndi id yomwe ikugwirizana nayo. Kuwonjezeka kwachitatu ndiko -1 ngati cholakwika cha opaleshoni chinachitika, kapena 0 apo ayi. Ngati chiwerengero chachitatu chinali 0, chiwerengero chachinayi ndizobwezeredwa ndi ndondomeko yoyamba . Ngati chiwerengero chachitatu chinali -1, chiwerengero chachinayi ndi mtengo wa errno womwe umayikidwa ndi dongosolo loyendetsera ntchito. Cholakwika cha padziko lonse chosinthika chimaikidwanso.

Zinthu zina zowonjezera zingawonekere kumapeto kwa mtengo wobwerera kuchokera kudikira . Chosankhidwa chachisanu chachisanu chikufotokozera gulu la chidziwitso. Pakalipano, phindu lokhalo lachidziwitso ndilo CHILDKILLED muzochitika izi zikhalidwe ziwiri zotsatirazi ndi dzina la chizindikiro cha C komanso mawonekedwe achidule.

I_i bendera imalongosola njira yodikirira mofanana ndi dzina lake spawn_id (OSATI ndondomeko ya id). M'kati mwa wothandizira SIGCHLD, n'zotheka kuyembekezera njira iliyonse yomwe imagwiritsidwa ntchito pogwiritsa ntchito chida cha 1.

Mbendera ya -nowait imachititsa kuyembekezera kubwerera mwamsanga ndi chizindikiro cha kudikira bwino. Pamene ndondomeko ikuchoka (kenako), idzawonongeka mosavuta popanda kufunika kodikira.

Lamulo ladikira likhonza kugwiritsidwanso ntchito kuyembekezera ndondomeko yoyikidwa pogwiritsa ntchito zifukwa "-i -1". Mosiyana ndi momwe amagwiritsira ntchito ndi ndondomeko zowonongeka, lamulo ili likhoza kuchitidwa nthawi iliyonse. Palibe mphamvu yowonongeka . Komabe, mtengo wobwereza ukhoza kuyang'anitsitsa kwa id idzinthu.

MABUKU

Yembekezani mumadziŵa molongosoka makalata awiri omangidwira kuti muyembekezere malemba. Izi zimatanthauzidwa ndi maofesi omwe amatchulidwa muzosiyanaxp_library ndi exp_exec_library. Zonsezi zimakhala ndi mafayilo othandizira omwe angagwiritsidwe ntchito ndi malemba ena.

exp_library ili ndi mafayilo odziimira okhaokha. exp_exec_library ili ndi mafayilo odalirika a zomangamanga. Malingana ndi dongosolo lanu, zolemba zonsezi zingakhale zopanda kanthu. Kukhalapo kwa fayilo $ exp_exec_library / kat-buffers imatanthawuza ngati bukhu lanu / bin / katemera mwachisawawa.

ZOKUTHANDIZA

Vgrind ndondomeko ilipo kwa yokongola-yosindikiza Yembekezerani malemba. Poganiza kuti vgrind kutanthauzira kumene kumaperekedwa ndi kuyembekezera kuti kufalitsa kuikidwa bwino, mungagwiritse ntchito monga:

vgrind -lexpect file

ZITSANZO

Ambiri samawonekeratu momwe angagwirizanitse zinthu zonse zomwe tsamba la munthu limafotokoza. Ndikukulimbikitsani kuti muwerenge ndi kuyesa zitsanzo mu bukhu lachitsanzo la kuyembekezera kugawa. Zina mwazo ndi mapulogalamu enieni. Zina ndi zitsanzo chabe za njira zina, ndipo ndithudi, banjali limangoyamba kumene. Fayilo YOSUNGA ili ndi phunzilo lachidule la mapulogalamuwa.

Zimayang'anitsa mapepala (onani ONANI) ndi zothandiza. Ngakhale mapepala ena amagwiritsira ntchito syntax yofanana ndi machitidwe oyambirira a Chiyembekezero, mfundo zotsatizanazi zidali zowonjezereka ndipo zimapita mwatsatanetsatane kwambiri kuposa tsamba la munthu.

ZIZINDIKIRO

Zowonjezera zingaphatikizepo ndi mayina a mayembekezera a Expect. Mwachitsanzo, kutumiza kumatanthauzidwa ndi Tk kwa cholinga chosiyana. Pachifukwa ichi, zambiri za kuyembekezera malamulo zikupezeka ngati "exp_XXXX". Malamulo ndi zosiyanasiyana zomwe zimayamba ndi "exp", "inter", "spawn", ndi "nthawi yopuma" alibe zoyenera. Gwiritsani ntchito maina olamulidwa ngati mukufuna kuyanjana pakati pa zozungulira.

Kuyembekeza kumawoneka mwachidwi kuwonetsa. Makamaka, mitundu yowerengedwa ndi malamulo yeniyeni ya kuyembekezera pulogalamu idzafunidwa koyamba kuchokera kumalo a m'dera lanu, ndipo ngati simukupezeka, muyeso lonse. Mwachitsanzo, izi zimalepheretsa kuyika "nthawi zonse" nthawi zonse zomwe mumalemba zomwe zimagwiritsidwa ntchito. Komabe, zolembedwa zinalembedwa nthawi zonse m'madera am'deralo (kupatula ngati lamulo la "global" laperekedwa). Vuto lalikulu lomwe limayambitsa ndi pamene spawn ikuchitidwa mwatsatanetsatane. Kunja kwa njirayi, spawn_id ilibenso, kotero, njira yomwe yayambirayo sichikupezekanso chifukwa cha kuyang'ana. Onjezani "spawn_id" padziko lonse.

Ngati simungathe kulepheretsa ma multiispawning (ie, mawonekedwe anu samathandiza kapena kusankha (BSD *. *), Kufufuza (SVR> 2), kapena chinthu chofanana), Yembekezani tidzatha kuthetsa njira imodzi pa nthawi. Pankhaniyi, musayese spawn_id , komanso musayese njira zomwe mukugwiritsa ntchito poyesa pamene polojekiti ikugwira ntchito. Kuwonjezera pamenepo, simungathe kuyembekezera njira zosiyanasiyana (kuphatikizapo wogwiritsa ntchito imodzi) panthawi yomweyo.

Zigawo zamagetsi zingakhudze kwambiri malemba. Mwachitsanzo, ngati malemba alembedwa kuti awoneke, amatha kulakwitsa ngati kutsekedwa kutsekedwa. Pachifukwa ichi, Yembekezani mphamvu zowonongetsa magawo mwachindunji. Tsoka ilo, izi zingapangitse zinthu zosasangalatsa kwa mapulogalamu ena. Mwachitsanzo, emacs shell ikufuna kusintha mappings "mwachizolowezi": mauthenga atsopano amamangidwe kumalo atsopano mmalo mwa matebulo obwereranso amtengatenga, ndipo kuvomereza kumalephereka. Izi zimalola munthu kugwiritsira ntchito emacs kuti asinthe mzere wolembera. Mwamwayi, Yembekezani simungathe kuganiza izi.

Mungathe kuitanitsa kuti Musamayembekezere kupitirira malire ake osasintha a magawo osungira, koma muyenera kusamala kwambiri polemba zikalata pa malo oterowo. Pankhani ya emacs, pewani kudalira zinthu monga kumveka ndi mapeto a mapu.

Malamulo omwe amavomereza kukangana akugwiritsidwa ntchito mndandanda umodzi ( kuyembekezera zosiyanasiyana ndikugwirizanitsa ) gwiritsani ntchito chidziwitso kuti ngati mndandanda uli mndandanda umodzi kapena ambiri. Mchitidwe wotsutsana nawo ukhoza kulephera pokhapokha ngati mndandanda ukuimira mndandanda umodzi womwe uli ndi malemba ochuluka omwe ali ndi zida zosakhala zachizungu pakati pawo. Izi zimawoneka zosakwanira, komabe mkangano "-nobrace" ungagwiritsidwe ntchito kukakamiza mtsutso umodzi kuti ugwiridwe ngati mtsutso umodzi. Izi mwachiwonekere zimagwiritsidwa ntchito ndi makina opangidwa ndi Expect code. Mofananamo, -tsani kuti mfundo imodzi ikhale yogwirizana monga machitidwe ambiri / zochita.

BUGS

Zinali kuyesa kutchula pulogalamuyo "kugonana" (mwachitsanzo "Smart EXec" kapena "Kutumiza-Kuwona"), koma luntha (kapena mwina Puritanism) linapambana.

Pa machitidwe ena, pamene chipolopolo chimayambira, chimadandaula kuti sichikhoza kuthandizira koma chimatha. Izi zikutanthauza kuti dongosolo lanu liri ndi njira yokhala ndi olamulira omwe Amayembekeza sakudziwa. Chonde tafuzani chomwe chiri, ndikutumizanso uthenga uwu kwa ine.

Ultrix 4.1 (osachepera Mabaibulo atsopano apa) akuganizira nthawi yomwe ili pamwambapa kuti ikhale yofanana ndi 0.

Digital UNIX 4.0A (ndipo mwinamwake matembenuzidwe ena) amakana kugawa ptys ngati mutanthauzira wogwira SIGCHLD. Onani tsamba lothandizira kuti mudziwe zambiri.

IRIX 6.0 sichithana ndi zilolezo za pty molondola kuti ngati Muyembekeza kuyesa kugawa pty yomwe kale idagwiritsidwa ntchito ndi wina, imalephera. Bwererani ku IRIX 6.1.

Telnet (yotsimikiziridwa pokhapokha pansi pa SunOS 4.1.2) imapachikidwa ngati TERM isasankhidwe. Limeneli ndi vuto pansi pa cron, ndi mu zolemba, zomwe sizikutanthauza TERM. Choncho, muyenera kuziyika momveka bwino - ndi mtundu wotani umene suli wofunikira. Izo zimangoyenera kukhazikitsidwa ku chinachake! Zotsatirazi zikutheka kuti zimakwanira nthawi zambiri.

ikani env (TERM) vt100

Chizindikiro (kutsimikiziridwa kokha pansi pa BSDI BSD / OS 3.1 i386) chimapachika ngati SHELL ndi HOME sizikhazikitsidwa. Limeneli ndi vuto pansi pa cron , ndi mu zolemba, zomwe sizikutanthauzira zosiyana siyana. Choncho, muyenera kuziyika momveka bwino - ndi mtundu wotani umene suli wofunikira. Izo zimangoyenera kukhazikitsidwa ku chinachake! Zotsatirazi zikutheka kuti zimakwanira nthawi zambiri.

yambani (SHELL) / bin / sh ikani (HOME) / usr / loc / bin

Zochita zina za ptys zakonzedwa kotero kuti kernel imataya chilichonse chosaphunzira pambuyo 10 mpaka 15 masekondi (nambala weniweni ndi kudalira polojekiti) pambuyo ndondomeko yatseka fayilo descriptor. Choncho kuyembekezera mapulogalamu monga

tsiku lagona 20 muziyembekezera

adzalephera. Kuti mupewe izi, pemphani mapulogalamu osagwirizana nawo pogwiritsa ntchito m'malo mmalo mozaza . Ngakhale kuti zochitika zoterezi zingatheke, mwazizolowezi sindinayambe ndakumanapo ndi momwe chiwonetsero chotsiriza cha pulogalamu yowonjezera chitayika chifukwa cha khalidweli.

Kumbali inanso, Ponyani UNICOS ptys kuponyera kanthu kosawerengeka kalikonse pokhapokha ndondomeko yatseka fayilo yofotokozera. Ndalongosola izi kuti ndipereke ndipo akukonzekera.

Nthawi zina kuchedwa kumafunika pakati pa mwamsanga ndi yankho, monga pamene mawonekedwe akuthandizira kusintha kwa UART kapena kuyerekezera chiwerengero cha baud mwa kuyang'ana bits yoyamba / kusiya. Kawirikawiri, izi zonse zimafunikira kuti tigone kwachiwiri kapena ziwiri. Njira yowonjezereka ndiyo kuyesa mpaka hardware itakonzeka kulandira thandizo. Chitsanzo chotsatira chikugwiritsa ntchito njira ziwiri:

tumizani "speed 9600 \ r"; kugona 1 kuyembekezera {nthawi] kutumiza "\ r"; exp_continue} $ prompt}

Code-trap siigwira ntchito ndi lamulo lililonse limene limakhala mu Tcl, monga kugona. Vuto ndilokuti pamtundu wachidule, Tcl imasiyitsa makalata obweretsera kuchokera kwa ogwira ntchito ngati async. Ntchito yothetsera mbendera muzitsulo. Kenaka fufuzani mbendera patatha lamulo (ie, kugona).

Chiyembekezero_malo oyang'anira malo osamalidwa amanyalanyaza -kukhala ndi zifukwa zotsutsa ndipo alibe lingaliro la nthawi yowonjezera.

& # 34; EXPECT HINTS & # 34;

Pali zinthu zingapo zokhudzana ndi kuyembekezera kuti izi zikhale zosadziwika. Gawo ili likuyesera kuthetsa zina mwa zinthu izi ndi mfundo zingapo.

Vuto loyembekezeka lomwe liri lodziwikiratu ndi momwe mungadziŵe zovuta. Popeza izi zimasinthidwa mosiyana ndi anthu osiyanasiyana ndi zipolopolo zosiyana, kusinthasintha kwapadera kungakhale kovuta popanda kudziwa mwamsanga. Msonkhano wololera ndi kuti ogwiritsa ntchito asungidwe kawirikawiri kufotokozera kufulumira kwawo (makamaka, mapeto ake) mu kusintha kwa chilengedwe EXPECT_PROMPT. Code ngati zotsatirazi zingagwiritsidwe ntchito. Ngati EXPECT_PROMPT palibe, codeyi ili ndi mwayi wogwira ntchito molondola.

yikani mwamsanga "(% | # | \\ $) $"; # default prompt catch {setani $ env (EXPECT_PROMPT)} kuyembekezera $ mwamsanga

Ndikukulimbikitsani kuti mulembe zochitika zomwe zikuphatikizapo mapeto a chirichonse chomwe mukuyembekeza kuchiwona. Izi zimapewa kuthekera kuyankha funso musanawone chinthu chonsecho. Kuonjezerapo, ngakhale mutatha kuyankha mafunso musanawaone bwinobwino, ngati mutayankha mofulumira, yankho lanu likhoza kuwonekera pakati pa funsoli. Mwa kuyankhula kwina, zokambiranazo zidzakhala zolondola koma zikuwoneka zovuta.

Zowonjezera zambiri zimaphatikizapo munthu wachinsinsi pamapeto. Mwachitsanzo, mwamsanga kuchokera ku ftp ndi 'f', 't', 'p', '>' ndi. Kuti mufanane mwamsanga, muyenera kulemba aliyense wa anthuwa. Ndi kulakwitsa kwakukulu kuti musaphatikizepo kanthu kopanda kanthu. Ikani chopanda kanthu mwachindunji.

Ngati mumagwiritsa ntchito fomu ya fomu X *, i * idzafanana ndi zonse zomwe zinaperekedwa kuchokera kumapeto kwa X mpaka chinthu chotsiriza chomwe chinalandira. Izi zikumveka bwino koma zingakhale zosokoneza chifukwa mawu akuti "chinthu chotsiriza" analandira amasiyana malinga ndi liwiro la kompyuta ndi kukonza kwa I / O onse ndi kernel ndi dalaivala.

Makamaka, anthu amakonda kuona pulojekiti yomwe ikufika mu chunks yaikulu (atomically) pamene kwenikweni mapulogalamu amapanga mzere umodzi pa nthawi. Poganiza kuti izi ndizochitika, i * mu ndondomeko ya ndime yapitayi ingagwirizane ndi mapeto a mndandanda wamakono ngakhale kuti zikuwoneka kuti zilipo zambiri, chifukwa pa nthawi ya masewerawo ndizo zonse zomwe zinaperekedwa.

kuyembekezera kuti palibe njira yodziwira kuti zotsatira zina zikubwera pokhapokha pulogalamu yanu imalongosola momveka bwino.

Ngakhalenso malingana ndi kugwiritsidwa ntchito pazitsulo si nzeru. Mapulogalamu samangopanga malonjezo okhudzana ndi mtundu umene amamenyana nawo, komabe njira zowonongeka zimatha kusokoneza mzerewu kuti mizere iwononge malo ooneka ngati osasangalatsa. Choncho, ngati mungathe kufotokozera malemba angapo ofulumira polemba zolemba, ndi kwanzeru kuchita zimenezo.

Ngati mukufuna kuyembekezera pulogalamu yotsiriza ya pulojekiti ndipo pulogalamuyi imatulutsa chinthu china m'malo mwake, simungathe kuizindikira ndi mawu achinsinsi. Chifukwa chake ndikuyembekeza kuti sitidzakhalanso ndi nthawi - m'malo mwake tidzakhala ndi chidziwitso. Gwiritsani ntchito mmalo mwake. Ngakhale bwino, gwiritsani ntchito zonsezi. Mwanjira imeneyo ngati mzerewu umasunthidwa mozungulira, simukuyenera kusintha mzere wokha.

Newlines nthawi zambiri amatembenuzidwa kubwereranso galimoto, zomwe zimagwiritsidwa ntchito pamtunduwu pamene zatulutsidwa ndi woyendetsa galimoto. Choncho, ngati mukufuna chitsanzo chomwe chikugwirizana ndi mizere iwiri, kuchokera, nenani, printf ("foo \ nbar"), muyenera kugwiritsa ntchito chitsanzo "foo \ n \ n".

Kutanthauzira kotereku kumachitika pamene mukuwerenga kuchokera kwa wosuta, pogwiritsa ntchito_kuyembekeza . Pachifukwa ichi, mukakakamiza kubwerera, idzatembenuzidwa ku newline. Ngati Mumayembekezera kuti izi zithera pulogalamu yomwe imayika kuti ikhale yopita patsogolo (monga telnet), padzakhala vuto, pamene pulogalamuyo ikuyembekeza kubweranso. (Mapulogalamu ena ali okhululukirana makamaka kuti azitha kumasulira malonda atsopano kuti abwerenso, koma ambiri samatero.) Mwatsoka, palibe njira yodziwira kuti pulogalamuyi imaika malo ake osinthika kukhala opangira.

M'malo molemba m'malo atsopano ndi zowonjezera, yankho ndilo kugwiritsa ntchito lamulo la "stty raw", lomwe lidzasiya kumasulira. Dziwani kuti, izi zikutanthauza kuti simungapezekanso zinthu zowonjezera mzere.

kuyanjana kwathunthu kumapangitsa kuti odwala anu apange mafayilo osakanikira kotero vuto ili silidzawuka ndiye.

Nthawi zambiri zimathandiza kusunga mapepala achinsinsi (kapena zinsinsi zina) muyembekezere malemba. Izi sizikulimbikitsidwa chifukwa chirichonse chimene chatsidwa pa kompyuta chimakhala chopezeka ndi wina aliyense. Potero, kuitanitsa mwachinsinsi mawu achinsinsi kuchokera mulemba ndi lingaliro labwino kuposa kulumikiza iwo kwenikweni. Ngakhale zili choncho, nthawi zina kulowa mkati ndiko kungatheke.

Mwamwayi, UNIX mafayilo alibe njira yolunjika yopangira malemba omwe ali operewera koma osawerengeka. Zomwe zimagwirizanitsa zilembo zamagulu zina zimatsanzira izi motere:

Pangani kuyembekezera script (yomwe ili ndi data yobisika) mwachizolowezi. Pangani zilolezo zake kukhala 750 (-rwxr-x ---) ndi omwe ali ndi gulu lodalirika, mwachitsanzo, gulu limene limaloledwa kuliwerenga. Ngati ndi kotheka, pangani gulu latsopano pa cholinga ichi. Kenaka, pangani malemba / bin / sh ndi zilolezo 2751 (-rwxr-s - x) zomwe zili ndi gulu lomwelo kale.

Zotsatira zake ndizolemba zomwe zingathe kuphedwa (ndi kuwerenga) ndi wina aliyense. Mukayitanitsa, imayendetsa script.

& # 34; ONANI ZINA & # 34;

Tcl (3), osayembekezereka (3)
"Kufufuza Kuyembekezeredwa: Buku la Tcl-Based Based Toolkit lotsogolera Mapulogalamu Ophatikizapo" ndi Don Libes, pp 602, ISBN 1-56592-090-2, O'Reilly ndi Associates, 1995.
"kuyembekezera: Kuchiza Zosasinthasintha Zosasinthasintha" ndi Don Libes, Proceedings of the Summer 1990 Conference ya USENIX, Anaheim, California, June 11-15, 1990.
"Ndikugwiritsa ntchito kuyembekezera kuti ntchito zowonongeka zowonongeka" ndi Don Libes, Proceedings of the 1990 USENIX Great Installation Systems Administration Conference, Colorado Springs, Colorado, October 17-19, 1990.
"Tcl: Chilankhulo Choyendetsa Ntchito" cholembedwa ndi John Ousterhout, Proceedings of the Winter 1990 USENIX Conference, Washington, DC, January 22-26, 1990 .. "Ndikuyembekeza: Scripts for Controlling Interactive Programs" ndi Don Libes, Computing Systems , Vol. 4, No. 2, nyuzipepala ya Press yunivesite ya California, November 1991. "Kuyesedwa ndi Kugonjetsa Kuyesera Mapulogalamu Ophatikizana", ndi Don Libes, Proceedings of the Summer 1992 USENIX Conference, pp. 135-144, San Antonio, TX, June 12-15, 1992. "Kibitz - Connecting Multiple Interactive Programs Together", ndi Don Libes, Software - Practice & Experiences, John Wiley & Son, West Sussex, England, Vol.

23, No. 5, Meyi, 1993. "A Debugger for Applications Tcl", lolembedwa ndi Don Libes, Proceedings of the 1993 Tcl / Tk Workshop, Berkeley, CA, June 10-11, 1993.

WOLEMBA

Don Libes, National Institute of Standards ndi Technology

ZIZINDIKIRO

Tikuthokoza John Ousterhout kwa Tcl, ndi Scott Paisley kuti adziuzidwe. Chifukwa cha Rob Savoye chifukwa cha kuyembekezera kwa autoconfiguration code.

POYAMBA fayilo imalemba zambiri za kusinthika kwa kuyembekezera . Zimapanga kuwerenga kokondweretsa ndipo zingakupatseni kuzindikira kwina pulogalamuyi. Chifukwa cha anthu omwe atchulidwa mmenemo omwe ananditumizira kukonza kachidutswa ndikupereka thandizo lina.

Kukonzekera ndi kukhazikitsidwa kwa kuyembekezera kunkaperekedwa kwa mbali imodzi ndi boma la US ndipo kotero ndilo lotchuka. Komabe wolemba ndi NIST angafune ngongole ngati pulogalamuyi ndi zolembedwa kapena magawo a iwo akugwiritsidwa ntchito.