Letsoho le Linux / Unix Lebeletse

Lebella ke lenaneo le buang le mananeo a mang a kopanetsoeng ho ea ka script. Ho latela script, Lebeletse ho tseba hore na ho ka lebelloa eng lenaneong le hore na karabo e nepahetseng e lokela ho ba efe. Puo e fetoletsoeng e fana ka mekhoa ea ho laola le ho phahamisa maemo ho tataisa moqoqo. Ho phaella moo, mosebeletsi a ka nka taolo le ho sebelisana ka ho toba ha a lakatsa, ka mor'a moo a khutlisetsa taolo ho script.

E lebeletse ke motsoako oa Lebelletse le Tk. E itšoara joaloka Tšepo ea Tk le Tk. Lebella hape e ka sebelisoa ka ho toba C kapa C ++ ntle le Tcl.

Lebitso "Lebella" le tsoa khopolong ea ho romela / ho lebella liketso tse atolositsoeng ke uucp, kermit le mananeo a mang a ho laola modem. Leha ho le joalo ho fapana le uucp, Lebella ke e tloaelehileng e le hore e ka tsamaisoa e le taelo ea level-user le lenaneo le mosebetsi ka kelellong. Lebella ho ka bua mananeong a 'maloa ka nako e le' ngoe.

Seo U ka se Lebella

Ka mohlala, mona ke lintho tse ling tseo taelo e lebelletseng e ka e etsang:

Ho na le mabaka a sa tšoaneng a etsang hore khetla e sitoe ho etsa mesebetsi ena. Tsohle li ka khoneha ka ho Lebella.

Ka kakaretso, Lebeletse ho le molemo bakeng sa ho sebetsa lenaneo leha e le lefe le hlokang ho sebelisana pakeng tsa lenaneo le mosebeletsi. Sohle se hlokahalang ke hore ho kopana ho ka khetholloa ka mokhoa o hlophisitsoeng. Lebella ho ka boela ha khutlisetsa taolo ho mofani ntle le ho emisa lenaneo le laoloang. Ka mokhoa o ts'oanang, mosebeletsi a ka khutlisetsa taolo ho script ka nako efe kapa efe.

Tšebeliso

Lebeletse li-cmd tse balang bakeng sa lenane la litaelo tse lokelang ho etsoa. Lebella ho ka 'na ha etsoa ka ho toba litsing tse tšehetsang #! tlhaloso ka ho ngolisa script e le e sebetsang le ho etsa molaetsa oa pele mongolong:

#! / usr / local / bin / ho lebella -f

Ha e le hantle, tsela e tlameha ho hlalosa hantle hore na o lebeletse ho phela hokae. / usr / local / bin ke mohlala feela.

The -c flag e qala ka taelo e lokelang ho etsoa pele ho leha e le efe e ngotsoeng. Taelo e lokela ho qotsoa ho thibela ho robeha ke khetla. Khetho ena e ka sebelisoa hangata. Litaelo tse ngata li ka etsoa ka e le ngoe -c ka ho li arola ka semicolons. Melao e etsoa ka tatellano eo e hlahang. Ha u sebelisa Expectk, kgetho ena e boleloa e le -letseng.

The -la folakha e fana ka lisebelisuoa tse ling tsa ho hlahloba, tse ka sehloohong tse tlaleha liketso tsa ka hare tsa litaelo tse kang ho lebella le ho sebelisana. Le folakha e na le phello e tšoanang le "exp_hareng 1" qalong ea ho lebella script, hammoho le phetolelo ea Tebello e hatisitsoe.

Le-Lebala la D le lumella sebui se kopanetsoeng. Ntho e kholo e lokela ho latela. Mochankana o tla nka taolo pele mokhoa o latelang oa Tcl haeba boleng bo se bo-zero kapa haeba ^ C e hatelloa kapa khetho e senyeha, kapa taelo e 'ngoe e loketseng ea boipelaetso e hlaha ka script. Ha u sebelisa Expectk, kgetho ena e hlalosoa e le - Debug.

The -f flag e qalisa faele eo ho ka balang litaelo ho eona. Le folakha ka boeona ke ea boikhethelo ha e ntse e le molemo ha u sebelisa #! notation, e le hore linyeoe tse ling li fanoe molaong oa taelo. Ha u sebelisa Expectk, khetho ena e hlalosoa e le -file.

Ka ho feletseng, faele ea litaelo e baloa mo memeng mme e phethoa ka kakaretso. Ka linako tse ling hoa lakatseha ho bala lifaele tse le 'ngoe ka nako. E le hore u qobelle liforomo tse fapaneng tse lokelang ho sebetsoa ka tsela ena, sebelisa -b folakha. Ha u sebelisa Expectk, kgetho ena e boleloa e le-e le bobebe.

Haeba mohala o "-" o fanoa e le filename, ho etsoa tlhahiso e tloaelehileng ho e-na le hoo. Sebelisa "./-" ho bala ho tsoa faeleng e hlileng e bitsoa "-".

The_a folakha e etsa hore Lebeletse ho kena ka potlako bakeng sa litaelo ho e-na le ho li bala ho faele. Ho potlakisa ho felisoa ka taelo ea ho tsoa kapa ho EOF. The_e folakha e nahana hore ha ho na faele ea litaelo kapa -a e sebelisoa. Ha u sebelisa Expectk, khetho ena e hlalosoa e le-e sa sebetse.

- e ka sebelisoa ho lokolla qetello ea dikgetho. Sena se na le thuso haeba u batla ho fetisa khang e kang ea kgetho ho script ea hau ntle le ho hlalosoa ke E lebeletse. Sena se ka kenngoa hantle ka #! mola ho thibela tlhaloso efe kapa efe ea folakha ka ho lebella. Ka mohlala, se latelang se tla tlohela mabaka a qalong ho kenyeletsa lebitso la script ka argument e feto-fetohileng.

#! / usr / local / bin / lebella -

Hlokomela hore likopano tse tloaelehileng (3) le ho phethahatsa (2) li tlameha ho hlokomeloa ha ho eketsa linyeoe ho #! line.

Feshene $ exp_library / expect.rc e phunyeletsoa habonolo haeba e le teng, ntle le haeba -la folakha e sebelisoa. (Ha u sebelisa Expectk, kgetho ena e boleloa e le -NORC.) Hang-hang ka mor'a sena, file ~ / .expect.rc e hlajoa ka boomo, ntle le haeba -la folakha e sebelisoa. Haeba mofuta o fapaneng oa tikoloho oa DOTDIR o hlalosoa, o tšoaroa e le lenaneo le .expect.rc e baloa ho tloha moo. Ha u sebelisa Expectk, kgetho ena e boleloa e le -norc. Ho senya sena ho etsahala feela ka mor'a ho hlasela leha e le efe -c lifolakha.

-a etsa hore Lebeletse ho hatisa nomoro ea eona ea phetolelo le ho tsoa. Papatso e lumellanang le Expectk, e sebelisang mabitso a nako e telele, ke -version.

Li-args tse ikhethileng li hahoa lethathamong mme li bolokoa ka ho feto-fetoha e bitsoang argv le. argc e qalisoa ho ea bolelele ba argument.

Argv0 e hlalosoa e le lebitso la script kapa le binary haeba ho se na script e sebelisoang. Ka mohlala, tse latelang li hlahisa lebitso la script le lintlha tse tharo tsa pele:

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

Melao

Lebella ho sebelisa Puo ea Taolo ea Tool. Tcl e fana ka phallo ea taolo (haeba, bakeng sa, ho senya), polelo ea tlhahlobo le likarolo tse ling tse kang recursionand mokhoa oa tlhaloso. Melao e sebelisitsoeng mona empa e sa hlalosoa (setha, haeba, e sebetsa) ke litaelo tsa Tcl. Lebella ho tšehetsa litaelo tse eketsehileng. Ntle le ha ho boletsoe ka hosele, litaelo li khutlisetsa thoko e se nang letho

Melao e thathamisitsoe ka mokhoa oa matsoho hore e tle e fumanehe hang-hang. Leha ho le joalo, basebelisi ba bacha ba ka fumana ho le bonolo ho qala ka ho bala litlhaloso tsa spawn, ho romella, ho lebella, le ho sebelisana, ka tatellano eo.

haufi [-laola] [-onexec 0 | 1] [-i spawn_id]

e koala kgokahanyo ho mokhoa o teng hona joale. Mananeo a mangata a kopanetsoeng a tla lemoha EOF ho stdin le ho tsoa; ka hona hangata hangata ho lekane ho bolaea mokhoa ona . The_a folakha e phatlalatsa mokhoa oa ho koala o lumellanang le ea bitsoang spawn_id.

Bobeli ba lebeletse mme ba kopane ba tla lemoha ha tshebetso ea morao-rao e tsoa 'me e etsa haufi-ufi, empa haeba u bolaea ts'ebetso eo , e re, "bolaea $ pid", ho hlokahala hore u hoeletse haufi .

Letšoao -oxec le na le qeto ea hore na ho na le sekoti se senang se koaletsoeng mekhoeng leha e le efe e ncha e entsoeng kapa haeba e kentse letsoho. Ho tlohela mahlaseli a marang-rang, sebelisa bohlokoa ba 0. Ntho e sa lekanyetsoang e ntseng e le ea bohlokoa e qobella mokelikeli ho koala mekhoa leha e le efe e ncha.

Lebala-lebala la makhotla le koala lekhoba le amanang le id. Ha kgokahano e koetsoe, lekhoba le koaloa hape ha le ntse le bulehile.

Ho sa tsotellehe hore na khokahano e koetsoe ka ho feletseng kapa ka ho hlakileng, o lokela ho letsetsa ho letela ho tlosa mokhoa o tšoanang oa ts'ebetso ea kernel. Taelo e haufi ha e bitse ho leta ha ho na tiiso ea hore ho koala ts'ebetso ho tla etsa hore e tsoe.

ho taboha [- ho tseba] 0 | 1]

e laola sebubu sa Tcl se u lumellang hore u tsamaee lipolelo mme u behe breakpoints.

Ha ho na mabaka, e 1 e khutlisetsoa haeba debugger e sa tsamaee, ho seng joalo 0 e khutlisetsoa.

Ka khang e 1, debugger e qalile. Ka khang e 0, debugger e emisoa. Haeba khang e 1 e etelitsoe pele-hona joale folakha, debugger e qala hang-hang. Ho seng joalo, debugger e qala ka polelo e latelang ea Tcl.

Taelo ea ts'oaetso ha e fetole maraba leha e le afe. Bapisa sena ho qala ho Lebella ka lebala -D.

Taelo ea ho khetholla e fokotsa mokhoa o thibetsoeng ho tloha ho terminal . E tsoela pele ho matha morao. Tshebetso ena e fanoa ka sehlopha sa eona sa ts'ebetso. I / O e tloaelehileng e khutlisetsoa ho / dev / null .

Sekhechana se latelang se sebelisa ho qhibiliha ho tsoela pele ho sebelisa script ka morao.

haeba {fork]! = 0} tsoa ho fokotsa. . .

Script e latelang e bala phasewete mme e tsamaisa lenaneo hora e 'ngoe le e' ngoe e batlang phasewete nako le nako ha e sebetsa. Script e fane ka phasewete e le hore feela oe thaepe hang.

romela "sesebelisoa" \ "ho lebella" -e "(. *) \ n" bakeng sa {} 1 {} {if {for {for {= {for {= {} {sleep 3600; tsoela pele} tlosa spawn priv_prog lebella Puseletso: romella "$ expect_out ( 1, khoele) \ r ". . . Etsoa }

Monyetla oa ho sebelisa ho khetholla ka lebaka la khetla ho latela mokhoa oa ts'ebetso (&) ke hore Litebello li ka pholosa litekanyo tsa ho qetela pele ho khethoa 'me hamorao li li sebelise ptys e ncha. Ka &, Lebella hore ha o na monyetla oa ho bala mekhahlelo ea liphallelo ho tloha ha sesebelisoa se se se ntse se khetholloa ke nako eo Lebella ho fumana taolo.

tsoa [-opts] [boemo]

Mabaka a Lebeletse ho tsoa kapa ho itokisetsa ho etsa joalo.

The -onex flag e etsa hore phehisano e latelang e sebelisoe e le mohlokomeli oa ho tsoa. Ntle le khang, mookameli oa hona joale oa ho tsoa o khutlisetsoa.

Le- lebokose le letona le etsa hore Lebeletse ho itokisetsa ho tsoa empa le khaotse ho laola tsamaiso ea ho sebetsa. Mookameli ea tsoang ho tsoa ho basebetsi o tsamaisoa hammoho le ba sebetsang ka hare ho Lebella. Ha ho letho le lebelloang Litebello li lokela ho etsoa. Sena se na le thuso haeba o ntse o matha Expect le lisebelisuoa tse ling tsa Tcl. Mofetoleli oa hona joale (le fensetere e ka sehloohong haeba tikolohong ea Tk) e lula e le hore litlhaloso tse ling tsa Tcl li ka hloekisa. Haeba o lebeletse hore o tsoa o bitsoa hape (leha ho le joalo sena se ka 'na sa etsahala), ba sebetsang ha ba khutlele morao.

Ha e tsoa, ​​likamano tsohle tsa mekhoa e hlahisoang li koetsoe. Ho koaloa ho tla fumanoa e le EOF ka mekhoa e hlahisitsoeng. ho tsoa ha ho na liketso tse ling ho feta seo tloaelo e tloaelehileng ea _exit (2) e se etsang. Ka hona, ho hlahisitsoe lits'ebeletso tse sa hlokomele hore EOF e ka 'na ea tsoela pele ho matha. (Maemo a fapa-fapaneng ke a bohlokoa ho fumana, mohlala, hore na ho na le matšoao afe a hlahisoang ke 'ona, empa a itšetlehile ka tsamaiso, e tloaelehileng e ngotsoe ka tlaase (3).) Ts'ebetso e tsoetseng pele e tsoelang pele ho sebetsa e tla futsitsoe ka init.

boemo (kapa 0 haeba bo sa boleloa) bo khutlisetsoa e le boemo ba ho tsoa ha Tebello . ho tsoa ho ngotsoe ka ho toba haeba qetello ea script e fihlile.

exp_continue [-continue_timer]
Taelo ea exp_ kopano e lumella hore e itšetlehe ka eona hore e tsoele pele e sebetsa ho e-na le ho khutla joalokaha e ne e tla tloaeleha. Ka kakaretso exp_thinue e tsosolosa nako ea nakoout. Letšoao la -continue_timer le thibela timer ho qala ho qala hape. (Shebella ho lebella tlhahisoleseding e eketsehileng.)

exp_internal [-f file] bohlokoa
e baka litaelo tse eketsehileng ho romela tlhahisoleseding ea ho hlahloba ka hare ho E lebeletse ho stderr haeba boleng bo se bo-zero. Sephetho sena sea holofala haeba boleng bo le 0. Boitsebiso ba ho hlahloba bo akarelletsa moelelo o mong le o mong o fumanoang, le boiteko bo bong le bo bong bo entsoeng ho bapisa phallo ea morao-rao khahlanong le mekhoa.

Haeba faele e khethiloeng e fanoa, tsohle tse tloaelehileng le ho buoa ka mokhoa o nepahetseng li ngotsoe file eo (ho sa tsotellehe bohlokoa ba boleng ). Ntho efe kapa efe e fetileng ea ho hlahloba fono e koetsoe.

The -lafilakha ea fofo e etsa hore ho be le-ho khone ho khutlisa tlhaloso ea lipolelo tsa morao-rao tse sa tsebeng tse fanoeng.

exp_open [li-arg] [-i spawn_id]
e khutlisetsa setšoantšo sa faele sa Tcl se lumellanang le sekheo sa pele sa spawn. Sebopeho sa faele se ka sebelisoa joale ha se buletsoe ke taelo ea Tcl e bulehileng . (Sesepa sa tlhaho ha se sa lokela ho sebelisoa. Ho leta ha hoa lokela ho etsoa.

Letšoao -leaveopen le tlohela ho fumana monyetla oa ho fumana ka ho lebella litaelo. Kemiso e tlameha ho etsoa holim'a id ea spa.

exp_pid [-i spawn_id]
e khutlisa mokhoa oa ts'ebetso o lumellanang le tshebetso e hlahisoang hona joale. Haeba -a folakha e sebelisoa, pid e khutlile e lumellana le ea seoa sa spawn se fanoeng.

exp_send
ke sebapali sa ho romela .

exp_send_error
ke lits'ebeletso tsa ho romela_notlo .

exp_send_log
ke boemong bo botle ba ho romela molaetsa .

exp_send_tty
ke sebopeho sa send_tty .

exp_send_user
ke moelelo oa ho romela-mosi .

exp_version [-exit] version]
e na le thuso bakeng sa ho netefatsa hore script e lumellana le phetolelo ea joale ea Tebello.

Kaha ha ho na likhang, phetolelo ea joale ea Tebello e khutlisetsoa. Phetolelo ena e ka 'na ea kenngoa ka har'a script. Haeba u tseba hore ha u sebelise likarolo tsa liphetoho tsa moraorao, u ka hlakisa phetolelo ea pejana.

Liphetolelo li na le linomoro tse tharo tse arohaneng le matheba. Ntho ea pele ke nomoro e kholo. Mangolo a ngotsoeng bakeng sa liphetolelo tsa Litebello le palo e kholo ea 'ona a ke ke a sebetsa. exp_version e khutlisa phoso haeba linomoro tse kholo li sa tšoane.

Ea bobeli ke palo e nyenyane. Mangolo a ngotsoeng bakeng sa phetolelo e nang le palo e nyenyane ho feta ea kajeno e ka 'na ea itšetleha ka karolo e' ngoe e ncha 'me e ka' na ea se ke ea sebetsa. exp_version e khutlisa phoso haeba linomoro tse kholo li bapana, empa nomoro e nyenyane e ngotsoeng e kholo ho feta ea ho lebella ho lebella .

Ea boraro ke palo e sa bapaleng le papiso ea tlhahiso. Leha ho le joalo, e eketseha ha tebello ea ho tsamaisa software e fetoloa ka tsela leha e le efe, e kang ka litokomane tse eketsehileng kapa khabiso. E khutlisetsoa ho 0 holim 'a' ngoe le e 'ngoe e nyenyane e ncha.

Ka le-folakha ea ho hlahisa, Lebella hore ho na le phoso le ho tsoa haeba phetolelo e sa tsoa fela.

lebella hore [[-pts] pat1 body1] ... [-opts] patn [bodyn]
e emetse ho fihlela e 'ngoe ea lipapiso e bapisa ho hlahisoa ha mokhoa o hlahisitsoeng, nako e boletsoeng e fetile, kapa qetello ea faele e bonahala. Haeba 'mele oa ho qetela o se na letho, o ka tlosoa.

Mehlala ea morao tjena e lebelletse - pele taelo e sebelisoa ka ho feletseng pele ho mekhoa efe kapa efe. Mehlala e tsoang ho taelo ea morao-rao e lebeletseng e sebelisoa ka ho feletseng ka mekhoa efe kapa efe.

Haeba lintlha tsa polelo eohle ea tebello li hloka makhetlo a fetang a le 'ngoe, liqabang tsohle li ka' na tsa "kenngoa" ho e le 'ngoe e le ho qoba ho fokotsa mola o mong le o mong ka morao. Ketsahalong ena, litsela tse tloaelehileng tsa TCl li tla etsahala ho sa tsotellehe li-braces.

Haeba mohlala ke lentsoe le ka sehloohong eof , 'mele o tšoanang o phethoa qetellong ea file. Haeba mohlala ke motsoako oa sehlooho, motsoako o sebetsanang ka nako e itseng. Haeba ha ho sebelisoe motlotlo oa nako-nako, khato e sa hlakileng e etsoa ka nako e itseng. Nako ea nako ea nako e sa lekanyetsoang ke metsotsoana e 10 empa e ka behoa, mohlala ho isa ho 30, ka taelo ea "sete nako" 30. Nako e sa feleng ea nako e ka khethoa ka bohlokoa -1. Haeba mohlala ke ntho e ka sehloohong e ka senyehang , 'mele o tšoanang o sebetsoa nakong eohle kapa qetellong ea file.

Haeba mohlala o bapisa, joale 'mele o lekanang o etsoa. lebella ho khutlisa sephetho sa 'mele (kapa khoele e se nang letho haeba ho se na mohlala o tšoanang). Ketsahalong ea hore lipapali tse ngata li bapalane, e hlahang pele e sebelisoa ho khetha 'mele.

Nako le nako ha nako e ncha e fihla, e bapisoa le mokhoa o mong le o mong ka tatellano eo e thathamisitsoeng ho eona. Ka hona, u ka 'na ua leka ho ba sieo ha papali ka ho etsa mohlala oa ho qetela ho hong ho tiisitsoeng hore o tla hlaha, joalo ka potlako. Maemong a ho se na potlako, o tlameha ho sebedisa nako (feela joalokaha o ne o ka rata haeba o kopana ka letsoho).

Mehlala e hlalosoa ka litsela tse tharo. Ka nako e sa lekanyetsoang, mekhabiso e hlalositsoe joaloka taelo ea lipapali tsa Tcl. (Mekhoa e joalo le eona e tšoana le li -co-shell tse tloaelehileng tseo hangata li bitsoang "glob"). Letšoao -gl le ka 'na la sebelisoa ho sireletsa mekhoa e ka' nang ea fapana e lebele hore lifolakha li se ke tsa etsa joalo. Mohlala ofe kapa ofe o qalang ka "-" o lokela ho sireletsoa ka tsela ena. (Likhoele tsohle tse qalang ka "-" li boloketsoe bakeng sa dikgetho tsa nakong e tlang.)

Ka mohlala, sekhechana se latelang se batla ho kena ka katleho. (Hlokomela hore ho hloleha ho nkoa e le mokhoa o hlalosoang kae kapa kae mongolong.)

lebella {ho phathahane {o phathahane \ n; exp_continue} e ile ea hlōleha ho senya "password e sa nepahaleng" e senya nako e tsoetseng pele e kopantsoeng}

Litokomane li hlokahalang papaling ea bone kaha e na le sebaka, se neng se tla arola mohlala ho tloha ketsong. Mehlala e nang le ketso e tšoanang (e kang ea boraro le ea 4) e hloka ho thathamisa liketso hape. Sena se ka qoba ka ho sebelisa mekhoa ea regexp-style (bona ka tlase). Boitsebiso bo eketsehileng tabeng ea ho etsa lipatlisiso tsa mokhoa oa lefats'e li ka fumanoa bukeng ea Tcl.

Mekhoa ea mekhoa ea Regexp e latela syntax e hlalositsoeng ke regexp ea Tcl (e khutsoanyane bakeng sa taelo ea "kamehla"). mekhoa ea regexp e hlahisoa le folakha -re . Mohlala o fetileng o ka ngoloa hape ka regexp e le:

lebella {ho phathahane {o phathahane \ n; exp_continue} -re "ea fokolloa | saense ea lekunutu" e senya nako e tsoetseng pele e hokahanngoeng}

Mefuta e 'meli ea lipapali "ha e nahane". Sena se bolela hore litsamaiso ha li tlamehe ho bapisa khoele eohle, empa li ka qala le ho felisa papali leha e le efe mohateng (hafeela ntho e 'ngoe le e' ngoe e tšoana). Sebelisa ... ho bapisa tšimoloho ea khoele, le $ ho bapisa qetello. Hlokomela hore haeba u sa emele qetello ea khoele, likarabo tsa hau li ka qetella li le bohareng ba khoele ha li ntse li hlahella tshebetsong e hlahisitsoeng. Ha o ntse o hlahisa liphello tse nepahetseng, sehlahisoa se ka shebahala se sa tloaeleha. Kahoo, tšebeliso ea $ e khothaletsoa haeba o ka hlalosa hantle litlhaku ho qetellong ea khoele.

Hlokomela hore ho bahlophisi ba bangata, the ^ le $ li bapisa tšimoloho le bofelo ba mela ka ho latellana. Leha ho le joalo, kahobane ho lebelletse hore ha ho na moelelo oa moelelo, litlhaku tsena li tšoana le qaleho le qetello ea data (ho fapana le mela) hona joale ho lebeletsong le lekanang. (Hape, sheba pampiri e ka tlase ho "system indigestion.")

Mo- folakha e etsa hore mohlala o tšoanelane le khoele e "nepahetseng". Ha ho tlhaloso ea *,,, joalo-joalo e entsoeng (le hoja tloaelo e tloaelehileng ea Tcl e tlameha ho nkoa). Mokhoa o nepahetseng o lula o sa lumellane.

Letšoao -la fokolang le etsa hore batho ba bangata ba hlahang lihlahisoa tsa bona ba bapise joalokaha eka ke libapali tse tlaase. Mohlala ha o amehe.

Ha u ntse u bala lihlahisoa, li-2000 ka li-bytes li ka qobella li-bytes tsa pele ho "lebala". Sena se ka fetoloa ka mosebetsi oa match_max . (Hlokomela hore litekanyetso tse ngata tse ngata li ka fokotsa mohlokomeli oa mohlala.) Haeba patlist e le full_buffer , 'mele o lekanngoang o bapisoa haeba match_max bytes e amohetse' me ha ho mokhoa o mong o lumellanang. Ho sa tsotellehe hore na lentsoe le ka sehloohong la bonyane le sebelisoa kapa che, litlhaku tse lebetsoeng li ngotsoe ho lebella_out (buffer).

Haeba patlist ke letho le ka sehloohong, mme li-nulls li lumelloa (ka taelo ea remo_nulls ), 'mele o tšoanang o etsoa haeba e le ngoe ea ASCII e lekana. Ha ho khonehe ho bapisa 0 bytes ka glob kapa regexp mekhoa.

Ha ho bapisoa le mokhoa (kapa eof kapa full_buffer), ntho leha e le efe e bapisoang le e sa bapisoang le eona e bolokiloe ho feto-fetoha expect_out (buffer) . Ho fihlela ho lipapali tse 9 tsa regexp tse ka morao li bolokiloe ho mefuta e lebelloang-ho (1, khoele) ka ho lebella-ho (9, mohala) . Haeba -ehloke ea folakha e sebelisoa pele ho mohlala, likarolo tsa pele le tsa ho qetela (ka mokhoa o loketseng bakeng sa lrange ) tsa mehala e leshome li bolokiloe ka mefuta-fapaneng e lebelletse_out (X, qala) mme e lebeletse -ba (X, qetellong) moo X e leng nomoro, e lumellana le sebaka se ka morao ho bukaneng. 0 e bua ka likhoele tse tsamaisanang le mokhoa oo kaofela 'me li entsoe ka mokhoa oa lefats'e hammoho le regexp mokhoa. Ka mohlala, haeba mokhoa o hlahisitsoeng ka "abcdefgh \ n", phello ea:

lebella "cd"

ho joalokaha eka lipolelo tse latelang li phethile:

beha tebello-ho (0, khoele) cd set wait_out (buffer) abcd

'me "efgh \ n" e setse mokatong o hlahang. Haeba tshebetso e hlahisitse "abbbcabkkkka \ n", phello ea:

lebella -e leng-le "b" (b *). * (k +) "

ho joalokaha eka lipolelo tse latelang li phethile:

beha setebello - ho (0, qala) 1 beha tebello -ba (0, qetellong) 10 u lebeletse -ba (0, khoele) bbbcabkkkk setebe se lebeletse (1, qala) 2 beha tebello -ba (1, qetellong) 3 beha tebello -ba (1, khoele) (2, qala) 10 beha tebello - ho (2, qetellong) 10 beha tebello -ba (2, khoele) k setebelletse ho-ho (buffer) abbbcabkkkk

'me "\ n" e setse ka har'a mochine o hlahisitsoeng. Mohlala "*" (le -re "." ") O tla senya sehlahisoa se hlahisoang ntle le ho bala letho le tsoang ho mokhoa ona.

Ka tloaelo, sehlahisoa se tšoanang se lahleheloa ke li-buffers tsa ka hare. Sena se ka thibeloa ka ho qalella mokhoa o nang le folakha -notransfer . Le folakha e na le thuso ea bohlokoa haholo ho leka-lekana ('me e ka khutsufatsoa "-ntle" bakeng sa habonolo ha e ntse e leka).

Lintlha tse nang le litlhaku tse amanang le lipapiso tse hlahang (kapa eof kapa full_buffer) li bolokiloe ho lebella_out (spawn_id) .

E- sefatela sa sefofane se etsa hore taelo ea hona joale e lebelletse ho sebelisa bohlokoa bo latelang e le nako ea ho e sebelisa ho e-na le ho sebelisa boleng ba ho fetoha ha nako.

Ka nako e sa lekanyetsoang, mekhoa e ts'oana le khahlanong le lits'ebetso ho tsoa ho ts'ebetso ea morao-rao, leha ho le joalo -la folakha e phatlalatsa hore ho hlahisoa lethathamong la lebitso la spawn_id le khahlanong le litsela tse latelang tse latelang (ho fihlela ho latelang -i ). Lethathamo la spawn le lokela ho ba lethathamo le arohaneng la li-whitespace la spawn_ids kapa ho feto-fetoha ho amanang le lenane la spawn_ids.

Ka mohlala, mohlala o latelang o emetse bakeng sa "ho hokahanngoa" ho tloha ts'ebetsong ea hona joale, kapa "ho phathahana", "ho hlōleha" kapa "password e sa nepahaleng" ho spawn_id e bitsoang $ proc2.

lebella hore {{e $ proc2 e phathahane {e phathahane \ n; exp_continue} -re "ea fokolloa | saense ea lekunutu" e senya nako e tsoetseng pele e hokahanngoeng}

Bohloko ba mofuthu oa lefatse lohle leha e le ofe o ka sebelisoa ho bapisa litekanyetso ho li-spawn tse nang le mabitso a mang le a mang -e li - flags molaong oa hona joale o lebeletseng . The spawn_id ho --la folakha e se nang mokhoa o amanang (ke hore, o lateloa hang-hang ka e mong -i ) o fumaneha ho leha e le efe mekhoa efe kapa efe ka taelo e lekanang ea taelo e amanang le leha e le efe_spawn_id.

The -efilake e ka boela ea reha phapang ea lefats'e moo boemo bo fapaneng bo baloang bakeng sa lenane la li-ids spawn. Mochine o feto-fetohang o bala hape ha o fetoha. Sena se fana ka mokhoa oa ho fetola mohloli oa I / O ha taelo e ntse e sebetsa. Lisebelisoa tsa Spawn tse fanoeng ka tsela ena li bitsoa "tse sa tsejoeng" tse nang le li-spawn.

Liketso tse kang ho roba le ho tsoela pele li baka mekhoa ea ho laola (ke hore, bakeng sa , proc ) ho itšoara ka mokhoa o tloaelehileng. Taelo ea exp_ kopano e lumella hore e itšetlehe ka eona hore e tsoele pele e sebetsa ho e-na le ho khutla joalokaha e ne e tla tloaeleha.

Sena se molemo bakeng sa ho qoba loops e hlakileng kapa ho pheta-pheta ho bua lipolelo. Mohlala o latelang ke karolo ea sekhechana sa ho iketsa molumo. Tlhaloso ea exp_se e qoba ho tlameha ho ngola polelo ea bobeli e lebelletseng (ho batla tlhahiso hape) haeba rlogin e khothalletsa phasewete.

lebella hore {Lebokose la ntlha: {stty -echo le romela "password" (bakeng sa $ user) ho $ host: "lebella_e leng" -re "(. *) \ n" romela_user "\ n" romela "$ expect_out (1, khoele) \ r" echo exp_continue} e sa nepahaleng {send_user "password e sa nepahaleng kapa nako ea account \ n" tsoa] nakoout {send_user "ho kena ho $ host timed out \ n" exit} eof {send_user \ "ho hokahanya ho moeti ho ile ha hlōleha: $ expect_out (buffer)" tsoa} re $ prompt}

Ka mohlala, sekhechana se latelang se ka 'na sa thusa motataisi ea tataisang ho sebelisana ho seng ho ntse ho iketsetse ntho e feletseng. Tabeng ena, sesebelisoa se kenngoa ka mokhoa o tala. Haeba mosebedisi a hatisa "+", ho na le phapang e fapaneng. Haeba "p" e hatelloa, mekhoa e mengata e khutlisetsoa tshebetsong, mohlomong ho e pata ka tsela e itseng, mme "I" e lumella mosebedisi hore a sebetsane le tshebetso, ka tsela e nepahetseng a utsoe taolo ho tswa ho script. Ketsahalong e 'ngoe le e' ngoe, bonngoe ba exp_ bo lumella hona joale ho lebella ho tsoela pele ka mokhoa o tšoanang le ka mor'a ho etsa ketso ea hona joale.

e tiileng -e e lebelletse-ka mor'a {{i $ user_spawn_id "p" {ho romela "}"; exp_continue} "+" {incr foo; exp_continue} "i" {sebelisana; exp_continue} "tlohela" ho tsoa}

Ka nako e sa lekanyetsoang, exp_continue e tsosolosa nako ea nako ea nako. Nako e sa tsosolosoa, haeba exp_continue e bitsoa le- flag_continue_timer .

lebella-ka mor'a moo [lebella-likoloi]
mesebetsi e ts'oanang le ho lebella-pele ho feta hore haeba litsela tse tsoang ho bobeli li lebeletse 'me li lebeletse- ka morao li ka bapisoa, mokhoa oa ho lebella o sebelisoa. Sheba tebello-pele ho taelo bakeng sa boitsebiso bo eketsehileng.

lebeletse-lebaleng le lebeletseng [le lebeletse-lits'ebeletso]
o nka likhang tse tšoanang le tseo a li lebeletseng , leha ho le joalo li khutla hang-hang. Mehlala e lekoa ha nako e 'ngoe le e' ngoe e kenngoa. Mohlala oa nako le o sa felleng ha o na thuso ho lebella-lebaleng le ho lahleheloa ke khutso. Ho seng joalo, tebello- taelo ea lebala le sebelisa ho lebella-pele le ho lebella-ka mor'a mekhoa feela joalokaha ho lebeletsoe hore e etse.

Ha o lebeletse- liketso tsa lebaleng li ntse li hlahlojoa, ts'ebeliso ea mokokotlo bakeng sa seoa se tšoanang sa tholoana se koetsoe. Tlhahlobo ea morao-rao e koetsoe ha ketso e fela. Ha ts'ebetso ea mokokotlo e thibetsoe, ho ka khoneha ho etsa (pele) ho lebella ho seoa se tšoanang sa spa.

Ha ho khonehe ho phethisa se lebeletsoeng ha ho lebeletsoe- lebala la sekhukhu le sa koaloa . ho lebella-lebala la seoa se khethehileng se tlosoa ka ho phatlalatsa ntho e ncha e lebeletse-lebala le nang le seoa se tšoanang sa spa. Ho phatlalatsa hore o tla lebella-lebala le se nang mekhoa e tlosa id e fumanoang e fumanehang ho tloha ka bokhoni ba ho bapisa mekhoa ka morao.

lebella-ka pel'a [ho lebella-likoloi]
o nka likhang tse tšoanang le tseo a li lebeletseng , leha ho le joalo li khutla hang-hang. Likarolo tsa mohato oa mehlala ho tloha morao-rao li lebeletse - pele ka leihlo le tšoanang le lengolo le kenyelletsoa ka ho feletseng ho leha e le efe e latelang ho lebella litaelo. Haeba mohlala o bapisa, o tšoaroa joalokaha o ne o boletsoe ka taelo e lebeletsoeng , mme 'mele o amanang le oona o phethoa ho latela taelo ea tebello . Haeba mehlala ho tloha ka bobeli e lebelletse-pele le ho lebella e ka bapisoa, ho lebelloa- pele mokete o sebelisoa.

Haeba ha ho na mohlala o boletsoeng, id e hlahelang ha e hlahlojoe leha e le efe ea lipapatso.

Ntle le haeba ho e -na le ho feta -la folakha, lebella- pele lipatlisiso li bapane le tsebo e hlalositsoeng nakong eo ho lebelloang ka eona pele ho taelo e phethoa (eseng ha mokhoa oa eona o tšoaneloa).

The_fanela ea fofo e etsa hore u lebeletse-pele u khutlisa lintlha tsa morao-rao tsa mekhoa e tla tšoana le eona. Ka nako e sa lekanyetsoang, e tlaleha ka sekheo sa hona joale sa mahlaseli. Ntho e khethiloeng ea tlhahiso ea lesela e ka fanoang bakeng sa tlhahisoleseding e mabapi le seoa sa spa. Ka mohlala

lebella-pele ho -efo -i $ proc

Ka ho fetisisa ho ka fanoa ka leihlo le leng la tholoana ea spawn. Folakha-e nepahetseng e hatella li-spa tse hlahang feela tse hlahang ka ho toba feela.

Ho e-na le sebopeho sa maqheka, folakha "-all" e tla etsa hore "-efo" e tlalehe ka li-ids tsohle tse hlahisang limela.

Litholoana tsa-folakha ea fane e ka sebelisoa hape e le khang ea ho lebella-pele.

lebella_tty [lebella_e leng]
ho tšoana le ho lebella empa e bala batho ba hlahang ho tloha ho / dev / tty (ke hore lintlheng tsa motlakase). Ka ho feletseng, ho bala ho etsoang ka mokhoa o phehiloeng. Ka hona, mela e lokela ho fela ka ho khutla e le hore e lebelle ho e bona. Sena se ka fetoloa ka stty (sheba litaelo tsa majoe ka tlaase).

lebella_a lebella [ho lebella-litlhoko]
ho tšoana le ho lebella empa e bala balateli ba tsoang stdin (ke hore lisebelisoa tsa motlakase ho tswa ho mofani). Ka ho feletseng, ho bala ho etsoang ka mokhoa o phehiloeng. Ka hona, mela e lokela ho fela ka ho khutla e le hore e lebelle ho e bona. Sena se ka fetoloa ka stty (sheba litaelo tsa majoe ka tlaase).

fereko
e etsa ts'ebetso e ncha. Tshebetso e ncha ke kopi e tobileng ea hona joale e lebeletse tshebetso . Ha u atleha, fereko e khutlela 0 ho mokhoa o mocha (ngoana) mme o khutlisetsa lenane la ts'ebetso ea ts'ebetso ea ngoana ho ea ho motsoali. Ho hlōleha (nako le nako ka lebaka la ho haelloa ke lisebelisuoa, mohlala, ho fetola sebaka, mohopolo), liforomo tsa fork -1 ho ea motsoali, mme ha ho mokhoa oa bana o bōpiloeng.

Mekhoa e emetsoeng e tsoa ka taelo ea ho tsoa , feela joaloka mokhoa oa pele. Mekhoa e koetlisitsoeng e lumelloa ho ngolla lifaele tsa log. Haeba u sa thibele ho buola kapa ho kena ka bongata tsamaisong, phello e ka ba e ferekanyang.

Mesebetsi e meng ea pty e ka ferekanya ke babali ba bangata le bangoli, esita le nakoana. Kahoo, ho sireletsehile ho feta bakeng sa ho hlahisa mekhoa pele ho hlahisa mekhoa.

sebelisana [mohala oa khoele1 body1] ... [stringn [bodyn]]
e laola mokhoa oa morao-rao ho mosebedisi, e le hore li-keyrokes li romeloe tshebetsong ea hona joale, mme stdout le stderr ea ts'ebetso ea morao-rao li khutlisetsoa.

Lihlopha tse peli tsa 'mele li ka hlalosoa e le likhang, moo boemo ba' mele bo etsoang ha khoele e lumellanang e kenngoa. (Ka nako e sa lekanyetsoang, mohala o sa romeloa tshebetsong ea morao-rao.) Taelo ea mofetoleli e nahana, haeba 'mele oa ho qetela o haelloa.

Haeba litlhaloso tsa polelo eohle e kopanetsoeng li hloka molaetsa o fetang o le mong, liqabang tsohle li ka 'na tsa "kenngoa" ho e le' ngoe e le ho qoba ho fokotsa mola o mong le o mong ka morao. Ketsahalong ena, litsela tse tloaelehileng tsa TCl li tla etsahala ho sa tsotellehe li-braces.

Ka mohlala, taelo e latelang e sebetsana le lihlopha tse latelang tse latelang: Ha ^ Z e hatelloa, Lebella hore e emisoe. (The -reset folakha e tsosolosa mekhoa e fokolang.) Ha ^ A e hatelloa, mosebeletsi o bona "o thapile taolo-A" 'me mokhoa o romelloa ... A. Ha $ e hatelloa, mosebeletsi o bona letsatsi leo. Ha ^ C e hatelloa, Lebella ho tsoa. Haeba "foo" e kenngoa, mosebeletsi o bona "bar". Ha ~~ e hatelloa, Tšepo ea mofetoleli e matha ka nako e telele.

beha CTRLZ \ 032 ho sebelisana {-reset $ CTRLZ {exec kill -STOP [pid]} \ 001 {send_user "eo u e letselitseng taolo-A \ n"; romela "\ 001"} $ {send_user "Letsatsi ke [mochine oa oache [mabokose a motsotso]]"}} \ 003 tsoa ho foo {send_user "bar"} ~~}

Ka lihlopha tse peli tsa thopa, mehala e bapisoa ka tatellano eo e ngotsoeng ka eona e le likhang. Matlamo a fapaneng le a mang ha a romeloe tshebetsong ea morao tjena ka ho lebella se setseng se tlang. Haeba litlhaku li kenngoa joalo hoo ho ke keng ha hlola ho e-ba le papali, karolo feela ea khoele e tla romeloa tshebetsong e ke keng ea qala ho bapala hape. Ka tsela eo, meqhaka e fapaneng ea lipapali tse sa khethollo e ka bapisa hamorao, haeba meqhaka ea pele e neng e leka ho bapisa e qetella e hlōleha.

Ka ho feletseng, mohala o lumellanang o nepahetse le ha ho na likarete tse hlaha . (Ka lehlakoreng le leng, taelo ea tebello e sebelisa mekhoa ea mokhoa oa lefatše ka ho sa feleng.) Molaetsa -hane o ka sebelisoa ho sireletsa mekhoa e ka 'nang ea fapana le li- flags ho etsa joalo. Mohlala ofe kapa ofe o qalang ka "-" o lokela ho sireletsoa ka tsela ena. (Likhoele tsohle tse qalang ka "-" li boloketsoe bakeng sa dikgetho tsa nakong e tlang.)

The -le folakha e etsa hore khoele e hlalosoe e le mokhoa oa regexp-style. Tabeng ena, li-substrings tse lekanang li bolokiloe ka ho feto-fetoha ho kopanetsoeng - ho ea ka tsela e tšoanang ho ea ka tsela e lebeletseng hore e boloke sehlahisoa sa eona ka ho feto-fetoha ho lebelletse_out . E- lipatlisiso li fane ka tšehetso e tšoanang.

Eof ea mohlala e kenyelletsa ketso e etsoang qetellong ea file. Mofuta o mong oa eof e ka 'na oa boela oa latela-folakha ea hore na e tšoana hakae haeba eof e etsoa ha e ntse e ngola. Mohato o sa feleng oa eof ke "ho khutla", e le hore puisano e khutlele ho EOF leha e le efe.

Mokhoa oa ho qetela o kenyelletsa nako e itseng (ka metsotsoana) le ketso e etsoang ka mor'a hore ho se na batho ba balang nako e fanoeng. Mokhoa oa ho qetela o sebetsa ho mokhoa o boletsoeng ka ho fetisisa. Ha ho nako e fokolang ea nako. Mofuta o khethehileng oa "nako" o sebelisoang ke taelo ea tebello ) ha o amehe nakong ena ea nako.

Ka mohlala, polelo e latelang e ka sebelisoa ho basebelisi ba autologout ba sa kang ba thapa letho ka hora empa ba ntse ba fumana melaetsa e mengata ea melaetsa:

kopanngoa -ekhetho $ user_spawn_id nakoout 3600-khutlela \ $ spawn_id

Haeba mohlala ke ntho e ka sehloohong, 'me li-nulls li lumelloa (ka taelo ea remo_nulls ),' mele o tšoanang o etsoa haeba e le ngoe ea ASCII e lekana. Ha ho khonehe ho bapisa 0 bytes ka glob kapa regexp mekhoa.

Ho kopa mokhoa o fapaneng le folakha -e lengolo le etsa hore molekane o fapaneng oa interactive_out (spawn_id) o behoe spawn e lumellanang le mohlala (kapa eof).

Liketso tse kang ho roba le ho tsoela pele li baka mekhoa ea ho laola (ke hore, bakeng sa , proc ) ho itšoara ka mokhoa o tloaelehileng. Leha ho le joalo ho khutlisetsa sesosa ho kopana ho khutlela ho motho ea letselang, ha inter_return e etsa hore e kopane ho etsa hore ho khutlisetsoe pitso ea eona. Ka mohlala, haeba "proo foo" e bitsoa ho kopanya e neng e phethisa ketso inter_return , proc foo e ne e tla khutla. (Sena se bolela hore haeba ho kopana ho bitsang mofetoleli ho kopanya ho khutlela ho tla etsa hore ho sebelisana ho tsoele pele, ha inter_return e tla etsa hore ho sebelisana ho khutlele ho motho ea letselang.)

Nakong ea ho sebelisana , mokhoa oa tala o sebelisoa e le hore bohle ba ka fetisetsoang ts'ebetsong ea joale. Haeba tshebetso ea hona joale e sa sebetse lipontšo tsa ho laola mosebetsi, e tla khaotsa haeba e romella letšoao la ho ema (ka ho sa feleng ^ Z). E le ho e qala hape, romella letšoao le tsoelang pele (joalo ka "bolaea -CONT"). Haeba u hlile u batla ho romela SIGSTOP ts'ebetsong e joalo (ka ^ Z), nahana ka ho hlahisa csh pele ebe u ntse u matha lenaneo la hau. Ka lehlakoreng le leng, haeba u batla ho romela SIGSTOP ho E lebella , moeletsi oa pele o tla mo letsetsa (mohlomong ka ho sebelisa mokhoa oa ho baleha), ebe o hatella ^ Z.

Lihlopha tse peli tsa 'mele li ka sebelisoa e le khutsufatso ea ho qoba ho kena mofetoleli le ho phetha litaelo ka hare. Sebopeho sa pele sa ho qetela se sebelisoa ha 'mele oa molekane oa' mele o ntse o etsoa.

Bakeng sa lebelo, liketso li sebetsa ka mokhoa o tala ka ho sa feleng. Mo- folakha ea sefapano e tsosolosa seteishene ho ea ka mokhoa oo e neng e e-na le oona pele e sebelisana e ile ea etsoa (hangata, mokhoa o phehiloeng). Hlokomela hore batho ba kenang ha mokhoa o ntse o fetoha o ka lahleha (e leng karolo e mpe ea mokhanni ea fanang ka lisebelisoa tse ling). Lebaka le le leng feela la ho sebedisa -sepa ke hore ketso ea hau e itšetlehile ka ho sebetsa ka mokhoa o phehiloeng.

Mola-e leng flag o romela litlhaku tse lumellanang le mohlala o latelang ho ts'ebetso e ileng ea ba hlahisa ha setho se seng le se seng se baloa. Sena se ka ba sa bohlokoa ha mosebeletsi a hloka ho bona maikutlo a tsoang mekhoeng e ngotsoeng ka karolo e itseng.

Haeba mohlala o ntse o phethoa empa qetellong o hlōleha ho bapisa, litlhaku li romelloa tshebetsong e hlahisitsoeng. Haeba ts'ebetso e hlahisitsoeng e ka ba pheta-pheta, mosebeletsi o tla bona litlhaku tse peli habeli. -o mohlomong e loketse feela maemong ao ho seng bonolo hore mosebelisi a se ke ae phetha. Ka mohlala, karolo e hlahlamang e tsoa ho rftp, script e khutlisetsang-ftp, moo mochine a khothalletsoang ho kena ~ g, ~ p, kapa ~ l, ho fumana, ho beha kapa ho thathamisa lenaneo la hona joale le khutlang. Tsena li hole haholo le litaelo tsa ftp tse tloaelehileng, tseo mohlomong ho se nang mohlomong motho ea sebelisang ~ ho latela ntho e 'ngoe le e' ngoe, ntle le phoso, ha ho joalo, mohlomong ba tla hlokomoloha sephetho seo.

ho sebelisana {-echo ~ g {obtaincurdirectory 1} -echo ~ l {getcurdirectory 0} -echo ~ p {putcurdirectory}}

Letšoao -nobuffer le romela litlhaku tse lumellanang le mohlala o latelang ho ea ho hlahisa mokhoa ha litšobotsi li baloa.

Sena se na le thuso ha o lakatsa ho lumella lenaneo ho khutlisa mokhoa ona. Ka mohlala, lintlha tse latelang li ka 'na tsa sebelisoa ho shebella moo motho a letang (mokhoa oa Hayes-style modem). Nako le nako "atd" e bonts'oa lintlha tse ngotsoeng ka ho feletseng.

pro lognumber {} {ho kopanya -nobuffer -re "(. *) \ r" ho khutlisa ho kenya $ log "[mochine oa oache [nako ea metsotso]]: ho bitsoa $ interact_out (1, khoele)"} ho kopanya -nobuffer "atd" lognumber

Nakong ea puisano , tšebeliso ea pele ea log_user e hlokomolohuoa. Ka ho khetheha, ho sebelisana ho tla qobella hore palo ea eona e kenngoe (e romeloa ho latela maemo a tloaelehileng) kaha ho nahanoa hore mochine ha a batle ho kopana ka sekhukhu.

Lebokose -o le etsa hore leha e le efe lipampiri tse peli tsa 'mele li sebelisoe ho hlahisoang ha mokhoa ona oa hona joale. Sena se ka ba molemo, ka mohlala, ha u sebetsana le Mabotho a mang a romellang batho ba sa batleheng nakong ea sethaleng sa telnet.

Ka nako e sa lekanyetsoang, ho sebelisana ho lebelletse hore mosebeletsi a ngole stdin le ho bala mokhoa oa ho lebella ts'ebetso ka boeona. The_a folakha (bakeng sa "user") e etsa hore ho sebelisane ho sheba moetsi e le mokhoa o boletsoeng ka lebaka la oona (e leng se lokelang ho ba le id e hlahisitsoeng).

Sena se lumella mekhoa e 'meli e sa lumellaneng ho kopanngoa hammoho ntle le ho sebelisa lintlha tse hlakileng. Ho thusa ho ntšetsa pele mokhoa oa ho buoa, Lebella ho fumana li-diagnostics kamehla u ee stderr (kapa ho ea ho tsebiso e itseng ea ho rema lifate le ho fokotsa boitsebiso). Ka mabaka a tšoanang, taelo ea mofetoleli e tla baloa ho tloha stdin.

Ka mohlala, sekhechana se latelang se etsa hore ho kenelle mokhoa oa ho kena. E ntan'o senya moqapi (e sa bontšoa), 'me qetellong e kopanya tsena tse peli hammoho. Ha e le hantle, ts'ebetso leha e le efe e ka kenngoa ho kena. Ka mohlala, khetla e tla lumella motho hore a sebetse ntle le ho fana ka akhaonto le password.

spawn login set login $ spawn_id spawn tlisa modem # dial back to user # hokahanya user ho kena-o-login login

E le hore u romele palo ho mekhoa e mengata, thathamisa lenane le leng le le leng la li-spawn le nkiloeng pele- lekhapetla . Ho kenyelletsa sehlopha sa lihlahisoa tse hlahisoang ke spawn li ka khethoa ke lethathamo la litlhaselo tsa spawn tse qalileng ka ho hlahisa folakha. (Boitsebiso bobeli le bo- boitsebiso bo ka 'na ba nka lethathamo ka mokhoa o ts'oanang le -e folakha ka taelo e lebelletseng , ntle le hore leha e le efe_spawn_id e se na moelelo oa ho sebelisana .) Lipapaka tsohle le lipallo (kapa mekhoa) tse latelang li sebetsa ho kenya letsoho ho fihlela e mong - pelakha ea ho kenya e hlaha. Haeba ha ho-ho bonahala eka, -sekhetho e fana ka maikutlo a "-a fana ka $ user_spawn_id -output". (Ka ho tšoanang, ka mekhoa e se nang-e fana ka maikutlo .) Haeba e mong -ihlopo e boleloa, e feta $ user_spawn_id. Haeba polelo ea bobeli e boletsoeng, e feta $ spawn_id. Tse ling-li-flags li ka hlalosoa.

Makhotla a mabeli a ne a fana ka mekhoa ea ho kenya letsoho ho ba le liphello tsa bona tse hlalositsoeng e le $ spawn_id le $ user_spawn_id (ka morao). Haeba -a letšoao le hlaha ha le na- letšoao la polelo , litlhaku tsa mofuta oo li lahliloe.

The -a folakha e kenyelletsa sebaka bakeng sa spawn_id hona joale ha ho se seng- tlhaloso kapa --sekela li-flags li sebelisoa. A-folakha e fana ka maikutlo a -a folakha.

Hoa khoneha ho fetola mekhoa e sebelisanoang le eona ka ho sebelisa li-ids tse sa tobang. (Li-ids tse sa nepahaleng tse hlalositsoeng li hlalositsoe karolong ea taelo ea tebello.) Li-ids tse sa tobang li ka hlalosoa ka li--i, -u, -e leng, kapa -la li-flags tse fetisisang.

mofetoleli [args]
e etsa hore mosebedisi a kenyelletsanoe bakeng sa litaelo tsa Lebella le Tcl. Phello ea taelo ka 'ngoe e hatisoa.

Liketso tse kang ho roba le ho tsoela pele li baka mekhoa ea ho laola (ke hore, bakeng sa , proc ) ho itšoara ka mokhoa o tloaelehileng. Leha ho le joalo ho khutlisa ho etsa hore mofetoleli a khutlele ho motho ea e letselang, ha inter_return e baka mofetoleli ho etsa hore a khutlele ho mo letsetsa. Ka mohlala, haeba "proco foo" e bitsoa mofetoleli eo joale a ileng a etsa ketso inter_return , proc foo e ne e tla khutla. Taelo efe kapa efe e baka sefetoleli ho tsoela pele ho susumetsa litaelo tse ncha.

Ka nako e sa lekanyetsoang, potlako e na le lintlha tse peli. Setsi sa pele se hlalosang botebo ba sekhetho sa tlhahlobo (ke hore, ka makhetlo a makae Tcl_Eval e bitsoa). Boemo ba bobeli ke identifi ea histori ea Tcl. Khato e ka etsoa ka ho hlalosa mokhoa o bitsoa "prompt1" eo palo ea hae ea ho khutlela e bang e latelang. Haeba polelo e buletsoe litlhaloso, li-parens, braces, kapa brackets, potlako ea bobeli (ka ho sa feleng "+>") e ntšoa ka lineline. Monyetla oa bobeli o ka behoa ka ho hlalosa mokhoa o bitsoang "prompt2".

Nakong ea mofetoleli , mokhoa o phehiloeng o sebelisoa, esita le haeba moemeli oa oona a ne a sebelisa mokhoa o tala.

Haeba stdin e koetsoe, mofetoleli o tla khutla ntle le hore -a folakha e sebelisoe, tabeng eo moqoqo o latelang o kenngoa.

setšoantšo sa li-log [file] [[a-]]
Haeba lebitso la sefapano le fanoa, setšoantšo sa log_ se tla ngola tlaleho ea setulo (ho tloha qalong) ho file. setšoantšo sa li- log se tla emisa ho rekota haeba ho se na khang. Lefa le leng le le leng le fetileng la log le koetsoe.

Ho e-na le lebitso la lebitso, sekhetho sa fisi sa Tcl se ka fanoa ka ho sebelisa li- flaopo -open kapa -leaveopen . Sena se tšoana le taelo ea tlhaho . (Sheba lihlahisoa bakeng sa boitsebiso bo eketsehileng.)

The -a folakha e qobella ho kena ho kena e neng e hatelitsoe ke taelo ea log_user .

Ka nako e sa lekanyetsoang, taelo ea lefapha la log_ e fetela ho lifaele tsa khale ho e-na le ho li truncating, bakeng sa monyetla oa ho khona ho khaotsa ho tima le ka makhetlo a 'maloa lenaneong le le leng. Ho truncate lifaele, sebelisa -noappend folakha.

Mola- folakha ea fofo o etsa hore sefate sa log-log se khutlisetse tlhaloso ea litlaleho tsa morao-rao tse sa tsebeng tse fanoeng.

log_user -info | 0 | 1
Ka nako e sa lekanyetsoang, puisano ea ho romella / e lebelletse e kenngoa ho stdout (le logfile haeba e bulehile). Ho reka ho stdout ho holofalitsoe ke taelo "log_user 0" 'me e tsosolositsoe ka "log_user 1". Ho kena ka marang-rang ho ea logifa ha ho fetohe.

Le- lekhahla la fofo le etsa hore log_user e khutlisetse tlhaloso ea litabeng tsa morao-rao tse sa tsebeng tse fanoeng.

match_max [-d] [-i spawn_id] [size]
e hlalosa boholo ba buffer (ka bytes) e sebelisoang ka hare ho lebella . Kaha ha ho khang ea boholo , boholo ba hona joale bo khutlisetsoa.

Ka -la folakha, boholo bo sa feleng bo behiloe. (Lekhetho la pele ke 2000.) Le -e folakha, boholo bo behiloe bakeng sa id e bitsoang name spa, ho seng joalo e behiloe bakeng sa tshebetso ea morao-rao.

ho koahela [- # spawn_id] [- # spawn_id] [...] lenaneo [litsebi]
e phethahatsa " args ea lenaneo " sebakeng sa hona joale lebeletse lenaneo, le qetellang. Sepheo se se nang letho se qobella pontso ka pel'a lebitso la taelo joalokaha eka ke sekhetla sa ho kena. Tsohle li-spawn_ids li koaletsoe haese tse tsejoang e le likhang. Tsena li ngotsoe ho boitsebiso ba lifaele tse rehiloeng.

Spawn_ids li ngotsoe ho hlahisa li-identifiers bakeng sa lenaneo le lecha leo le tla le rua. Ka mohlala, mola o latelang o tsamaisa chess mme oa o lumella hore o laoloe ke mokhoa oa morao-rao - re, mong'a chess.

ho roala -0 $ spawn_id -1 $ spawn_id -2 $ spawn_id chess

Sena se sebetsa hantle ho feta "ho kopanya -u", leha ho le joalo, e nyehela bokhoni ba ho etsa puisano e lokiselitsoeng ho tloha ha Tebello e lebeletsoe ha e sa laola.

Hlokomela hore ha ho na sesebelisoa se laolang se fanoang. Kahoo, haeba o tlokola kapa o fokotsa tlhahiso e tloaelehileng, mananeo a sebetsang ho laola (likhetla, ho kena, joalo-joalo) ha a sebetse hantle.

bonngoe [-d] [-i spawn_id] [bohlokoa]
e hlalosa hore na bonngoe bo lokela ho bolokoa kapa bo tlosoe ho tsoa lits'ebetsong tse hlahisitsoeng. Haeba phaello e le zero, bonngoe bo hlobotse, ho seng joalo ha bo hlobolloe. Kaha ha ho na khang ea bohlokoa , boleng ba hona joale bo khutlisetsoa.

Ka -la folakha, boleng ba bonngoe ba bonngoe bo behiloe. (Ntho ea pele e fokolang ke ea 1, ke hore, bonngoe ha boa hlobolloa.) Le -la folakha, boleng ba bonngoe bo behiloe bakeng sa lebitso le bitsoang name spa, ho seng joalo le behiloe bakeng sa ts'ebetso ea morao-rao.

tlosa_nulls [-d] [-i spawn_id] [bohlokoa]
e hlalosa hore na li-nulls li bolokiloe kapa li tlosoa ho tsoa ho lihlahisoa tse hlahisoang pele mokhoa oa ho bapisa kapa oa ho boloka ho feto-fetola ho lebelloang kapa ho sebelisana le interactive_out . Haeba boleng ke 1, nulls li tlosoa. Haeba boleng ke 0, nulls ha e tlosoe. Kaha ha ho na khang ea bohlokoa , boleng ba hona joale bo khutlisetsoa.

Ka -la folakha, boleng bo sa feleng bo behiloe. (Ntho e sa lekanyetsoang ea pele ke 1, e bolelang, nulls li tlosoa.) Le -e folakha, boleng bo behiloe bakeng sa id e bitsoang name spa, ho seng joalo e behiloe bakeng sa tshebetso ea morao-rao.

Ho sa tsotellehe hore na li-nulls li tlosoa kapa ha li tlosoe, Lebeletse ho tlaleha li-note tse fosahetseng ho log le stdout.

romella khala ea [-flags]
E romella khoele ho mokhoa o teng hona joale. Ka mohlala, taelo

romela "lefats'e hello"

e romella batho bao ho buuoang ka bona, e lumelletse tshebetso ea morao-rao. (Tcl e kenyelletsa printf -taelo e tšoanang le eo (e bitsoa mokhoa oa sebopeho ) e ka etsang likhoele tse rarahaneng tse rarahaneng.)

Botho ba romeloa hang-hang le hoja mananeo a nang le boitsebiso bo buisitsoeng ka mohala a ke ke a bala lihlooho ho fihlela motho ea khutlisetsoang a khutlisetsoa. Mofuta oa ho khutla o hlalosoa "\ r".

The - folakha e qobella khang e latelang e tla hlalosoa e le khoele ho e-na le folakha. Mohala leha e le ofe o ka etelloa pele "-" ho sa tsotellehe hore na ha e le hantle o shebahala joaloka folakha. Sena se fana ka mokhoa o ka tšeptjoang oa ho totobatsa likhoele tse sa fetoheng ntle le ho hlohlelletsoa ke bao ka phoso ba shebahalang joaloka lifolakha. (Likhoele tsohle tse qalang ka "-" li boloketsoe bakeng sa dikgetho tsa nakong e tlang.)

The_a folakha e bolela hore mohala o romelloa ho ea bitsoang spawn_id. Haeba spawn e le user_spawn_id , 'me sesebelisoa se le mekgwa e tala, melaetsa e mecha ea khoele e fetoleloa ho khutla-ho latellana ha lineline e le hore li ka bonahala eka ha sefelo se ne se le boemong bo phehiloeng. Lefu- folakha e thibela phetolelo ena.

Se-folakha e romella litlhaku tse sa hlakang (0 bytes). Ka nako e sa lekanyetsoang, null e le 'ngoe e romeloa. Sephetho se ka latela-se hloke ho bontša hore na li-nulls tse ngata li ka romela mang.

Le-folakha ea bothata e hlahisa boemo ba khefu. Hona ho utloahala feela haeba motsoako oa maqhubu o bua ka sesebelisoa sa tty se bulehileng ka "sesepa-lehla". Haeba u hlahisitse ts'ebetso e kang tlhōrō, o lokela ho sebelisa kopano ea ntlha ea ho etsa khefu.

The -s folakha e qobella hore ho romeloe "butle-butle", kahoo qoba boemo bo tloaelehileng moo k'homphieutha e fokotsang tape e entsoeng bakeng sa motho ea ke keng a felisa ntho e tšoanang. Palo ena e laoloa ke boleng ba "ho romela-tlase" ho feto-fetohileng ho nkang karolo e 'meli ea lintlha. Ntho ea pele ke setsi se hlalosang palo ea li-bytes ho romela atomically. Ntho ea bobeli ke palo ea sebele e hlalosang palo ea metsotsoana eo e romelloang ke atomic e lokelang ho aroloa. Ka mohlala, "beha seto-ka tlase {10 .001}" se tla qobella "romela -s" ho romella liletsa ka 1 millisecond pakeng tsa batho ba 10 ba rometsoeng.

The -h folakha e qobella tlhahiso ho romeloa (ka tsela e itseng) joaloka motho ea thapang ha e le hantle. Ho lieha ho tšoana le batho ho hlaha pakeng tsa batho ba hlahang. (Algorithm e thehiloe holim'a phepelo ea Weibull, e nang le liphetoho tse lumellanang le ts'ebetso ena e khethehileng.) Palo ena e laoloa ke boleng ba "variable_human" e feto-fetohileng e nkang karolo e hlano ea lintlha. Lintlha tse peli tsa pele ke nako ea karolelano ea libapali ka metsotsoana. Ea pele e sebelisoa ka ho sa feleng. Ea bobeli e sebelisetsoa ho finyella mantsoe, ho etsisa mekhahlelo e poteletseng eo ka linako tse ling e etsahalang phetohong e joalo. Mohlala oa boraro ke mefuta e fapaneng eo ho eona .1 e fapane haholo, 1 e fetoha ka tsela e utloahalang, 'me 10 ha e khone ho ba teng. Ho feteletsa hoa ho 0 ho isa boemong bo sa feleng. Methati e 'meli ea ho qetela ke, ka nako e le' ngoe, nako e fokolang le e kholo ea ho kena. Bonyane le boholo bo sebelisetsoa ho qetela le "clip" nako ea ho qetela. Sephetho sa ho qetela se ka fapana haholo le tekanyo e fanoeng haeba bonyane le boholo ba setšoantšo se lekana le litekanyetso tse lekaneng.

Ka mohlala, taelo e latelang e etsa hore motho ea tloaelehileng le ea sa tloaelehang a tloaelehe:

beha send_humanisane {.1 .3 1 .05 2} romella -h "Ke lapile. A re ke re je lijo tsa motšehare."

ha tse latelang li ka 'na tsa e-ba tse loketseng haholoanyane ka mor'a hore motho a hlokomele:

beha send_humanisane {.4 .4 .2 .5 100} romela -h "bosiu ba motšehare oa mokha o motle!"

Hlokomela hore liphoso ha lia fetoha, le hoja u ka theha maemo a ho lokisa liphoso ka ho kenngoa liphoso le ho lokisoa ho ngangisana.

Lifolakha tsa ho romela litlhaku tse se nang letho, bakeng sa ho romela likheo, bakeng sa ho qobella palo e fokolang le mokhoa oa ho hlahisa batho ka kakaretso. Ke eona feela e boletsoeng ho qetela e tla sebelisoa. Ho feta moo, ha ho na khang ea mohala e ka hlalosoang le lifolakha tsa ho romela litlhaku tse sa hlakang kapa likhetho.

Ke khopolo e ntle ea ho etella pele ho romela molaetsa ka ho lebella . lebella ho emetse hore ts'ebetso e qale, ha ho romela ho sitoa. Ka ho khetheha, haeba ho romella pele ho qeta pele lenaneo le qala ho sebetsa, u beha kotsi ea hore data ea hau e hlokomolohe. Maemong ao mananeo a kopanetsoeng a sa faneng ka ts'ebetso ea pele, o ka etella pele ho romela ho lieha joalokaha eka ho:

# Ho qoba ho fana ka litsomi tse bontšang kamoo u ka kenang kateng, # tsamaiso ena ha e susumelletsoe password ea ka ntle. # Emela metsotsoana e mehlano bakeng sa ho phethahala ka ho feletseng ho telnet haholo.secure.gov ho robala 5 ho romella password \ r

exp_send ke lihlahisoa tsa ho romela. Haeba u sebelisa Expectk kapa ntho e 'ngoe eo ue Lebelletse tikolohong ea Tk, romela e hlalosoa ke Tk bakeng sa morero o fapaneng ka ho feletseng. exp_send e fanoe ka ts'ebetsong pakeng tsa maemo. Li-aliases tse joalo li fanoa bakeng sa litaelo tse ling tsa ho lebella ho lebella.

romella sefere-serosa [-flags] khala
e tšoana le ho romela , ntle le hore sehlahisoa se romelloa ho stderr ho e-na le mokhoa oa hona joale.

romella_log [-] khoele
e tšoana le ho romela , ntle le hore mohala o rometsoe ho faele ea log (sheba log_file .) Likhopolo li hlokomolohuoa haeba ho ne ho se na file ea log e bulehileng.

romella_nete ea sekhahla [sa matšoafo]
e tšoana le ho romela , haese hore sehlahisoa se romelloa ho / dev / tty ho e-na le mokhoa oa hona joale.

romela mohala oa mocheso oa [letšoao]
ho tšoana le ho romela , ntle le hore sehlahisoa se romelloa ho ea ho e-na le mokhoa oa hona joale.

metsotsoana ea ho robala
e etsa hore script e robale bakeng sa palo e fanoeng ea metsotsoana. Likhoeli tse ka 'na tsa e-ba palo ea bofelo Ho sitisa (le liketsahalo tsa Tk haeba u sebelisa Expectk) li sebetsanoa ha u ntse u lebeletse ho robala.

spawn [args] program [args]
e etsa ts'ebetso e ncha e tsamaisang " args ea lenaneo ". Stdin ea eona, stdout le stderr li amana le ho lebella, e le hore li ka baloa le ho ngoloa ke tse ling tse lebelletse litaelo. Tlhaloso e robehile ke e haufi kapa haeba ts'ebetso ka boeona e koala li-identifiers tsa lifilimi.

Ha ts'ebetso e qalisoa ke ho hlasela , mofuta o fapaneng spawn_id o behiloe ho moeletsi o buang ka ts'ebetso eo . Tshebetso e hlalositsoeng ke spawn_id e nkoa e le " mokhoa oa hona joale ". spawn_id e ka 'na ea baloa kapa ea ngoloa, ha e le hantle e fana ka taolo ea mosebetsi.

user_spawn_id ke sesebelisoa sa machaba se nang le moelelo o bolelang moqapi. Ka mohlala, ha spawn_id e behiloe ho boleng bona, lebella ho itšoara joaloka ho lebella_a ho lebella .

Error_spawn_id ke sesebelisoa sa lefats'e se nang le molumo o bolelang phoso e tloaelehileng. Ka mohlala, ha spawn_id e behoa ho boleng bona, romella ho itšoara joaloka send_error .

tty_spawn_id ke mofuthu oa lefats'e o nang le moelelo o bolelang / dev / tty. Haeba / dev / tty ha e eo (e kang ka cron, at, kapa batch script), joale tty_spawn_id ha e hlalosoe. Sena se ka hlahlojoa e le:

haeba {[info vars tty_spawn_id]} {{/ dev / tty e teng} e 'ngoe {# / dev / tty ha e eo # mohlomong ka cron, batch, kapa script}

spawn e khutlisa mokhoa oa UN process . Haeba ho se na mokhoa o hlahisoang, 0 o khutlisetsoa. Mofuta o fapaneng spawn_out (lekhoba, lebitso) o behoa lebitsong la lekhoba la lekhoba la pty.

Ka ho feletseng, spawn e pheta lebitso la taelo le likhang. The -noecho flag e emisa spawn ho etsa sena.

Se-folakha ea sepheo se etsa hore phallo ea console e khutlisetsoe ts'ebetsong e hlahisoang. Sena ha se tšehetsoe litsing tsohle.

Ka hare, monokotšoa o sebelisa pty, o qalisoa ka tsela e tšoanang le ea mosebetsing. Sena se fetisetsoa pele e le hore litlhophiso tsohle li "fokola" (ho ea ka stty (1)). Haeba stty_init e feto- fetohang e hlalosoa, e hlalosoa ka mokhoa oa lipolelo tsa maqiti ha ho etsoa tlhahlobo e eketsehileng. Ka mohlala, "beha stty_init e tala" ho tla etsa hore lisebelisoa tse ling tse hlahisitsoeng li qale ka mokhoa o tala. -nottycopy e qeta ho qala ho latela motlolo oa mosebedisi. -nottyinit e tlōla "boits'oaro" bo qalang.

Hangata, ho qeta nako ho nka nako e lekaneng ho e bolaea. Haeba o hlokomela spawn e nka nako e ngata, mohlomong o kopana le ptys e nyalaneng. Liteko tse 'maloa li tsamaisoa ho ptys ho qoba ho kena-kenana le mekhoa e mebe. (Tsena li nka metsotsoana e 10 ka pty e nyenyane.) Ho matha lebella ka -ba kgetho e tla bonts'a haeba Lebella ho kopana le li-ptys tse ngata tse sa tsejoeng. Haeba o sitoa ho bolaea mekhoa eo li-ptys tsena li kenyelletsoeng ho eona, mokhoa oa hau feela oa ho iphelisa o ka ba oa ho tsosolosa.

Haeba lenaneo le ke ke la hlahisoa ka katleho hobane ho ha (2) ho hlōleha (mohlala ha lenaneo le le sieo), molaetsa oa phoso o tla khutlisetsoa ke molaong o latelang oa ho kopanya kapa oa ho lebella joalokaha eka lenaneo le ne le qalile 'me le hlahisa molaetsa oa phoso e le phallo. Boitšoaro bona ke phello ea tlhaho ea ts'ebetsong ea spawn . Ka hare, ho hlahisa lifereko, ka mor'a moo ts'ebetso e hlahisoang ha e na tsela ea ho buisana le ea pele e lebelletse ts'ebetso ntle le ka puisano ka spawn_id.

Le-folakha ea bofetoheli e etsa hore phehisano e hlahlamang e hlalosoe e le sekhetho sa fisi sa Tcl (ke hore, khutlisetsoa ka bolokolohi .) Pono ea mokelikeli e ka sebelisoa e le haeba e ne e hlahisoa. (Sebopeho sa faele ha se sa lokela ho sebelisoa.) Sena se u nolofalletsa ho sebetsana le lisebelisoa tse tala, lifaele le liphaephe tse hlahisoang ntle le ho sebelisa pty. 0 e khutlisetsoa ho bonts'a hore ha ho na mokhoa o amanang. Ha ho amana le ts'ebetso e hlahisoang ho koaloa, ho joalo le ka sekhetho sa fisi ea Tcl. Letšoao -leaveopen le tšoana le -ba ntle le hore -leaveopen e etsa hore identifi ea faele e siuoe e butsoe esita le ka mor'a hore ho koaloe sekoti sa mahlaseli.

Letšoao- lefeela le etsa hore pty e bulehe empa ha ho mokhoa o hlahisoang. 0 e khutlisetsoa ho bonts'a hore ha ho na mokhoa o amanang. Spawn_id e behiloe ka mokhoa o tloaelehileng.

Mofuta o fapaneng oa spawn_out (lekhoba, fd) o behoa ho khetho ea faele e tsamaisanang le lekhoba la pty. E ka koaloa ho sebelisoa "haufi-pola".

Letlapa la -ignore le bolela letšoao le lokelang ho hlokomolohuoa ts'ebetsong e hlahisoang. Ho seng joalo, lipontšo li fumana boitšoaro bo sa feleng. Lipontšo li boleloa e le taelo ea leraba , ntle le hore pontšo e 'ngoe le e' ngoe e hloka folakha e fapaneng.

boemo ba maoto
ho etsa hore lipolelo tse latelang li hatisoe pele li etsoa. (Taelo ea Tcl e latela mefuta e sa tšoaneng). Ka mohlala, litaelo tse latelang li lebelletse ha u ntse u shebile litekanyetso tse 4 tsa pele tsa lits'ebitso, empa ha ho le ka tlaase ho moo.

lebeletse -c "lejoe la 4" script.exp

Le- lekhalo la lifofane le etsa hore ho se ke ha e-ba bonolo ho khutlisa tlhaloso ea litlaleho tsa morao tjena tse sa tsebeng tse fanoeng.

stty args
liphetoho tsa liphetoho tse tšoanang le taelo ea ka ntle ea majoe.

Ka ho feletseng, sesebelisoa sa taolo se fihletsoe. Li-terminals tse ling li ka fumanoa ka ho kenya "Likōpo tsa boemo bo li khutlisetsa e le sephetho sa taelo. Haeba ho se na boemo bo kentsweng mme setulo se laolang se fihletsoe, boemo ba pele ba litšobotsi tse hlakileng le tse nang le maikutlo a khutlisetsoang bo khutlisetsoa ka foromo e ka bang hamorao e sebelisoang ke taelo.

Ka mohlala, lintlha tse hlakileng kapa tse koahetsoeng li beha sepheo ka tsela e hlahisitsoeng. Likhohlano -a pheha kapa li phehoa li behoa boemong bo phehiloeng. Likhopolo li lumellana le -o beha sephetho ho echo le noecho ka mokhoa o latellanang.

Mohlala o latelang o bontša kamoo u ka thibela ka nakoana ho bua. Sena se ka sebelisoa ka litsela tse ling-ka mokhoa o itekanetseng ho qoba ho kenngoa li-passwords ho bona. (Sheba lintlha tse eketsehileng ka sena tlasa EXPECT HINTS tse ka tlase.)

stty -echo send_user "Netefete:" lebella_user -re "(. *) \ n" setaele sa lits'ebeletso $ wait_out (1, khoele) stty echo

system args
e fana ka args ho sh (1) e le ho kenya letsoho, feela joalokaha e ne e ngotsoe e le taelo e tsoang ho terminal. Lebella ho leta ho fihlela khetla e fela. Sebaka sa ho khutla ho sh se sebetswa ka tsela e tšoanang le eo polao e sebetsang ka eona boemo ba eona ba ho khutla.

Ho fapana le ho etsoa e leng ho khutlisetsa stdin le stdout ho script, tsamaiso ha e etse ketsahalo e fapaneng (ntle le e bontšitsoeng ke khoele ka boeona). Kahoo, hoa khoneha ho sebelisa mananeo a lokelang ho bua ka ho toba le dev / tty. Bakeng sa lebaka le tšoanang, liphello tsa tsamaiso ha lia tlalehoa ka lebokoseng.

timestamp [li-arg]
e khutlisa timestamp. Ha ho na mabaka, palo ea metsotsoana ho tloha nakong eo e khutlisitsoeng.

The -format folakha e kenyelletsa khoele e khutlisetsoang empa e e-na le sebaka se etsoang ho latela melao ea POSIX ea strftime. Ka mohlala% a e nkeloa sebaka ke lebitso le hlalositsoeng ka matsatsi a beke (ie, Sat). Tse ling ke:

% lebitso le lengolo la matsatsi a beke le beke% A lebitso la letsatsi le leng le le leng la beke ea bolulo lebitso la% b le hlalositsoeng ka khoeli lebitso la% B khoeli e feletseng lebitso la% c nako ea nako ea letsatsi: ho fihlela ka la 6 Motsamaisi 6 11:45:56 1993% d letsatsi la khoeli (01-31% H hora (00-23)% I hora (01-12)% j letsatsi (001-366)% m khoeli (01-12)% M motsotso (00-59)% p hos kapa bosiu% S bobeli (00-61) % ka letsatsi (1-7, Mantaha ke letsatsi la pele la beke)% U beke (00-53, Sontaha sa pele ke letsatsi la pele la beke e le 'ngoe)% V beke (01-53, mokhoa oa ISO 8601)% w letsatsi (0- 6)% W beke (00-53, Mantaha oa pele ke letsatsi la pele la beke e le 'ngoe)% x nako ea letsatsi-joalo ka la: Motšehare oa la 6 Oct 1993 1993% X nako e le: 23:59:59% y selemo (00-99) % Y selemo ho ea ka: 1993% Z nakozone (kapa ntho leha e le efe haeba e sa khetholloe) %% ka palo ea palo e se nang letho

Litlhaloso tse ling tsa% ha lia hlalosoa. Litlhaku tse ling li tla feta li sa fumanoa. Ke feela sebaka sa C se tšehetsoeng.

The -second folakha e kenyelletsa metsotsoana e seng mekae ho tloha ka nako eo e tla sebelisoa e le mohloli oo u lokelang ho o etsa. Ho seng joalo, nako ea hona joale e sebelisoa.

Letšoao -gmt le hlahisa tlhahiso ea nako ea timestamp ho sebelisa nako ea GMT ea nako. Kaha ha ho na folakha, nako ea nako ea sebaka seo e sebelisoa.

litepisi [[taelo] tsa leraba]
e etsa hore taelo e fanoeng e fanoe ka nako e tlang ha e fumanoa ka lipontšo tse fanoeng. Taelo e etsoa lefats'eng lohle. Haeba taelo e le sieo, ketso ea pontšo e khutlisetsoa. Haeba taelo ke mohala oa SIG_IGN, lipontšo li hlokomolohuoa. Haeba taelo e le sesebelisoa SIG_DFL, lipontšo li etsa hore tsamaiso e se ke ea etsahala. lipontšo e ka 'na eaba ke letšoao le le leng kapa letoto la lipontšo. Lipontšo li ka hlalosoa ka lipalo kapa ka tsela ea tšoantšetso e le pontšo (3). Sehlooho sa "SIG" se ka tlosoa.

Ha ho na mabaka (kapa taba-mohopolo), sefi se khutlisa nomoro ea pontso ea taelo ea leraba hona joale e etsoang.

Folakha ea khoeli e sebelisa mokhoa oa ho khutlisa oa taelo sebakeng sa mofuta leha e le ofe Tcl o ne o le haufi le ho khutla ha taelo e qalile ho matha.

Letšoao la lipina le etsa hore taelo e hlahlojoe e sebelisoa ke mofetoleli nakong eo taelo e qalileng ho matha ho e-na le hore na sefi se phatlalalitsoe joang.

Lebitso le bitsoang -name le etsa hore sefi se laele ho khutlisa lebitso la letšoao la sefi seo hona joale se ntseng se etsoa.

E- lebokose le leng le etsa hore sefi se laele ho khutlisa nomoro e kholo ka ho fetisisa ea pontšo e ka behoang.

Ka mohlala, taelo "mokhopi {send_user" Ouch! "} SIGINT" e tla hatisa "Ouch!" nako le nako ha mochine a hatella ^ C.

Ka ho feletseng, SIGINT (e ka atisang ho hlahisoa ka ho hatella ^ C) le SIGTERM ka lebaka la Lebeletse ho tsoa. Sena se bakoa ke leraba le hlahlamang, le bōpiloeng ka ho sa feleng ha Lebella ho qala.

mohono o tsoang {SIGINT SIGTERM}

Haeba o sebelisa letšoao -D ho qala mobuseletsi, SIGINT e hlalosoa hape ho qala mochineli oa li-interactive. Sena se bakoa ke leraba le latelang:

sefi {exp_debug 1} SIGINT

Sefi sa marang-rang se ka fetoloa ka ho beha mofuta-fapaneng oa libaka EXPECT_DEBUG_INIT ho taelo e ncha ea leraba.

Ka sebele, u ka fetisa lintho tsena ka bobeli feela ka ho eketsa leraba litaelo tsa script. Ka ho khetheha, haeba u e-na le "motso oa hau o tsoang SIGINT", sena se tla fokotsa sefi sa debugger. Sena se na le thuso haeba o batla ho thibela basebedisi hore ba se ke ba fihla ho setsebi sa mobu.

Haeba u batla ho hlalosa sefi sa hau ho SIGINT empa u ntse u tšoasa mochineli ha o ntse o sebetsa, sebelisa:

haeba {! [exp_debug]} {tšoasa sephiri SIGINT}

Ntle le moo, o ka mo tšoasa ho debugger ho sebelisa letšoao le leng.

leraba le ke ke la u lumella hore u fetele ketso ea SIGALRM kaha sena se sebelisoa ka hare ho Lebella . Taelo ea ho khetholla e beha SIGALRM ho SIG_IGN (hlokomoloha). U ka khutlisetsa sena hafeela u ntse u e thibela nakong ea litaelo tse latelang tsa spawn.

Bona letšoao (3) bakeng sa lintlha tse ling.

emela [li-arg]
ho lieha ho fihlela ts'ebetso e hlahisoang (kapa mokhoa oa morao-rao haeba ho se na lebitso le le leng) le felisoa.

emela ka tloaelo ho khutlisa lethathamo la litekanyetso tse 'nè. Setsi sa pele ke pid ea ts'ebetso e neng e emetsoe. Boemo ba bobeli ke id e hlahisoang ke spa. Boholo ba boraro ke -1 haeba phoso ea tsamaiso ea liketsahalo e etsahala, kapa 0 ho seng joalo. Haeba kakaretso ea boraro e ne e le 0, lenane la bone ke boemo bo khutlisitsoeng ke ts'ebetso e hlahisoang. Haeba kakaretso ea boraro e ne e le -1, lenane la bone ke bohlokoa ba errno e behiloeng ke tsamaiso ea ho sebetsa. Ntho e fapaneng ea sekhopeho se fapaneng e boetse e behiloe.

Lintlha tse ling li ka hlaha qetellong ea boleng ba ho khutla ho tloha ho leta . Ntho e khethollang ea bohlano e khetholla sehlopha sa boitsebiso. Hona joale, boleng bo le bong feela bo ka fumanoang ke CHILDKILLED ha ho joalo maemo a latelang a mabeli ke lebitso la letšoao la C le mokhoa o khutšoanyane oa tlhaloso.

The -a folakha e bolela ts'ebetso ea ho ema e tsamaisanang le lebitso le bitsoang spawn_id (HA HO khethollo ea mokhoa ). Ka hare ho mohlokomeli oa SIGCHLD, hoa khoneha ho emela ts'ebetso leha e le efe e hlahisoang ka ho sebelisa lisebelisoa tsa mahlaseli a -1.

Letšoao -nowait le etsa hore ho letela ho khutla hang-hang ka pontšo ea katleho e emetseng. Ha tshebetso e tsoa (hamorao), e tla nyamela hang-hang ntle le tlhokahalo ea nako e hlakileng.

Taelo ea ho ema e ka boela ea sebelisoa e emetse ts'ebetsong e koetsoeng ho sebelisa likhang "-i -1". Ho fapana le tšebeliso ea eona le mekhoa e hlahisoang, taelo ena e ka etsoa neng kapa neng. Ha ho na taolo ea hore na kotulo e kotuloa. Leha ho le joalo, boleng ba ho khutla bo ka hlahlojoa bakeng sa id ea mokhoa .

LIBELETSO

Lebella ka kotloloho ho tseba ka lilaebrari tse peli tse hahiloeng bakeng sa Litekanyetso tsa lingoliloeng. Tsena li hlalosoa ke lihlooho tse boletsoeng mefuteng ea exp_library le exp_exec_library. Ka bobeli li reretsoe ho ba le lifaele tsa tshebediso tse ka sebelisoang ke mangolo a mang.

Exp_library e na le lifaele tse ikemetseng tsa ho haha. exp_exec_library e na le lifaele tse itšetlehileng ka mohaho. Ho itšetlehile ka tsamaiso ea hau, litsamaiso tse peli li ka 'na tsa se na letho ka ho feletseng. Ho ba teng ha faele $ exp_exec_library / cat-buffers ho hlalosa hore na li-buffers tsa hau / li-cat / tsa cat ke tsa kamehla.

HO HLAHALA HORE

Tlhaloso ea vgrind e fumaneha bakeng sa ntle-khatiso Litebello tsa mangolo. Ho nka hore tlhaloso ea vgrind e fanoeng ka Lethathamo la tebello e kenngoa ka nepo, u ka e sebelisa e le:

shebella-filep file

MEHLALA

Boholo ba bona ha ba bonahale hore na ba ka beha ntho e 'ngoe le e' ngoe joang eo leqephe la motho le e hlalosang. Kea u khothalletsa hore u bale le ho leka mehlala ea moelelo oa mohlala oa Tebello ea ho abela. Tse ling tsa tsona ke mananeo a sebele. Tse ling ke litšoantšo feela tsa mekhoa e itseng, 'me ho hlakile hore banyalani ba mpa feela ba potlakile. Fana ea KENA e na le pono e potlakileng ea mananeo ana.

Litokomane tse lebeletseng (sheba LINTLHA TSE LING) li boetse li na le thuso. Le hoja lipampiri tse ling li sebelisa syntax e lumellanang le liphetolelo tsa pele tsa Litebello, lintlha tse tsamaisanang le tsona li sa ntsane li sebetsa 'me li kena ka boitsebiso bo bongata ho feta leqephe lena la motho.

CAVEATS

Lisebelisoa li ka 'na tsa kopana le mabitso a litaelo tsa Expect's. Ka mohlala, romela ho hlalosoa ke Tk bakeng sa morero o fapaneng ka ho feletseng. Ka lebaka lena, boholo ba Litebello tsa Litebello li fumaneha le "exp_XXXX". Melao le mefuta-futa e qalang ka "exp", "inter", "spawn", le "ho tsoa nako" ha li na li-aliases. Sebelisa mabitso a mangata a litaelo haeba o hloka ts'ebetsano ena pakeng tsa maemo.

E lebeletse ho nka pono e fanang ka bolokolohi bo bongata. Ka ho khetheha, mefuta e fapaneng e baloang ke litaelo tse tobileng ho lenaneo le lebeletse e tla batloa pele ho tloha sebakeng sa sebaka sa heno, 'me haeba se sa fumanoe, hohle lefatšeng. Ka mohlala, sena se fokotsa tlhokahalo ea ho beha "nako eohle ea nako" ka mokhoa o mong le o mong oo u o ngolang o sebelisang ho lebella . Ka lehlakoreng le leng, mefuta e sa tšoaneng e ngotsoeng e lula e le sebakeng sa lehae (ntle le haeba ho fanoe taelo ea "lefats'e"). Bothata bo tloaelehileng ka ho fetisisa bo bakoang ke ha spawn e etsoa ka mokhoa o itseng. Ka ntle ho ts'ebetso, spawn_id ha e sa le teng, kahoo ts'ebetso e hlahisoang ha e sa fumaneha kahobane feela e etsoa. Kenya "spawn_id ea lefatše" ho latela mokhoa o joalo.

Haeba u sa khone ho lumella bokhoni ba multispawning (ke hore, tsamaiso ea hau ha e tšehetse kapa e khetha (BSD *. *), Phuputso (SVR> 2), kapa ntho e lekanang), Lebeletse feela ho khona ho laola mokhoa o le mong ka nako. Tabeng ena, u se ke ua leka ho beha spawn , leha e le hore u lokela ho phethahatsa merero ka polao nakong ea ts'ebetso e hlahisitsoeng. Ho feta moo, u ke ke ua khona ho lebella ho tloha mekhoeng e mengata (ho akarelletsa le mosebedisi e le mong) ka nako e le 'ngoe.

Meeli ea motlakase e ka ba le phello e kholo litokomaneng. Ka mohlala, haeba lengolo le ngotsoe ho batla ho lefa, le tla senyeha ha ho pheta-pheta ho tima. Ka lebaka lena, Lebella hore matla a marang-rang a finyelloe ka ho feletseng. Ka bomalimabe, sena se ka etsa hore lintho li se ke tsa thabisa merero e meng. Ka mohlala, emacs shell e batla ho fetola mappings "a tloaelehileng": melaetsa e mecha e ngotsoe ho li-ncha tse ncha ho e-na le li-newline tsa ho khutlisa likoloi, 'me ho pheta-pheta ho holofalitsoe. Sena se lumella motho hore a sebelise emacs ho fetola mola o kenang. Ka bomalimabe, Lebella hore e se ke ea hakanya sena.

U ka kopa hore U se ke ua lebella hore u se ke ua fetisa maemo a sa lekanyetsoang a litekanyo tsa nako, empa u lokela ho ba hlokolosi haholo ha u ngola mangolo bakeng sa libaka tse joalo. Tabeng ea li-emacs, qoba ho itšetlehile ka lintho tse kang ho bitsa mappings le ho qetela.

Melao e amohelang likhang tse kenngoeng lethathamong le le leng (ho lebella mefuta e fapaneng le ho sebelisana ) sebelisa mokhoa o hlophisitsoeng ho etsa qeto ea hore na lethathamo lena ke khang e le 'ngoe kapa tse ngata. The heuristic e ka hlōleha feela tabeng ha lenane le hlile le emela phetoho e le 'ngoe e nang le litlhaloso tse ngata tse nang le litlhaku tse se nang whitespace pakeng tsa tsona. Sena se bonahala eka ha se khonehe, leha ho le joalo khang "-nobrace" e ka sebelisoa ho qobella khang e le 'ngoe hore e sebetsanoe e le khang e le' ngoe. Hona ho ka etsahala hore ebe se sebelisoa ka mochine o hlahisitsoeng ke Expect code. Ka tsela e ts'oanang, -botla matlafatsa taba e le 'ngoe e lokelang ho sebetsa e le likarolo tse ngata / liketso.

BUGS

E ne e hlile e leka ho reha lenaneo "ho kopanela liphate" (bakeng sa "Smart EXec" kapa "Thumela-Sehlopha"), empa kutloisiso e ntle (kapa mohlomong Puritanism) e ile ea hlōla.

Litsing tse ling, ha sekhetla se hlahisoa, se tletleba ka hore ha se khone ho fihlella empa se ntse se matha. Sena se bolela hore tsamaiso ea hau e na le mekhoa ea ho fumana taolo eo E lebeletseng e sa e tsebeng. Ka kopo fumana hore na ke eng, mme u romelle tlhahisoleseding ena ho 'na.

Ultrix 4.1 (bonyane liphetolelo tsa morao-rao tse potolohileng mona) o na le nako ea holimo ho 1000000 ho lekana le 0.

Digital UNIX 4.0A (mme mohlomong liphetolelo tse ling) o hana ho abela ptys haeba o hlalosa SIGCHLD mokelikeli. Sheba leqephe la grantpt bakeng sa boitsebiso bo eketsehileng.

IRIX 6.0 ha e sebetsane le tumello ea pty ka tsela e nepahetseng e le hore haeba E lebeletse ho leka ho fana ka pty e neng e sebelisoa ke motho e mong, e hlōleha. Ntlafatsa ho IRIX 6.1.

Telnet (e netefalitsoeng feela tlas'a SunOS 4.1.2) e leketlile haeba TERM e sa behoa. Ena ke bothata tlas'a cron, le ka likarolo tsa cgi, tse sa hlalosetse TERM. Kahoo, o tlameha ho e beha ka ho hlaka - ho mofuta ofe hangata o sa lokelang. E tlameha feela ho beha ntho e itseng! E latelang e ka 'na eaba e lekane bakeng sa maemong a mangata.

beha env (TERM) vt100

Tlhahiso (e netefalitsoeng feela tlas'a BSDI BSD / OS 3.1 i386) e fanyeha haeba SHELL le HOME li sa behoa. Ena ke bothata tlas'a cron , le ka likarolo tsa cgi , tse sa hlaloseteng mefuta e sa tšoaneng ea tikoloho. Kahoo, o tlameha ho li beha ka ho hlaka - hore na ke mofuta ofe hangata o sa lokelang. E tlameha feela ho beha ntho e itseng! E latelang e ka 'na eaba e lekane bakeng sa maemong a mangata.

beha env (SHELL) / bin / sh set env (HOME) / usr / local / bin

Mesebetsi e meng ea ptys e entsoe e le hore kernel e lahlele ntho leha e le efe e sa rutoang kamora metsotsoana e 10 ho isa ho e 15 (nomoro ea sebele ke ho itšetleha ka ts'ebetsong) ka mor'a hore ts'ebetso e koale ferese e hlalosang. Ka hona, Lebeletse mananeo a joalo

letsatsi la ho robala lea robala 20 lebella

e tla hlōleha. E le ho qoba sena, kopa mananeo a se nang puisano le ho sebetsana ho e-na le ho hlahisa . Le hoja maemo a joalo a le teng, ka mokhoa o tloaelehileng ha ke e-s'o ka ke ba le boemo boo qetello ea lenaneo la nnete le ts'oanang e tla lahleha ka lebaka la boitšoaro bona.

Ka lehlakoreng le leng, Fata ptys ea UNICOS e lahla sephetho leha e le sefe se sa rutoang kapele ka mor'a hore ts'ebetso e koale fono e hlalosang. Ke tlalehile sena ho Fumana mme ba sebetsa ho lokisa.

Ka linako tse ling ho lieha ho ts'oaroa pakeng tsa potlako le karabo, joalo ka ha sebopeho sa tty se fetola litlhophiso tsa UART kapa litekanyetso tsa baud ka ho batla li-bits tsa ho qala / ho khaotsa. Hangata, sena sohle se hloka ke ho robala ka nako ea bobeli kapa tse peli. Tsela e matla haholo ke ho leka hape ho fihlela hardware e loketse ho amohela. Mohlala o latelang o sebelisa mekhoa ena ka bobeli:

romela "9600 ka potlako"; ho robala 1 ho lebeletse hore {ho romela nako} "r"; exp_continue} $ prompt}

code-trap e ke ke ea sebetsa ka taelo leha e le efe e lutseng Tcl's event loop, e kang boroko. Bothata ke hore ketsahalong eo, Tcl e lahla mekhoa ea ho khutla ho baokameli ba ketsahalo ea async. Mosebetsi ke ho beha folakha molaong oa leraba. Ebe u sheba folakha kapele ka mor'a taelo (e leng, ho robala).

Taelo ea-lebala la maballo e hlokomoloha-e leng nako ea ho ba le likhang 'me ha e na maikutlo a nako e tloaelehileng.

& # 34; EXPECT HINTS & # 34;

Ho na le lintho tse 'maloa mabapi le Lebella hore e ka' na ea e-ba e sa utloahaleng. Karolo ena e leka ho rarolla tse ling tsa lintho tsena ka litlhahiso tse 'maloa.

Bothata bo tloaelehileng ba ho lebella ke mokhoa oa ho hlokomela khetla ea khetla. Kaha tsena li khetholloa ka tsela e fapaneng le batho ba fapaneng le likhetla tse fapaneng, mokhoa o hlakileng oa ho etsa li-rlogin o ka ba thata ho sa tsejoe ka potlako. Kopano e nang le mabaka a utloahalang ke ho ba le basebelisi ba bolokang polelo e tloaelehileng e hlalosang ho potlakela ha bona (haholo-holo, bofelo ba eona) mofuteng oa tikoloho EXPECT_PROMPT. Khoutu e kang e latelang e ka sebelisoa. Haeba EXPECT_PROMPT e se teng, khoutu e ntse e le monyetla o motle oa ho sebetsana hantle.

beha ka potlako "(% | # | \\ $) $"; # hang-hang prompt catch {set prompt $ env (EXPECT_PROMPT)} lebella -le $ hang

Kea u khothalletsa ho ngola ho lebella mekhoa e kenyeletsang bofelo ba eng kapa eng eo u lebeletseng ho e bona. Sena se qoba monyetla oa ho araba potso pele o bona ntho eohle. Ho phaella moo, ha u ntse u khona ho araba lipotso pele u li bona ka ho feletseng, haeba u arabela hoseng, karabo ea hao e ka 'na ea bonahala e khutlisitsoe morao har'a potso. Ka mantsoe a mang, puisano e hlahisoang e tla ba e nepahetseng empa e shebahale e le ea bohlokoa.

Lintho tse ngata tse kenyelletsoang li kenyelletsa setho sa sebaka qetellong. Ka mohlala, potlako e tsoang ho ftp ke 'f', 't', 'p', '>' le. Ho lumellana le potlako ena, o tlameha ho ikarabella bakeng sa mong le e mong oa batho bana. Ke phoso e tloaelehileng ea ho se kenyelle letho. Beha sekheo ka ho hlaka.

Haeba u sebelisa mokhoa oa fomoro X *, * * e tla bapisa liphello tsohle tse fumanoeng ho tloha qetellong ea X ho ea ho ntho e qetellang e fumanoeng. Sena se utloahala se utloahala empa se ka ba ferekanyang hobane polelo "ntho ea ho qetela e amoheletsoeng" e ka fapana ho itšetlehile ka lebelo la k'homphieutha le ho sebetsa ha I / O ka bobeli ka kernel le mokhanni oa lisebelisoa.

Ka ho khetheha, batho ba atisa ho bona sephetho se fihlileng ka li-chunks tse khōlō (ka atomically) ha e le kannete mananeo a mangata a hlahisa mola o le mong ka nako. Ha re nahana hore sena ke nyeoe, sebopeho sa serapa se fetileng se ka bapisa ho fela ha moeli o teng hona joale le hoja ho bonahala eka ho na le tse ngata, hobane nakong ea papali eo e leng sehlahisoa se amohetseng.

ho lebella hore ha ho na mokhoa oa ho tseba hore ho tla etsahala lintho tse ling ntle le haeba mokhoa oa hau o ikarabella ka ho toba.

Esita le ho itšetlehile ka ho buisana ka mokhoa o bontšang moelelo ha ho bohlale. Hase feela hore mananeo a atisa ho etsa litšepiso mabapi le mofuta oa tlhekefetso eo a e etsang, empa tsamaiso ea boipelaetso e ka senya lihlahisoa ho fihlela melapo e senya libaka tse bonahalang eka li sa lebaleheng. Kahoo, haeba u ka khona ho hlalosa litlhaku tse seng kae tsa ho qetela ha u ngola mekhoa, ke bohlale ho etsa joalo.

Haeba u emetse mohlala ho qetellong ea lenaneo 'me lenaneo le hlahisa ntho e' ngoe ho e-na le hoo, u ke ke ua khona ho e lemoha ka ntlha ea bohlokoa ea nako . Lebaka ke hobane ho lebella hore ho se ke ha e-ba le nako - ho e-na le hoo e tla fumana pontšo ea eof . Sebelisa seo ho e-na le hoo. Esita le ho feta, sebelisa bobeli. Ka tsela eo haeba moeli oo o kileng oa sisinyeha, ha ho hlokahale hore u fetole mola o le mong.

Hangata melaetsa e ncha e fetoloa koloing e khutlisetsoe, ho latellana ha linefe ha e hlahisoa ke mokhanni ea feletso. Kahoo, haeba o batla mokhoa o hlakanyang mela e 'meli, ho tloha, e re, printf ("foo \ nbar"), o lokela ho sebelisa mohlala "foo \ n \ n".

Phetolelo e ts'oanang e etsahala ha u bala ho tswa ho motho ea sebelisang, ka ho lebella_e leng leihlo . Tabeng ena, ha u hatella ho khutla, e tla fetoleloa ho newline. Haeba o lebeletse joale o fetisetsa joalo lenaneong le behang setulo sa lona sechabeng (joaloka telnet), ho tla ba le bothata, ha lenaneo le letetse ho khutlela ha 'nete. (Mananeo a mang a hlile a tšoarela ka hore ba tla fetolela ka ho toba litlhaloso tse ncha ho khutlela, empa ba bangata ha ba na joalo.) Ka bomalimabe, ha ho na mokhoa oa ho fumana hore lenane le beha setulo sa lona sebaka sa mefuta e sa tsoaneng.

Ho e-na le ho sebelisa mongolo o ncha ka ho khutlela morao, tharollo ke ho sebelisa taelo e reng "stty raw", e tla emisa phetolelo. Leha ho le joalo, hlokomela hore sena se bolela hore ha u sa tla hlola u fumana lintlha tse phehiloeng tsa ho fetola line.

ho buisana ka ho feletseng ho beha sepheo sa hau ho mokhoa o tala e le hore bothata bona bo se ke ba hlaha ka nako eo.

Hangata ho na le thuso ho boloka diphasewete (kapa tse ling tsa tlhahisoleseding e ikhethang) ho Lebella ho ngola mangolo. Sena ha se kgothaletswe ho tloha ho eng kapa eng e boloketsweng khomphuteng e ka kgoneha ho fumanoa ke mang kapa mang. Ka hona, ho qobella batho hore ba fumane li-passwords ho tsoa ka script ke khopolo e bohlale ho feta ho e kenya ka ho toba. Leha ho le joalo, ka linako tse ling ho kenngoa joalo ke eona feela monyetla.

Ka bomalimabe, tsamaiso ea file ea UNIX ha e na mokhoa o tobileng oa ho ngola mangolo a sebetsang empa a sa rutoe. Lisebelisoa tse tšehetsang likhetla tsa setgid ka mokhoa o sa tobang li ka etsisa sena ka tsela e latelang:

Bopa Letšolo le lebeletseng (le nang le data ea sekhukhu) ka tloaelo. Etsa tumello ea ho ba 750 (-rwxr-x ---) le ea nang le sehlopha se tšeptjoang, ke hore, sehlopha se lumelloa ho se bala. Haeba ho hlokahala, bopa sehlopha se secha ka morero ona. Ka mor'a moo, etsa script / bin / sh ka tumello 2751 (-rwxr-s-x) e nang le sehlopha se tšoanang le pele.

Phello ke script e ka etsoang (le ho balloa) ke mang kapa mang. Ha e kentsoe, e matha script.

& # 34; BONA HORE & # 34;

Tcl (3), se nang lebello (3)
"Ho hlahloba tebello: Thuso ea lithulusi tsa Tcl-Based Based for Automating Programs Interactive" ka Don Libes, maq. 602, ISBN 1-56592-090-2, O'Reilly le Associates, 1995.
"lebella: Ho folisa Lintho tse sa laoleheng tsa ho se lumellane" ka Don Libes, Proceedings of the Summer 1990 Conference ea USENIX, Anaheim, California, la 11-15 ho ea ho la 1990.
"Ke sebelisa ho lebella ho etsa mesebetsi ea tsamaiso ea tsamaiso" ka Don Libes, Proceedings ea 1990 Seboka sa USENIX se Khōlō sa Tsamaiso ea Tsamaiso, Colorado Springs, Colorado, la 17-19-19, 1990.
"Tcl: Puo ea Taolo e Kenyelletsoang" ka John Ousterhout, Proceedings of the Winter 1990 USENIX Conference, Washington, DC, la 22-26 ho ea ho la 1990. "Ke lebella: Mangolo a ho Laola Litšebelisano-'moho" le Don Libes, Computing Systems , Moq. 4, No. 2, Likoranta tsa Khatiso ea K'hatholike ea California, November 1991. "Khatello ea Khatello ea Tlhekefetso le Tšebelisano ea Ts'ebetso ea Interactive", ea Don Libes, Proceedings of the Summer 1992 USENIX Conference, maq. 135-144, San Antonio, TX, Ka la 12-15 la 12, 1992. "Kibitz - Connecting Multiple Programs Together Together", ka Don Libes, Software-Practice & Experience, John Wiley & Bara, West Sussex, Engelane, Vol.

23, No. 5, May, 1993..I "Debugger for Applications Tcl", ea Don Libes, Proceedings ea 1993 Tcl / Tk Workshop, Berkeley, CA, la 10-11 June, 1993.

AUTHOR

Don Libes, Setsi sa Sechaba sa Melao le Theknoloji

LINTLHA TSA LITLHAHO

Ke leboha John Ousterhout bakeng sa Tcl, le Scott Paisley bakeng sa pululelo. Re leboha Rob Savoye bakeng sa tekanyetso ea ho iketsetsa koloi.

HISTORY file e ngotse boholo ba ho iphetola ha lintho ho lebeletse . E etsa hore ho baloe thahasellisang 'me ho ka' na ha u fa temohisiso e eketsehileng ea software ena. Ke leboha batho ba boletsoeng ho lona ba nthomileng mekhoa ea liphoso le ho fana ka thuso e 'ngoe.

Ho qaptjoa le ho kenngoa ha ts'ebetso ea Litebello ho ile ha lefelloa karolo e itseng ke 'muso oa United States' me ka hona e le sechabeng sa sechaba. Leha ho le joalo mongoli le NIST ba ka rata mokitlane haeba lenaneo lena le litokomane kapa likarolo tsa tsona li sebelisoa.