ʻO ka Linux / Unix Polohau Manaʻo

ʻO ka mea e manaʻoʻia nei he polokalamu ia e kamaʻilio ana i nā papahana pāʻoihana'ē aʻe e like me kahi hōʻailona. Ma hope o ka hōʻailona, ​​makemakeʻo ia eʻike i ka mea e hiki ke kaliʻia mai kahi polokalamu a me ka pane pololei. ʻO kekahi'ōlelo unuhi i hāʻawiʻia nāʻano hoʻolālā a me nā koina kiʻekiʻe e kuhikuhi i ka dialog. Eia hou, hiki i ka mea hoʻohana ke lawe i ka mana a me ke kūkino maʻamau ke makemakeʻia, a laila e hoʻihoʻi i ka mana i ka hō'ā.

ʻO ka mea e manaʻoʻia he huiʻo Expect and Tk. Hanaʻo ia e like me ka makemake o Expect a me Tk. Hiki ke hoʻohana ponoʻia paha i C a C ++ me kaʻole o Tcl.

ʻO ka inoa "Manaʻo" mai ka manaʻo o ka hoʻouna / manaʻo i nā hopena i hoʻolahaʻia e uucp, kermit a me nā polokalamu'ē aʻe o nā modem. Akā naʻe,ʻaʻole e like me ka uucp, Manaʻoʻia ka hoʻopiliʻiaʻana i mea e hiki ai ke holo e like me ke kauohaʻoihana hoʻohana me kekahi papahana a me ka hana ma ka naʻau. Loaʻa ka hiki ke kamaʻilio i nā papahana i ka manawa like.

Ka mea e hiki ke hana

Eia kekahi laʻana, eia kekahi mau mea e hiki ke hana i ka luna hoʻomaha:

Nui nā kumu e hikiʻole ai i ka shell ke hoʻokō i kēia mau hana. Hiki i nā mea a pau me Expect.

Ma keʻano laulaha, pono ka manaʻolana no ka holoʻana i kekahi papahana e koi ana i ka pilina ma waena o ka papahana a me ka mea hoʻohana. ʻO nā mea a pau e pono ai,ʻo ka pilina e hiki ke hoʻopiliʻia i ka papahana. Manaʻo paha e hiki ke hoʻihoʻi i ka mana i ka mea hoʻohana me ka hoʻopauʻoleʻana i ka papahana. Hiki nō hoʻi, hiki i ka mea hoʻohana ke hoʻihoʻi i ka mana i ka hōʻalo i kēlā me kēia manawa.

Hoʻohana

Makemake i ka helu cdbfile no ka papa inoa o nā kauoha e hana. Hiki ke kono 'ia i ka manaʻo ma luna o nā pūnaewele e kākoʻo ana i ka #! ʻikeʻia ma ka hōʻailonaʻana i ka hōʻailona i hiki ke hoʻokōʻia a me ka hanaʻana i ka laina mua ma ka hōʻomi:

#! / usr / ka 'āpana / bin / hope -f

ʻOiaʻiʻo, pono e kuhikuhi pololei ke alahele kahi e manaʻo ai i ka ola. / usr / kaomi / bin ke kumu.

Hoʻolālā ka hae -c i kahi kauoha e hanaʻia i mua o kekahi ma ka palapala. Pono e'ōleloʻia ke kauoha e pale i ka wāwahiʻana o ka pū. Hiki ke hoʻohana i kēia koho i nā manawa he nui. E hoʻokōʻia nā kauoha he nui me ka hoʻokahi -c ma ka hoʻokaʻawaleʻana iā lākou me nā hamo. Hanaʻia nā kauoha i loko o ke kauoha iʻikeʻia. I ka hoʻohanaʻana iā Expectk, ua kohoʻia kēia koho e like me -command.

Hiki i ka hae-hae ke hoʻoulu i kekahi puka hōʻailona, ​​kahi i hoʻopiʻi nui i nā hana i loko o nā kauoha e like me ka manaʻo a me ka pilina. Aia kēia hae i ka hopena like me "exp_internal 1" i ka hoʻomakaʻana o kahi hōʻailona Manaʻo, a ua paiʻia kaʻaoʻao o Expect.

Hoʻopuka ka pā'ālua -D i kahi mea hoʻopau pāʻani interactive. Pono e pili i kahi waiwai nui. Hiki ke lawe i ka mana ma mua o ke kaʻina hana Tcl ināʻaʻole ka ze-zero aʻole inā ua hoʻokūʻia ka 'C a paʻakikī paha i kahi kānana, a iʻole kahi kauoha hoʻonā kūpono e hōʻikeʻia i ka papa. I ka hoʻohanaʻana iā Expectk, ua kohoʻia kēia koho e like me - Debug.

ʻO ka hae e hoʻokahe i kahi faila kahi e heluhelu ai i nā kauoha. ʻO ka hae pono ke kohoʻia no ka hoʻohana ponoʻana i ka #! ʻike, no ka mea, i hiki ke hāʻawiʻia aku nā manaʻo hoʻopiʻi ma ka laina kauoha. I ka hoʻohanaʻana iā Expectk, ua kohoʻia kēia koho i -file.

ʻO ke koho, ua heluheluʻia ka pūnae kauoha i loko o ka memana a hoʻopauʻia i kona holoʻokoʻa. I kekahi manawa, makemakeʻia e heluhelu i nā leka hoʻokahi laina i ka manawa. I mea e hoʻoikaika ai i nā pūnaewele hoʻopaʻaʻole e lawelaweʻia i kēia ala, e hoʻohana i ka hae. I ka hoʻohanaʻana iā Expectk, ua kohoʻia kēia koho e like me "-ffer.

Inā hōʻoleʻia ka string "-" i inoa inoa, ua heluheluʻia ka helu kūpono ma kahi. E hoʻohana i "./-" e heluhelu i kahi faila i kapaʻiaʻo "-".

ʻO ka hae e hoʻohālua ana e loli maʻamau i nā kauoha ma mua o ka heluheluʻana iā lākou mai kahi pūnaewele. Hoʻopauʻia ka hoʻolālāʻana ma o ka kauoha o waho a ma luna o EOF. Hoʻopiliʻia ka hae-iʻole ināʻaʻole i hoʻohanaʻia kekahi faila a-e. I ka hoʻohanaʻana iā Expectk, ua hoʻohālikelikeʻia kēia koho.

- hiki ke hoʻohanaʻia e hoʻopau i ka hopena o nā koho. He mea maikaʻi kēia inā makemakeʻoe e hele i kahi pane like-like i kāu hōʻeuʻeu me ka unuhiʻoleʻia e Expect. Hiki ke hoʻohana pono i kēia ma ka #! laina e pale aku ai i kekahi hōʻailona hae i ka manaʻo. Eia kekahi laʻana, e waiho i kēia i nā kumuhana kumu mua me ka inoa inoa i loko o ka vg variable.

#! / usr / ka 'āpana / bin / hope -

E hoʻomaopopo i ka mālama maʻamau (3) a hoʻokō i nā kaʻina (2) i ka manawa e hoʻohui i nā manaʻo i ka #! laina.

ʻO ka pūnaewele $ exp_library / expect.rc he meaʻoluʻolu loa inā loaʻa, keʻole ka hoʻohanaʻia o ka hae -N. (I ka hoʻohanaʻana iā Expectk, ua kohoʻia kēia koho e like me -NORC.) Ma hope koke iho o kēia,ʻo ka file ~ / .expect.rc ke kaniʻoluʻolu loa, keʻole ka hoʻohanaʻana i ka hae. Inā ua weheweheʻia ke kikowaena DOTDIR, ua mālamaʻia e like me ka papa kuhikuhi a .expect.rc e heluheluʻia mai laila mai. I ka hoʻohanaʻana iā Expectk, ua kohoʻia kēia koho e like me -norc. Hanaʻia kēia kaniuho wale nō ma hope o ka hoʻokōʻana i nā lepa -c.

-v hoʻolālā e kali i ka paʻiʻana i ka helu a me ka puka. ʻO ka hae i Expectk, ka mea nāna e hoʻohana i nā inoa hae lōʻihi,ʻo ia ka -version.

Hoʻonohonohoʻia nā koho i kohoʻia i loko o ka papa inoa a mālamaʻia i loko o ka māloli i kapaʻiaʻo argv a. Hoʻokomoʻia ka argc i ka lōʻihi o ke kau.

ʻO Argv0 ua ho'ākākaʻiaʻo ia ka inoa o ka hōʻailona a iʻole ka binary ināʻaʻole hoʻohanaʻia ka hōʻailona. Eia kekahi laʻana,ʻo nā huapalapala e pili nei i ka inoa o ka hōʻailona a me nā paneʻekolu:

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

Nā kauoha

Manaʻo e hoʻohana i ka'ōlelo kauoha. Hoʻokumuʻo Tcl i ke kahe (inā, no, ka haʻi), ka loiloiʻike a me nāʻano likeʻole e like me ka ho'ākāka hou a me ka ho'ākāka papa. Nā kauoha i hoʻohanaʻia maʻaneʻi akāʻaʻole i haʻiʻia (hoʻonohoʻia, inā, exec) nā kauoha Tcl. Manaʻo ka mea e kākoʻo ana i nā kauoha'ē aʻe. Ināʻole i hoʻokaʻawaleʻokoʻaʻia, nā kauoha e hoʻihoʻi i ka string lapuwale.

Hoʻonohonohoʻia nā kauoha ma kaʻaoʻao āpau e hiki ai ke hoʻonohonoho kokeʻia. Eia naʻe, hiki i nā mea hoʻohana hou ke maʻalahi ka hoʻomakaʻana ma ka heluheluʻana i nāʻike o spawn, hoʻouna, manaʻo, a me ka pilina, ma ia hoʻonohonoho.

kokoke [-slave] [-onexec 0 | 1] [-i spawn_id]

hoʻopau i ka pilina i ke kaʻina hana o kēia manawa. Hiki i nā polokalamu pāʻoihana keʻike iā EOF ma ko lākou stdin a puka aku; no laila ua kūpono loa ka lukuʻana i ka hana . Hōʻike ka hae i ke kaʻina hana e pani pili i ka spawn_id inoa.

ʻO ka manaolana a me ka launa pūʻana eʻike i ka wā e puka mai ai ka'ōnaehana o kēia manawa a pili kokoke, akā inā e pepehiʻoe i ke kaʻina hana , e'ōleloʻoe, "pepehi pepehi $ pid", ponoʻoe e kāhea kelepona .

Hoʻoholo ka hae -onexec i ka paniʻana o ka spawn id ma kekahi mau hanana hou i hoʻopauʻia aiʻole inā e hoʻopihaʻia ke kaʻina hana . No ka haʻaleleʻana i kahi id idunipuni, e hoʻohana i ka waiwai 0. Nā mea nui o ka helu kuʻunaʻole o ka pono i hoʻopaʻaʻia ka pale i loko o nā hana hou.

Hoʻopili ka hae hoʻokuʻu i ke kauā e pili ana i ka idana spawn. Ke hoʻopauʻia ka pilina, paniʻia ke kauā me ka wā e hoʻomaka ana.

Ma muli o ka paʻa a meʻole ma ke kikowaina o ka pilina, ponoʻoe e kāhea i kahi kali e hoʻomaʻemaʻe i ka pūnaewele kaʻina hana . ʻAʻole i kali ka kauoha hope e kakali no ka meaʻaʻoleʻaʻohe mea e hōʻoia ka hoʻopauʻiaʻana o kahi kaʻina hana i mea e puka.

debug [[now] 0 | 1]

ke hoʻomalu nei i kahi kāpena Tcl eʻae ai iāʻoe e hele i nā'ōlelo a hoʻonohonoho i nā paepae.

Me kaʻaʻohe manaʻo kū'ē, ua hoʻihoʻiʻia 1 i ka wā e holoʻole ana ka mea hoʻoweliweli, aʻaʻole hoʻi i hoʻihoʻiʻia he 0.

Me ka helu 1, hoʻomakaʻia ka mea hoʻopau. Me ka'auamu 0, hoʻopauʻia ka debugger. Inā ua mua mua ka manaʻo kū'ē i mua o ka hae, ua hoʻomaka kokeʻia ka debugger. Ināʻole, ua hoʻomaka ka hoʻolālā me ka'ōlelo Tcl hou.

ʻAʻole e hoʻololi ke kauoha debug i nāʻili. E hoʻohālikelike i kēia no ka hoʻomakaʻana E nānā me ka -D pahu.

Hoʻokaʻawale ka papaʻokoʻa i kahi hana i kāohiʻia mai ka pahu . Hoʻomauʻia ka holoʻana ma hope. Hāʻawiʻia ka papahana i kona hui pono'ī. Hoʻonohonohoʻiaʻo I /ʻO I /ʻO i ke / dev / null .

ʻO ka māhele ma lalo nei e hoʻohana ana i ka weheʻana i ka hoʻomauʻana i ke kākauʻana i kaʻaoʻao.

inā haʻalele 'o [fork]! = 0} haʻalele. . .

Ke heluhelu nei kēia mau hua'ōlelo i ka hua'ōlelo a hoʻomaka i kahi papahana i kēlā me kēia hora e koi ana i ka hua'ōlelo i kēlā me kēia manawa e holo ana. Hāʻawi ka hōʻailona i ka hua'ōlelo i mea wale nō e kākau i hoʻokahi.

send_user "password? \" expect_user -re "(. *) \ n" no {} 1 {} {if {{fork]! = 0} {moe 3600; hoʻomau} e hoʻokuʻu i ka spawn priv_prog manaʻo manaʻo: hoʻouna "$ expect_out ( 1, string) \ r ". . . puka waho}

ʻO kahi mea hoʻohana no ka hoʻohanaʻana i kaʻokiʻana ma luna o ka'ōnaehana asynchronous (&) pūnaewele,ʻo ia hoʻiʻo Expect e hiki ke hoʻopakele i nā māmala'ōlelo mua ma mua o ka haʻaleleʻana a laila e hoʻopili hou ia mau mea i nā pty hou. Me & &, 'Aʻole i loaʻa ka manawa e heluhelu ai i ka palena o ke kikowaena mai ka wā i hala mua loa ka pahu i ka manawa e mālamaʻia ai ka mana o Expect.

puka i waho [-opts] [kūlana]

ke kumu e hele aku aiʻole e hoʻomākaukau paha pēlā.

Hoʻomaopopoʻia ka hae hou e hoʻohana i ka hoʻonā hope e lilo ai i ka mane puka. Me kaʻole o ka paio, ua hoʻihoʻiʻia ka lima puka puka.

ʻO ka hoʻonuiʻia o ka hae e makemakeʻia e hoʻomākaukau e puka i waho akā e hoʻopau i ka hoʻihoʻiʻana i ka mana i ka pūnaehana hana. Hoʻomoeʻia ka mea hoʻopuka puka i hoʻohālikelikeʻia e ka mea hoʻohana aʻo Expect i kona mau kikowaena i loko. ʻAʻohe mea'ē aʻe e makemakeʻia nā kauoha e hoʻokōʻia. He mea maikaʻi kēia ināʻoe e holo ana E nānā me nā hoʻolālā'ē aʻe o Tcl. ʻO ka mea unuhi'ōlelo hou (a me ka puka makani inā i kahi o ka Tk) e noho a hiki i kahi hoʻolālā'ē aʻe ke hoʻomaʻemaʻe. Inā e kāhea houʻia ana ka puka o Expect (inā paha e hiki paha kēia,)ʻaʻole e loli nā mea hoʻohana.

Ma ka heleʻana, ua paniʻia nā pilina a pau i nā papa hana. Eʻikeʻia ka hoʻopiliʻana e like me ka EOF ma keʻano o ka hanaʻana i nā kānana. puka i waho e hana i nā hana'ē aʻe ma mua aʻe o ka hana maʻamau maʻamau (2). No laila, ua hoʻomauʻia ka hanaʻana i nā kaʻina hanaʻole i mālama no EOF. (Pono nāʻano likeʻole e hoʻoholo ai, no ka laʻana, pehea nā hōʻailona e hoʻounaʻia ai ka'ōnaehana i hoʻomanaʻoʻia, akāʻo kēia keʻano o ka pūnaewele,ʻo ia ka mea i kākauʻia ma lalo o ka puka (3).)ʻO nā hana hoʻomalu i hoʻomauʻia e ili i ka init.

ke kūlana (a iʻole 0 ināʻaʻole i hōʻikeʻia) ua hoʻihoʻiʻia e like me ka puka waho o Expect . e hoʻokomo paʻaʻia ka puka i ka pauʻana o ka hōʻoia.

exp_continue [-continue_timer]
ʻO ka exp_continue kauoha e hiki ia ke hoʻomau iā ia e hoʻomau i ka hana ma mua o ka hoʻiʻana e like me ka mea maʻamau. ʻO ka exp_continue kūpono e hoʻopili i ka manawa timeout. Hoʻopuka ka hae -continue_timer i ka manawa mai ka hoʻomaka houʻana. (E nānā i ka manaʻo no kaʻike hou aku.)

ʻae'āina [-f file]
ke kumu hou aku i nā kauoha e hoʻouna i nāʻike diagnostic i loko o ka mea e manaʻo ai i stderr ināʻaʻohe zero ka waiwai. Kuhiʻia kēia huahana inā loaʻa ka heluna 0.ʻO kaʻike diagnostic nā mea i loaʻa, a me nā ho'āʻoʻana e hoʻohālike i ka hopena o kēia manawa e pili ana i nā mamana.

Inā hāʻawiʻia ka faila koho, hoʻopukaʻia nā huahana kūpono a me nā hoʻopauʻana i kēlā faila (me ka nānāʻole i ka waiwai o ka waiwai ). Ke paniʻia nei kekahi pūnaewele wehewehe mua.

Hōʻike ka hae--info i ka exp_internal e hoʻihoʻi i ka ho'ākākaʻana o nā manaʻo kumuhanaʻole i loaʻa.

exp_open [args] [-i spawn_id]
hoʻi i kahi hōʻike kuhikuhi Tcl e pili ana i ka spawn id. Hiki ke hoʻohanaʻia ka hō'ālua o ka waihona me he mea lā i weheʻia e ka papa wehe o kā Tcl. (ʻAʻole e hoʻohana houʻia ka spawn id.ʻAʻole e hoʻokōʻia kahi kali .

Hoʻokuʻu ka hae -leaveen i ka spa open id no ke komoʻana ma nā mea noi. Pono e kali i kahi kali ma kahi o ka spawn id.

exp_pid [-i spawn_id]
hoʻi i ka mana hana e pili ana i ke kaʻina manawa i hoʻopauʻia. Inā hoʻohanaʻia ka hae, ua hoʻihoʻiʻia ka pid i kahi o ka spawn id i hāʻawiʻia.

e hoʻokuʻi
ʻO ia ka inoa e hoʻounaʻia .

exp_send_error
He leka uila no send_error .

exp_send_log
He alalia no send_log .

exp_send_tty
He alalia no send_tty .

exp_send_user
He alalia no send_user .

exp_version [[-exit] version]
he mea kūpono ia e hōʻoiaʻiʻo ai i ka laulāʻana o ka hōʻailona me ka mana o ka mana o kēia manawa.

Me ka manaʻoʻole, ua hoʻihoʻiʻia ka mana o Expect i kēia manawa. Hiki ke hoʻololi i kēia kikokikona i kāu palapala. Inā maopopoʻoeʻaʻoleʻoe e hoʻohana ana i nā hiʻohiʻona o nā unuhi hou, hiki iāʻoe ke hōʻike i kahi hua mua.

ʻO nā hua'ōlelo heʻekolu mau helu i hoʻokaʻawaleʻia e nā kiko. ʻO ka mua ka helu nui. ʻO nā papa inoa i kākauʻia no nāʻano o Ka mea e manaʻoʻia me kekahi helu nui'ē aʻe,ʻaʻole loa ia e hana. e hoʻihoʻi ka exp_version i ka hewa ināʻaʻole like nā helu nui.

ʻO ka lua ke helu helu helu. Hōʻoia nā papapili palapala no kahi hōʻailona me kahi heluʻoi aku iʻoi aʻe ma mua o ka mana o kēia manawa ma kahiʻano hou aʻaʻole paha e holo. e hoʻihoʻi ka exp_version i ka hewa inā pili nā helu nui, akā uaʻoi aku ka nui o ka helu kuhi kikokikona ma mua o ka mea e holo ana.

ʻO ke kolu he helu ia e pāʻaniʻole ana i ka hoʻohālikelike pūnaewele. Eia naʻe, ua hoʻonuiʻia keʻano o ka hoʻololiʻana o ka lako polokalamu o Expect ma kekahiʻano, e like me nā palapala hou a iʻole kaʻikepili. Hoʻonohonohoʻia i 0 ma kēlā me kēia puka liʻiliʻi hou.

Me ka hōʻailona o ka hae, makemakeʻoe e paʻi i kahi kuhi a me nā puka i ka pauʻole o ka lā.

Kakali [[-opts] pat1 body1] ... [-opts] patn [bodyn]
ke kali nei a hiki i ka manawa o kekahi o nā mamana e pili ana i ka puka o kahi papahana i hoʻopauʻia, ua hala kekahi manawa i hoʻopaʻaʻia, a uaʻikeʻia kahi pau o ka pūnaewele. Inā hemo ka'ō hope, hiki ke holoi.

ʻO nā hiʻohiʻona mai ka mea i manaʻo muaʻia ma mua o ka kauoha ke hoʻohanaʻia ma mua o kekahi mau hiʻohiʻona'ē aʻe. Ke hoʻohana ponoʻia nā hiʻohiʻona mai ka papa hope loa hope_after ma hope o kekahi mauʻano'ē aʻe.

Inā hōʻaia nā manaʻo hoʻoholo i ka manaʻo āpau aʻoi aku ma mua o hoʻokahi laina, hiki i nā manaʻo a pau ke "paʻi" i hoʻokahi i mea e pale ai i ka hoʻopauʻana i kēlā me kēia laina me ka'ōkuhi. Ma kēia hihia hoʻokahi, hiki i nā kūpaʻa Tcl mau i ka manawa me keʻano o nā pale.

Inā he kumu keʻano o ka hua'ōlelo, e hoʻokomoʻia ke kino like i ka hopena o ka pūnaewele. Inā he'ōkuhi ka manawa hua'ōlelo o ka hua'ōlelo, ua hoʻokōʻia ke kino like i ka manawa lōʻihi. Inā hoʻohanaʻoleʻia ka'ōlelo hua'ōlelo timeout, ua hanaʻia kahi hana hoʻopiʻiʻole i ka manawa time. ʻO ka manawa o ka manawa paʻamau i 10 mau sekona akā hiki ke hoʻonohoʻia, e like me ka 30, ma ke kauoha "hoʻonohoʻia manawa 30". Hiki ke kohoʻia kahi palena keu palenaʻole e ka nui -1. Inā he kumuhana ka laulā hua'ōlelo, ua hoʻokōʻia ke kino like i kēlā me kēia manawa manawa a iʻole hope paha o ka pūnaewele.

Inā pili kekahi'ōpili, a laila ua hoʻokōʻia ka pūnaewele like. Manaʻo ka manaʻo e hoʻi i ka hualoaʻa o ke kino (aiʻole ka string string ināʻole kekahiʻano kūlike). Inā loaʻa keʻano o nā hoʻohālikelike lōʻihi, e hoʻohanaʻia ka mea iʻike muaʻia e koho i ke kino.

I kēlā me kēia manawa puka mai ka puka hou, ua hoʻohālikelikeʻia me kēlā me kēia mamua i loko o ka papa inoa i heluʻia. No laila, hiki iāʻoe ke hōʻoia no ka nele o kahi pāʻani ma ka hanaʻana i kekahi mea hope loa i mea eʻikeʻia ai, e like me ka wikiwiki. Ma nā kūlana kahi iʻole he wikiwiki, ponoʻoe e hoʻohana i ka manawa hoʻopuka (e like me kou makemake ināʻoe e launa pū me ka lima).

Hōʻikeʻia nā hiʻohiʻona iʻekolu mau ala. ʻO ke koho, ua hoʻohālikelikeʻia nā'ōnaehana e like me ke kauoha a Tcl i ke kaulike . (ʻO keʻano o nāʻano likeʻole me ka C-shell i nā manawa maʻamau i kapaʻiaʻo "nā ao"). Hiki paha ke hoʻohanaʻia ka hae -gl no ka paleʻana i nā hiʻohiʻona i hiki ke hoʻohālikelike i nā hae i ka hanaʻana pēlā. Pono ke palekana i kēiaʻano likeʻole me kekahi "-". (ʻO nā laina a pau e hoʻomaka me "-" ua mālamaʻia no nā koho e hiki mai.)

Eia kekahi laʻana, eʻimi ana ka'āpana o kēia mau mea no ka hōʻoia pono. (E hoʻomaopopo i ka hopena i manaʻoʻia he mahele i ho'ākākaʻia ma kahi o ka hōʻaka.)

e manaʻoʻia [e hoʻohana nei i kahi hoʻonohonoho paʻa \ n; 'aʻole i hala ka' exp_continue 'i ka' hua'ōlelo 'ino' ole '' abort timeout 'āiho pili'

Pono pono nā hua'ōlelo ma ka hāhā o ka manawa mai ka wā i loaʻa kahi wahi, iʻole e hoʻokaʻawale i ke kumuhana mai ka hana. ʻO nā hiʻohiʻona me ka hana hoʻokahi (e like me ka 3 a me ka 4) e pono ai e hōʻike hou i nā hana. Hiki ke hōʻalo i kēia ma o ka hoʻohanaʻana i nā mamana style style (e nānā i lalo). Hiki keʻikeʻia nāʻike hou aku e pili ana i ka hanaʻana i nā'ōnaeho'ōnaewele i ka papahana Tcl.

Hoʻolālā i nā'ōnaehana hōʻailona-e like me ka hōʻailona i ho'ākākaʻia e Tcl's regexp ( ʻokoʻa no ke "'ōlelo maʻamau"). Hoʻokuʻuʻia nā kiʻi regexp me ka hae -ra . Hiki ke hana hou i ka hiʻohiʻona mua me ka hoʻohanaʻana i ka regexp penei:

e manaʻoʻia [e hoʻohana nei i kahi hoʻonohonoho paʻa \ n; exp_continue} -re "ua pau ka'ōleloʻoluʻoluʻole" abort timeout abort connected}

ʻO nāʻano likeʻole he "unanchored". Penei keʻano o ka hoʻohālikelikeʻana o nā'ōnaehana i ka laina a pau, akā hiki ke hoʻokumu a hoʻopau i ka pāʻani ma kahi o ka string (e like me ka lōʻihi o nā mea'ē aʻe). E hoʻohana iā 'e hoʻohālike i ka hoʻomakaʻana o kahi string, a $ a pili i ka hopena. Eʻikeʻoe ināʻaʻoleʻoe e kali no ka hopena o ke kaula, hiki i kāu mau pane ke hoʻopau i ka hopena ma waena o ke aho e like me ka hoʻopiʻiʻiaʻana mai ke kaʻina hana. I ka hanaʻana i nā hualoaʻa pololei, hiki i ka huahana ke nānā i nā mea'ē aʻe. No laila, hoʻohanaʻia ka hoʻohanaʻana i $ a inā hiki iāʻoe ke wehewehe i nā hua'ōlelo ma ka hope o ke kaula.

Eʻike i ka nui o nā mea hoʻoponopono,ʻo ka 'a me $ ka hoʻomaka a me ka hope o nā laina. Eia naʻe, no ka meaʻaʻole i kūʻia ka laina, e pili ana kēia mau hua'ōlelo i ka hoʻomaka a me ka hopena o nāʻike (me ka kū'ē i nā laina) i kēia manawa i kahi paʻi manaʻo e like ana. (Eia kekahi, e nānā i ka leka ma lalo nei ma "ka'ōpū o ka pūnaewele.")

ʻO kaʻae -ex ka hoʻohālikelike i keʻano e like me ke "kiko". ʻAʻole i hanaʻia kekahi manaʻo o ka ",", a me nā mea'ē aʻe (ʻoiai e mālama mauʻia nā kaʻina o ka'ōlelo Tcl). ʻAʻohe manawa kūpono nā'ōnaehana kūpono.

ʻO ka hae hoʻokūkū-kumu ka mea nui o nā huahana e hoʻohālikelikeʻia inā he haʻahaʻa haʻahaʻa. ʻAʻohe pilikia i ke kumu.

ʻOiai ka heluheluʻana i nā huahana,ʻoi aku i ka 2000 mau kile e hiki ai ke hoʻoikaika i nā toʻa mua e "hoʻopoina". Hiki ke hoʻololi paha kēia i ka hana match_max . (E hoʻomanaʻo he nui nā mea nui e hiki ke hoʻohaʻahaʻa i ka mea hoʻohālike.) Inā ua piha ka papa inoa , ua hoʻokomoʻia ka pūnaehana like inā ua loaʻa nā octets match_max aʻaʻohe mea'ē aʻe i like. Inā hoʻohanaʻia ka hua'ōlelo full_buffer a iʻoleʻaʻoleʻaʻole paha, ua kākauʻia nā mea i hoʻopoinaʻia e kali ai (paʻi).

Inā ka inoa o ka papa inoaʻo ka inoa null, aʻaeʻia nā null (ma o ka command remove_nulls ), ua hoʻokōʻia ka kino like inā hoʻokomoʻia kekahi ASCII 0. ʻAʻole hiki ke hoʻohālikelike i nā 0 bytes ma nā'ōuli a'ōwili paha.

Ma ke kūlike i kahi kumu (a iʻole ka pahu piha a piha paha), ua mālamaʻia kekahi pilina a me nā huahana i kūʻoleʻia i ka mea o ka variable variable expecting (pahū) . Hiki i 9 mau kikowaena regexp i ke ola i loko o nā kānalua expect_out (1, string) ma waena o ka hope_out (9, string) . Inā hoʻohanaʻia ka hae hae ma mua o kahi kumu,ʻo nā hua hoʻomaka a me nā hoʻopauʻana (ma kahiʻano kūpono no ka lrange ) o nā aho 10 i mālamaʻia i loko o nā māmā e nānā ana (X, hoʻomaka) a me ka manaʻo_ (X, hopena) i kahi o X ke helu, pili i ka mea pani o ka pahū. 0 pili i nā aho e pili ana i ke kumu holoʻokoʻa a hanaʻia no nā'ōnaehana honua a me nā hiʻohiʻona regexp. Eia kekahi laʻana, inā ua huahua ka hopena o ka "abcdefgh \ n", ka hopena o:

makemake "cd"

me he mea lā ua hoʻokōʻia nā'ōlelo i'ōleloʻia nei:

hoʻolālā e manaʻo'ia_out (0, string) cd hoʻonohonoho hope_out (pahū) abcd

a ua waiho 'ia i ka "efgh \ n" ma ka pahu paakiki. Inā ua hana ka hopena i ka huahana "abbbcabkkkka \ n", ka hopena o:

nā mea nānā manaʻo -e "b (b +). * (k +)"

me he mea lā ua hoʻokōʻia nā'ōlelo i'ōleloʻia nei:

i hoʻonohonoho'ia_kona (0, hoʻomaka) 1 hoʻonohonoho hope_out (0, string) bbbcabkkkk set expect_out (1, hoʻomaka) 2 hoʻonohonoho hope_out (1, hopena) 3 hoʻonohonoho hope_out (1, string) bb hoʻonohonoho manaʻo_out (2, hoʻomaka) 10 hoʻonohonoho hope_out (2, hopena) 10 hoʻonohonoho hoʻonohonoho manaʻo_kona (2, string) k hoʻonohonoho hope_out (pahū) abbbcabkkkk

a "a \ n" i waihoʻia ma ka pahu paakiki. E hoʻokuʻuʻia ka pahū puka ma ka papahana "*" (a me -re ". *") Ma ka heluheluʻoleʻana i nā huahana'ē aʻe mai ke kaʻina hana.

Iā maʻamau, ua hoʻokuʻuʻia ka puka kūlike mai nā mea hoʻopuka i loko o Expect. Hiki ke kāohiʻia kēia ma ke kauʻana i kahi kumu me ka hae hāmeʻa-ʻole . He pono loa kēia hae i ka hoʻokolohua (a hiki ke hoʻopauʻia i "-not" no ka maʻalahi i ka hoʻokolohuaʻana).

Hāʻawiʻia kaʻona spawn e pili ana i ka pukapili kūpono (aiʻole iʻole aiʻole full_buffer) ma ka expect_out (spawn_id) .

Hoʻolālā ka hae hua'ōlelo i ke kauoha i kēia manawa e hoʻohana i ka waiwai i kēia manawa ma keʻano he timeout ma kahi o ka hoʻohanaʻana i ka waiwai o ka helu timeout.

ʻO ke kumuhana, ua like nāʻano me nā huahana mai ka papahana o kēia manawa, akā naʻe, ke hōʻike nei ka hae i ka huahana mai ka inoa inoa spawn_id e pili ana i nā kumuhana'ē aʻe (a hiki i ka mea e hiki mai ana). ʻO ka papa inoa spawn_id he mahele āpau o ka spawn_ids a iʻole kahi ukali e nānā ana i ka papa inoa o spawn_ids.

Eia kekahi laʻana, ke kali nei kēia mau hiʻohiʻona no ka "hono" mai ka papahana o kēia manawa, a "ʻoihana", "iʻole" aiʻole "hua'ōlelo lewa" mai ka spawn_id i kapaʻia e $ proc2.

ʻikeʻia ka manaʻoʻana o $ -2 $ proc2 i kahi hana. exp_continue} -re "ua pau ka'ōleloʻoluʻoluʻole" abort timeout abort connected}

Hiki ke hoʻohanaʻia ka waiwai o ka variable honua āpau a_spawn_id i nā kumu likeʻole i nā spawn_ids i inoaʻia me nā mea'ē aʻe - i nā hae i ka manaolana e kū nei . ʻO ka spawn_id mai kahi hae - hae me keʻanoʻole o keʻano (ie, a ua hahai kokeʻia e kekahi -i ) i loaʻa i nāʻano'ē aʻe i loko o ke kauoha e like me kahi a_spawn_id.

Hiki i ka hae ke hoʻohālikelike i ke kumukūʻai o ka honua āpau kahi i heluheluʻia ai ka mea helu no kahi papa inoa o nā spawn ids. Hiki ke heluhelu houʻia ka loli i ka manawa e hoʻololi ai. Hoʻolakoʻia kēia i kahi ala e hoʻololi i ka punaewele I /ʻO a ke kauʻia ka kauoha. ʻO nā Spawn ids i kapaʻia i kēia ala, kapaʻiaʻo "indirect" spawn ids.

ʻO nā hana e like me ka wāwahi a hoʻomau i ke kumu e hoʻonāuki i nā'ulula (ʻo ia, no , proc ) i keʻano maʻamau. ʻO ka exp_continue kauoha e hiki ia ke hoʻomau iā ia e hoʻomau i ka hana ma mua o ka hoʻiʻana e like me ka mea maʻamau.

He mea maikaʻi kēia no ka paleʻana i nā puka'ōwili a iʻole nā ​​manaʻo e manaʻo houʻia ana. ʻO keʻano ma lalo nei he māhele ia o kahi'āpana i ka automate rlogin. Hoʻohala ka exp_continue i ka kākauʻana i kahi manaʻolana manaʻoʻelua (e nānā no ka hōʻano hou) inā e kāleka ka rlogin no kahi hua'ōlelo.

ʻaneʻi {Password: {stty -echo send_user 'hua'ōlelo (no $ hoʻohana) ma $ host: "expect_user -re" (. *) \ n "send_user" \ n "hoʻouna aku i" $ expect_out (1, string) \ r "stty hōʻeuʻeu i ka hōʻoia 'send_user' hōʻailona hōʻoia a iʻole ka helu \ n "puka waho} timeout {send_user 'pili i ka $ host i hoʻopukaʻia ma \ n" puka o} send_user \ "pūnaewele i ka hāʻuleʻana o ka polokalamu: $ expect_out (buffer)" puka waho - hōʻaia koke)

Eia kekahi laʻana, hiki i ka'āpana o kēia mau mea ke kōkua i kahi mea hoʻohana i ka pilina o ka pilina e paʻa pono. I kēia hihia, hoʻokomoʻia ka pahu i keʻano kumu. Inā hoʻokomo ka mea hoʻohana i "+", hoʻonuiʻia ka mea koho. Inā paʻiʻia ka "p," hoʻounaʻia nāʻano he nui i ke kaʻina hana, malia paha e hoʻohaumiaʻia ia ma kekahiʻano, aʻo "i" ka mea e hoʻohana ai ka mea hoʻohana me ka papa hana, eʻimi pono i ka mana mai ka papa inoa. Ma kēlā me kēia hihia, hiki i ka exp_continue ka manaʻo e hoʻomau i keʻano o ka pilina ma hope o ka hoʻokōʻana i ka hana o kēia manawa.

'ānō hope -echo hope_after [-i $ user_spawn_id "p" {hoʻouna "\ r \ r \ r"; exp_continue} "+" [incr foo; exp_continue} "i" e pili; exp_continue} "haʻalele" puka.

ʻO ke kumu kuhi, exp_continue e hoʻopili i ka manawa timeout. ʻAʻole i hoʻomaka houʻia ka manawa, inā i kapaʻia ka exp_continue me ka hae -continue_timer .

hope_after [hope_args]
ʻike i nā hana e like me ka mea e manaʻoʻia ana ma mua a koe naʻe inā hiki ke hoʻohālikelike nā hiʻohiʻona mai ka manaʻo a me ka hope a hope, hiki ke hoʻohanaʻia keʻano o ka manaʻo . E nānā i ka mea i manaʻoʻia no kaʻike hou aku.

kakali hope [expect_args]
Lawe ia i nā manaʻo like e like me ka manaʻo , akā naʻe e hoʻi koke mai. Hōʻoia nā hiʻohiʻona i ka wā e hōʻea mai ai nā komo hou. ʻO ke kumu o ka manawa a me ka paʻamau , he meaʻole ia i ka manaʻo e hoʻihoʻiʻia a ua hoʻokuʻu waleʻia. Ināʻole, e hoʻohana ana ke kauoha hope_background i ka manaʻo a me nā hiʻohiʻona hope e like me ka manaʻo .

Ke loiloiʻia nā hana e manaʻoʻia ana e nā mea i manaʻoʻia , ua kāohiʻia ka hana hoʻopuka no ka hoʻokahi spawn id. ʻAʻohe weheʻia ka hanaʻana no kaʻikeʻana i ka pauʻana o ka hana. ʻOiai ua paniʻia ka papahana hoʻopiliʻana, hiki iāʻoe ke hana i kahi (foreground) e kakali ma ka hoʻokahi spawn id.

ʻAʻole hiki ke hoʻokōʻia kahi manaolana i ka wā e weheʻia ana ka mea e manaʻoʻia ana. Manaʻo ka manaʻo no kahi spawn id i ka hoʻopukaʻana i kahi manaʻo hou e like me ka spawn id. Hōʻike i hope_background me kahi kumuʻole e wehe i ka idana spawn i hāʻawiʻia mai ka mea hiki ke hoʻohālikelike i nā'ōnaehana ma ke kua.

kakali [hope_args]
Lawe ia i nā manaʻo like e like me ka manaʻo , akā naʻe e hoʻi koke mai. Hoʻohui ponoʻia nā papahana hana likeʻole mai ka mea i manaʻo muaʻia ma mua me keʻano spawn id likeʻole i kekahi mau kauoha i hope. Inā pili kekahi ala, e mālamaʻia e like me ka mea i ho'ākākaʻia i loko o ka kauoha hoʻonā pono'ī, a ua hoʻokomoʻia kaʻaoʻao i loko o ka poʻomanaʻo o ka leka uila . Inā hoʻohālikelike nā hiʻohiʻona mai nā manaʻoʻelua a me nā mea e hiki ai ke hoʻohālikelike, e hoʻohanaʻia ka manaʻo o ka hopena.

Ināʻaʻohe hiʻohiʻona i'ōleloʻia,ʻaʻole i nānāʻia ka idana spawn no nāʻano.

Ināʻaʻole e hoʻopiliʻia e ka hae, e manaʻoʻia nā mea likeʻole e pili ana i ka wehewehe id i ho'ākākaʻia i ka manawa i hoʻokōʻia ka mea i manaʻoʻia ma hope o ka hoʻokumuʻia (ʻaʻole i ka wā i hoʻopiliʻia kona kumuhana).

Hōʻike ka hae helu -info i ka manaʻo ma mua o ka hoʻihoʻiʻana i nā kiko'ī o kēia manawa o nāʻano likeʻole e pili ana. ʻO ka lālāʻole, hōʻikeʻo ia i ka idena spawn o kēia manawa. Hiki ke hāʻawiʻia kahi koho kikowaena spawn id koho no kaʻike e pili ana i kēlā idana spawn. ʻo kahi laʻana

hope_before -info -i $ proc

Ma kahi o hoʻokahi kūlana id idana i hāʻawiʻia. Hiki i ka hae-palewehe ke hoʻopau i nā ids direct spawns e hele mai ana mai kahi kiko'ī.

Ma kahi o ka hoʻohālikelikeʻana i nāʻikepili, ka hae "-all" e hoʻokō "-info" e hōʻike i nā ids spawn.

Hiki ke hoʻohana houʻia ka hae hua puka o -info e like me ke kūlana e manaʻo ai ma mua.

kakali [expect_args]
E like me ka manaʻo akā e heluheluʻia ka mea heluhelu mai / dev / tty (ie keystrokes mai ka mea hoʻohana). ʻO ke koho, ua hanaʻia ka heluheluʻana i keʻano i kaʻina. No laila, e hoʻopau nā laina me ka hoʻihoʻiʻana i mea e hiki ai keʻike iā lākou. Hiki ke hoʻololi paha kēia ma stty (e nānā i ke kauoha pale ma lalo).

manaʻo_user [expect_args]
E like me ka manaʻo akā e heluheluʻia nā mea mai ka stdin (ie keystrokes mai ka mea hoʻohana). ʻO ke koho, ua hanaʻia ka heluheluʻana i keʻano i kaʻina. No laila, e hoʻopau nā laina me ka hoʻihoʻiʻana i mea e hiki ai keʻike iā lākou. Hiki ke hoʻololi paha kēia ma stty (e nānā i ke kauoha pale ma lalo).

haʻu
hana i kahi hana hou. ʻO ke kope hou he kope pololei ia o ka mana hana o kēia manawa. Ma ka holomua, no ka hoʻihoʻi 0 ka mea hou (keiki) a hoʻihoʻi i ka hōʻike o ka hana o ke keiki i ka papa hana . Ma ka hemahema (no ka nele i nā kumuwaiwai, e like me ka hoʻoukaʻana o ka lumi, ka hoʻomanaʻo), hoʻihoʻi hoʻi 1 i ka papa hana makua,ʻaʻohe hana keiki.

ʻO nā puka komo i haʻaleleʻia me ke kauoha o ka puka waho , e like me kahi hana mua. Uaʻaeʻia nā papa hana i hanaʻia e kākau i nā waihona log. Ināʻaʻoleʻoe e hoʻopau i ka debugging a iʻole e komo i loko o ka hapa nui o nā kaʻina hana, hiki i ka hopena ke pilikia.

Hiki paha i kekahi poʻe heluhelu a me nā mea kākau moʻolelo ke kānalua i kekahi mau hana pty, i kahi manawa. No laila,ʻoi aku ka maikaʻi o ka pāʻani ma mua o ka hoʻolālāʻana.

hulina [string1 body1] ... [stringn [bodyn]]
hāʻawi i ka mana o ke kaʻina hana i kēia manawa i ka mea hoʻohana, no ka hoʻounaʻiaʻana o nā keystrokes i ke kaʻina hana o kēia manawa, a ua hoʻihoʻiʻia ka paʻi a me ka stderr o ka hana i kēia manawa.

Hiki ke hoʻohālikelikeʻia nā hui hui pū me keʻano he mau manaʻo, kahi i hoʻokōʻia ai ke kino i ka manawa i komoʻia ai ke kaula. (ʻO ke kumuʻole,ʻaʻole i hoʻounaʻia ka kaula i ke kaʻina hana i kēia manawa.) Ke manaʻoʻia nei ke kauoha unuhi'ōlelo , inā e hala ke kino hope.

Ināʻae aku nā'onike i ka hua'ōlelo a pau iʻoi aku ma mua o hoʻokahi laina, hiki i nā manaʻo a pau ke "paʻi" i hoʻokahi i mea e pale ai i ka hoʻopauʻana i kēlā me kēia laina me ka'ōkuhi. Ma kēia hihia hoʻokahi, hiki i nā kūpaʻa Tcl mau i ka manawa me keʻano o nā pale.

Eia kekahi laʻana, e pili ana kēia mau kauoha i keʻano o nā pai o nā pūnaewele ma hope nei: I ka paʻiʻana o Z, ua hoʻomahaʻia ka manaʻo . (Hoʻopuka ke hae hōʻaiho i nāʻano kūlana.) I ka paʻiʻana o 'A,ʻike ka meaʻike "ua kāohiʻoe i kahi mana-A" a ua hoʻounaʻia ka papahana i' A. Ke kāomiʻia ka $, uaʻike ka meaʻike i ka lā. Ke kāomiʻiaʻo C, makemakeʻia ka puka. Inā hoʻokomoʻia ka "foo",ʻike ka meaʻike i ka "pā". Ke hoʻoikaikaʻia nā mea e pili ana, e launa pū ana ka mea unuhi'ōlelo.

hoʻonohoʻia CTRLZ \ 032 me kahi '-reset $ CTRLZ' exec kill -STOP [pid]} \ 001 {send_user 'uaʻokiʻoe i kahi mana-A \ n "; hoʻouna "001"} $$ send_user "ʻO ka lā [clock clock] [clock seconds]]."} \ 003 puka i ka hoʻouna 'Send_user' '' ~}

Ma nā pai pālua-kino, ua paʻiʻia nā aho i ka papa inoa i heluʻia e like me nā pane. ʻAʻole i hoʻounaʻia nā hua'ōlelo i pili likeʻole i ka'ōnaehana o kēia wā e kakali ana i ke koena e hiki mai ana. Inā hoʻokomoʻia nā hua'ōlelo iʻole hikiʻole ke hoʻohālikelike,ʻo kahi wale nō o ke aho e hoʻounaʻia i ke kaʻina hana hikiʻole ke hoʻomaka i kekahi hui. No laila, hiki ke hoʻohui i nā aho i paniʻia o nā hāmeʻe likeʻole, ināʻo nā kumu mua e ho'āʻo nei e hakakā, e pau loa.

ʻO ka lapaʻau, pono pololei ke kaulikeʻana me kaʻaeʻole nā kāmaʻa ulu . (Ma ka hoʻohālike, ua hoʻohanaʻia keʻano o nā'ōnaehana o ke ao holoʻokoʻa.) Hiki ke hoʻohanaʻia kaʻaha -ex i ka paleʻana i nā hiʻohiʻona i hiki ke hoʻohālikelike me nā lou i ka hanaʻana pēlā. Pono ke palekana i kēiaʻano likeʻole me kekahi "-". (ʻO nā laina a pau e hoʻomaka me "-" ua mālamaʻia no nā koho e hiki mai.)

ʻO ka hae - hae e hoʻoikaika i ke kaula i unuhiʻia e like me keʻano o keʻano o ka'ōlelo. I kēia hihia, ua mālamaʻia nā mea like me nā mea likeʻole i loko o ka hulina hulina e like me keʻano o nā mea e kakali ai i kāna huahana i ka mea iʻikeʻia . Hoʻokomo likeʻia ka hae haehae.

Hōʻike ka mea hōʻike i kahi hana i hanaʻia ma ka hopena o ka pūnaewele. Hiki i kekahi papa hoʻokaʻawale likeʻole ke hahai i ka hae huki i kahi manawa e hoʻopiliʻia i kaʻikeʻana o kaʻae i ka manawa e kākauʻana i nā huahana. ʻO ka hana hoʻoiho paʻamau ka "hoʻi", no laila, e hoʻihoʻi wale ka pilina ma luna o kekahi EOF.

Hōʻike ka manawa hoʻolālā i kahi manawa (i nā kekona) a me ka hana i hanaʻia ma hope o ka heluheluʻoleʻana o nā hua'ōlelo no kahi manawa i hāʻawiʻia. Hāʻahi ka manawa lōʻihi i ke kaʻina hana i hōʻike muaʻia. ʻAʻohe lā hoʻopuka paʻamau. ʻO ka hoʻololi kūikawā "timeout" (hoʻohanaʻia e ke kauoha hoʻomaha)ʻaʻole he hoʻololi i kēia manawa.

Eia kekahi laʻana, hiki ke hoʻohanaʻia kēia'ōlelo i nā mea hoʻohana manawaleʻa iʻole i hoʻokau i kekahi mea no ka hola hoʻokahi akāʻo ka loaʻa mau o nā pūnaewele pūnaewele:

hana hulina -input $ user_spawn_id timeout 3600 hoʻihoʻi-pukaʻaoʻao \ $ spawn_id

Ināʻaeʻia ke kumuhana i ka inoaʻole, a uaʻaeʻia nā null (ma o ka wehe remove_nulls ), ua hoʻokōʻia ka kino like inā e like ana ka ASCII 0. ʻAʻole hiki ke hoʻohālikelike i nā 0 bytes ma nā'ōuli a'ōwili paha.

Hoʻomākaukau i kahi kiʻikuhi me ka hae - e kākau i ka hoʻololi interactive_out (spawn_id) e hoʻonohoʻia i ka spawn_id e pili ana i ke kumu (aiʻoleʻole).

ʻO nā hana e like me ka wāwahi a hoʻomau i ke kumu e hoʻonāuki i nā'ulula (ʻo ia, no , proc ) i keʻano maʻamau. Eia naʻe e hoʻihoʻi i nā kumuhana e hoʻi i kāna mea kelepona, aʻoiai ka hanaʻana i waena o nā mea e hana ai i ka hoʻihoʻi i kāna mea kelepona. Eia kekahi laʻana, ināʻo "proc foo" i'ōleloʻia i ka pilinaʻana a laila hanaʻia ka hana hoʻopiʻi , e hoʻi maiʻo foo . (ʻO kēia keʻano inā hoʻololiʻia nāʻike a me ka hoʻololiʻana i ka hoʻololiʻana o ka pilina me keʻano o ka hanaʻana)

I ka wā e pili ana , hoʻohanaʻia ke ala polina i mea e hiki ai i nā kānaka a pau ke hoʻololiʻia i ke kaʻina hana . Ināʻaʻoheʻike o ka'ōnaehana i kēia mau hōʻailonaʻoihana, e pau ia inā hoʻounaʻia kahi hōʻailona (ma ke koho 'Z). No ka hoʻomaka houʻana, e hoʻouna i kahi hōʻailona hoʻomau (e like me ke "pepehi-ʻole"). Inā makemakeʻoe e hoʻouna i kahi SIGSTOP i kēiaʻano (e ka 'Z), e noʻonoʻo e palekana i ka csh mua a laila e holo nei i kāu polokalamu. I kekahiʻaoʻao, inā makemakeʻoe e hoʻouna i kahi SIGSTOP e noʻonoʻo iā ia iho, e kāhea mua i ka mea unuhi'ōlelo (ʻike paha ma ka hoʻohanaʻana i kahiʻano pilikino), a laila kaomi iā Z +.

Hiki ke hoʻohanaʻia nā hui kuikahi e like me ka pōkole no ka paleʻana i ke komoʻana i ka mea unuhi a hana i nā hua'ōlelo pili. Hoʻohanaʻia keʻano kūʻokoʻa mua i ka manawa o ke kino o ke kino o ke kino.

No ka wikiwiki, hana i nā hana i ka hana maʻamau i ka paʻamau. Hoʻopauʻia ka hae haehae i ka pahu i keʻano i hanaʻia ma mua o ka pilinaʻana (i ka manawa maʻamau, i keʻano kuʻi). Eʻike i nā mea i komo i ka wā i hoʻololiʻia ke ala e lilo paha (kahi pōʻino o ka mea hoʻokele pahuhana ma kekahi mau pūnaewele). ʻO ke kumu wale nō e hoʻohana ai -e hoʻopihapiha inā pili kāu hana ma ka holoʻana i keʻano i kaʻina.

Hāʻawi ka hae -echo i nā huapalapala e pili ana i kēia kumuhana i hope i ke kaʻina hana i hanaʻia e like me ka heluheluʻana o kēlā me kēiaʻano. Hiki paha kēia i ka pono ke hoʻohana ka mea hoʻohana i kaʻikepili mai nā hiʻohiʻona i kāhuaʻia.

Inā kūkalaʻia kekahi kumuhana akāʻaʻole i kūpono ke kūlike, hoʻounaʻia nā mea i ke kaʻina hana . Inā hōʻano houʻia ka'ōnaehana hoʻopauʻia, eʻike ka mea hoʻohana i nā hua'ōlelo iʻelua manawa. -e like paha ka mea kūpono i nā kūlana kahi hikiʻole i ka mea hoʻohana ke hoʻopiha i keʻano. Eia kekahi laʻana,ʻo kēia ka helu o kēia papahana, mai ka rftp, ka script recursive-ftp, kahi i hoʻokipaʻia ai ka mea hoʻohana e komo i ka 'g, ~ p, a i' l, e loaʻa, e hoʻopaʻa, a hoʻopaʻa inoa paha i ka papa kuhikuhi i kēia manawa. ʻO kēia mau mea mamao loa mai nā kauoha o ka pahu piʻo, hikiʻole i ka mea hoʻohana ke kāpiliʻia - ma muli o kekahi mea'ē aʻe, koe wale nō ka hewaʻole, i ia manawa, e nānā wale paha lākou i ka hopena.

hoʻohana i ka '-echo ~ g'onokunipuni 1} -echo ~ l {kālekaleo 0} -echo ~ p {putcurdirectory}}

Hoʻouna ka hae hoʻonā'āpala i nā huapalapala e pili ana i kēia kumuhana i ka papa hana puka e like me ka heluheluʻana o nā hua'ōlelo.

He mea maikaʻi kēia inā makemakeʻoe e hoʻokuʻu i kekahi papahana i ka pahuhopu. Eia kekahi laʻana, hiki ke hoʻohanaʻia kēia mau mea no ka nānāʻana i kahi e kāheaʻia ai kahi kanaka (kahi modem style style). Keʻikeʻia kēlā me kēia "atd" i kaʻikeʻana o ka papa kuhikuhi i ke koena o ke laina.

'ike' ia ke 'ano o ka helu' ana i ka 'log' a (interactive -nobuffer -re "(. *) \ r" hoʻihoʻi ka $ log "[clock clock [clock seconds]]; helu $ interact_out (1, string)"} interact -nobffer "atd" lognumber

I ka wā e pili ana , ponoʻole ke hoʻohanaʻia log_user . Ma keʻano,ʻo ka pilina e hoʻoikaika i kāna huahana e hoʻokomoʻia (hoʻounaʻia i ka hopenaʻoihana) no ka mea ua manaʻoʻiaʻaʻole makemake ka mea hoʻohana e pilina pākī.

ʻO ka hae -ka hae e hoʻohui i nā pai pāluaʻaoʻao e pili ana i ka hopena o ke kaʻina hana . Hiki i kēia ke hoʻohana, no ka laʻana, i ke kūʻana me nā pūʻali e hoʻouna i nā hua i makemakeʻoleʻia i ka wā o kahi hālāwai telnet.

ʻO ke kumuʻole, pili ka pilina e manaʻo ana ka mea hoʻohana e kākau i ka stdin a heluhelu i ka paʻi o ka hana hoʻolālā. ʻO ka hae -u (no ka "hoʻohana") e hana i ke kūkākūkā e nānā i ka mea hoʻohana e like me ka hana i kapaʻia e kāna pane ((ʻo ia hoʻi he idena i hoʻopauʻia).

ʻO kēia ka mea e hiki ai i nā kaʻina hana likeʻole e hui pūʻia me ka hoʻohanaʻole i kahi'ōkuhi. No ke kōkuaʻana i ka hoʻopauʻana, makemakeʻia nā diagnostics e hele mau i stderr (aiʻole i ka paʻi no kekahi mau loka a me ka hoʻopauʻana i nāʻike). No ke kumu hoʻokahi, e heluhelu pū ka mea unuhi'ōlelo me ka hulina mai stdin.

Eia kekahi laʻana,ʻo ka mahele o lalo e hoʻokumu i kahi kaʻina e komo ai . A laila e kākau i ka mea hoʻohana (ʻaʻole i hōʻikeʻia), a hoʻohui hope i nā meaʻelua. ʻOiaʻiʻo, hiki ke hoʻololi i kekahi kaʻina no ke komoʻana. No ka hiʻoʻana, he shell, eʻae i ka mea hoʻohana e hana me ka hāʻawiʻana i kahi moʻokāki a me ka hua'ōlelo.

spawn login login login / spawn_id spawn tip modem # kāpili i ka mea hoʻohana # connect user to login interactive -u $ login

No ka hoʻounaʻana i nā huahana i nā hanana nui, e hoʻopaʻa i kēlā me kēia mahele o ka list list i hoʻokumuʻia e ka hae paʻi. Komo i loko o kahi pūʻulu o nā idana spawn iduka i hiki ke hoʻoholoʻia e kahi papa heluʻikepili i hoʻokumuʻia e ka hae koho. (Laweʻia nā pukaʻelua a me ka pukaʻana i nā papa inoa ma kaʻano likeʻole e like me ka hae ma ka hoʻolālā e manaʻoʻia nei , koe naʻe kaʻole o kekahi_spawn_id i ka pilina .) E pili ana kēia mau hae a me nā aho (aiʻole nāʻano) i kēia komoʻana a hiki i kahi'ē aʻe - hōʻike i ka hae palapala. Ināʻaʻohe puka - puka, ka hua'ōlelo e pili ana i "-input $ user_spawn_id -output". (Pēlā nō, me nā'ōnaeho i loaʻaʻole .) Inā kohoʻia kahi kahi, ua kāpiliʻia $ user_spawn_id. Ināʻikeʻia kahi hua lua,ʻo ia ka mea i pale i $ spawn_id. Hiki ke hoʻohālikelikeʻia nā hae kuhi hou.

Hāʻule nā ​​papa hana hoʻokohuhuaʻelua i ka loaʻaʻana o kā lākou mau huahana i heluʻia e $ spawn_id a $ user_spawn_id (i hope). Ināʻikeʻia kahi hae iʻikeʻia me ke kaha kiʻiʻole , e hoʻoleiʻia nā pūʻali mai kēlā papahana .

Hōʻike ka hae i kahi pani pani no ka spawn_id o kēia manawa ke hoʻohanaʻoleʻia nā hae lewa'ē aʻe. Hōʻaia ka hae a-a-hae.

Hiki ke hoʻololi i nā hana e pili ana me ka hoʻohanaʻana i nā ids indwn spare. (Ua weheweheʻia nā ids indde spawn ma ka māhele ma luna o ka'ōlelo e manaʻoʻia ana.) E hiki ke hoʻohālikelikeʻia nā ids āpau āpau me nā leka -i, -u, nā hōʻailona, ​​a me nā pane.

unuhi'ōlelo [args]
hana i ka mea hoʻohana e hulina pūʻia me nā pāʻoihana Expect a me Tcl. Loaʻa ka hopena o kēlā me kēia kauoha.

ʻO nā hana e like me ka wāwahi a hoʻomau i ke kumu e hoʻonāuki i nā'ulula (ʻo ia, no , proc ) i keʻano maʻamau. Eia naʻe hoʻi e hoʻihoʻi i nā unuhi'ōlelo i ka mea kelepona, i ka wā o inter_return ke kumu e hoʻohuli ai ka mea unuhi i ka hoʻihoʻi i kāna mea kelepona. Eia kekahi laʻana, ināʻo "proc foo" i kapaʻiaʻo ka unuhi'ōlelo i hana i ka hana i ka e hoʻihoʻi ai, e hoʻi maiʻo foo . ʻO kekahi kauoha'ē aʻe e hoʻonā i ka mea unuhi e hoʻomau i nā kauoha hou no nā kauoha hou.

ʻO ke kumu kuhi,ʻo ka'ōkuhi nā mea heluʻelua. ʻO ka helu helu mua ke ho'ākāka i ka hohonu o ka hōʻailona loiloi (ie, ehia manawa i kapaʻia aiʻo Tcl_Eval). ʻO ka heluʻeluaʻo ka meaʻike moʻolelo Tcl. Hiki ke hoʻonohonohoʻia ka hāʻina ma ka weheweheʻana i kahi hana i kapaʻia "prompt1" nona ka helu hoʻokele i lilo i ka manawa hou. Inā ua weheʻia kahi'ōlelo, nā parens, nā pale, a me nā pale, ua hoʻopukaʻia ka papahana kiʻekiʻe (ma kahi kūpono "+">) ma newline. Hiki ke hoʻonohonohoʻia ka papa tuarua ma ka weheweheʻana i kahi hana i kapaʻia "prompt2".

I ka manawa o ka mea unuhi'ōlelo , hoʻohanaʻia keʻano kuke,ʻoiai ināʻo ka mea e kāhea ana e hoʻohana ana i ke ala polina.

Inā hoʻopaʻaʻiaʻo stdin, e hoʻihoʻi ka mea ho'ākāka keʻole ka hoʻohanaʻia o ka hae, a ma ia hihia e konoʻia ka manaʻo o hope.

log_file [args] [[-a] file]
Inā hāʻawiʻia kahi inoa pūnaewele, log_file e hoʻopaʻa i kahi transcript o ka hālāwai (e hoʻomaka ana i kēlā wahi) i ka faile. 'aʻole e waiho i kahi manaʻo i ka log_file. Ke paniʻia nei kekahi pūnaewele pūnaewele mua.

Ma kahi o kahi inoa inoa, hiki ke hāʻawiʻia kahi hōʻailona o Tcl ma o ka hoʻohanaʻana i nā hae lohi -open a -leaveopen . Ua like kēia me ke kauoha spawn . (E nānā i ka hala no kaʻike hou aku.)

ʻO ka hae o ka hōʻailona e hoʻokomo i kahi i kāohiʻia e ke kauoha log_user .

ʻO ke kumu o ka hoʻololi, kauoha ka kauoha log_file i nā mele kahiko ma mua o ka ho'ākākaʻana iā lākou, no ka loli o ka hiki ke hoʻohuli i ka wāwae a i nā manawa he nui i ka manawa hoʻokahi. No ka ho'āʻoʻana i nā pūnaewele, e hoʻohana i ka hae -noappend .

Hōʻike ka hae--info i ka log_file e hoʻihoʻi i ka ho'ākākaʻana o nā hōʻike kumuʻole i loaʻaʻole.

log_user -info | 0 | 1
ʻO ka lapaʻau, ua hoʻokomoʻia ka aelike hoʻouna / manaʻo i ka stdout (a me kahi pūnaewele inā wehe). Hoʻopauʻia ka loiloi i ka pakuhi e ke kauoha "log_user 0" a hoʻolālāʻia e "log_user 1". ʻAʻole i hoʻololiʻia kahi inoa e pili ana i ka pūnaewele.

Hōʻike ka hae--info i ka log_user no ka hoʻihoʻiʻana i ka ho'ākākaʻana o nā manaʻo kumuʻole i loaʻaʻole.

like_max [-d] [-i spawn_id] [size]
ho'ākāka i ka nui o ka mea pahū (i nā bytes) hoʻohanaʻia i loko ma ka manaolana . Me ka nuiʻole o ka manaʻo, ua hoʻihoʻi mai ka nui i kēia manawa.

Me ka hae--hae, ua hoʻonohonohoʻia ka nui kūpono. (ʻO ka helu mua loa 2000.) Ma ka hae, ua hoʻonohonohoʻia ka nui no ka idana spawn inoa, ināʻaʻole pēlā, ua hoʻonohonohoʻia no ke kaʻina hana o kēia manawa.

ke uhiʻia [- # spawn_id] [- # spawn_id] [...] polokalamu [args]
lawelaweʻo ia i "programme args" ma kahi o ka polokalamu hoʻokolohua o kēia manawa, e hoʻopau ana. ʻO ke kumu hakakā o ke kuhihewaʻana i kahi kaula i mua o ka inoa kauoha e like me keʻano he kau komo. Hoʻopauʻia nā spawn_s a koe wale nō ka poʻe i kapaʻia he mau manaʻo. Hoʻopiliʻia kēia ma nā inoa kikowaena i kapaʻia.

Hoʻopukaʻia nā Spawn_ids e waiho i nā mea kikowaena no ka'ōnaehana hou e noho ai. Eia kekahi laʻana,ʻo nā laina e hana nei ma hope nei aʻaeʻia ia e hoʻomaluʻia e ke kaʻina hana o kēia manawa - e'ōlelo aku,ʻo kahi haku haku.

hoʻopau -0 $ spawn_id -1 $ spawn_id -2 $ spawn_id kānana

Uaʻoi aku ka maikaʻi o kēia ma mua o ka "interact -u", akā, ua kaumahaʻo ia i ka hiki ke hana i nā pilina i hoʻonohonohoʻia ma muli o ka mana o ka hoʻolālāʻAna.

Eʻike i ka hāʻawiʻoleʻia o kahi pūnaewele mālama. No laila, ināʻoe eʻoki a pale paha i ka papa komo maʻamau,ʻaʻole e holo pono nā polokalamu hana hana (nā pūpū, login, etc.).

ʻike [-d] [-i spawn_id] [waiwai]
ho'ākāka i ka pono e mālamaʻia a hemoʻia paha mai ka hanaʻana o nā hana maʻamau. Inā loaʻaʻole ka kumukūʻai , ua weheʻia ka laulā, iʻole e weheʻia. No ka hoʻopiʻi kumuʻole, ua hoʻihoʻiʻia ka uku i kēia manawa.

Me ka hae-flag, ua hoʻonohonohoʻia ka helu kuhihewa. (ʻO ka helu mua o 1,ʻo ia hoʻi,ʻaʻole i weheʻia ke kuleana.) Me ka hae, ua hoʻonohonohoʻia ke kumukānāwai no ka inoa inoa spawn id, iʻole e hoʻonohoʻia no ke kaʻina hana .

wehe_nulls [-d] [-i spawn_id] [waiwai]
ho'ākāka i ka hopena a laweʻia paha o nā null mai ka hopena o nā hana maʻamau i mua o ka paʻi likeʻana a iʻole e mālama i loko o ka mea i manaʻoʻia e like me ka mea iʻikeʻia aiʻole interactive_out . Inā loaʻa ke kumukūʻai 1, ua weheʻia nā null. Inā loaʻa ka waiwai 0,ʻaʻole i hoʻoneʻeʻia nā null. No ka hoʻopiʻi kumuʻole, ua hoʻihoʻiʻia ka uku i kēia manawa.

Me ka -- hae, ua hoʻonohonohoʻia ka paʻakikī. (ʻO ka helu mua 1,ʻo ia hoʻi, ua weheʻia nā null.) Ma ka hae, ua hoʻonohonohoʻia ka helu no ka idana spawn inoa, ināʻaʻole pēlā, ua hoʻonohonohoʻia no ke kaʻina hana .

Inā ua weheʻia nā pohō a iʻole paha,ʻO ka mea e manaʻoʻia e hoʻopuka i nā bytes i ka log a me ka pila.

e hoʻouna i [-flags] string
Hoʻouna i ke aho i ke kaʻina hana o kēia manawa. Eia kekahi laʻana, ke kauoha

aiko "aloha aloha"

Hoʻouna i nā hua'ōlelo, e kōkua i ke kaʻina hana . (ʻO Tcl kahi palapala print -like (i kapaʻia ka hōpili ) kahi hiki ke kūkulu i nā aho hoʻokauʻole.)

Hoʻouna kokeʻia nā mea kākau me nā papahana me ka hoʻokomoʻana i ka laina iʻole e heluhelu i nā hua'ōlelo a hoʻounaʻia ka manaʻo hoʻi. Hoʻopukaʻia kahi hōʻailona hoʻihoʻi "\ r".

ʻO ka hae - ka mana o ka hoʻonāʻokoʻa e kuhikuhiʻia ma keʻano he string ma mua o ka hae. Hiki ke hele i kēlā me kēia string ma mua o "-" inā pahaʻo ia e like me ka hae. Hāʻawiʻia kēia i kahiʻano pono e kuhikuhi i nā aho loli me kaʻole e hoʻopukaʻia e ka poʻe i nānāʻia e like me nā hae. (ʻO nā laina a pau e hoʻomaka me "-" ua mālamaʻia no nā koho e hiki mai.)

Hōʻikeʻia ka hae e hoʻounaʻia ke kaula i ka inoa spawn_id. Inā lilo ka spawn_id user_spawn_id , aʻo ka pahu i ke kūlana kūikawā, ua unuhiʻia nā hua'ōlelo hou ma ka string i nā hoʻihoʻi hou-houʻana iʻikeʻia lākou e like me ke kuhiʻana o ka pahu i kahi hanana. Hoʻopauʻia ka hae palapala- hae i kēia unuhi.

Hāʻawi ka hae -null i nā hua'ōlelo null (0 bytes). ʻO ke koho, ua hoʻounaʻia kekahi null. Hiki i kekahi mea kikowahi ke hahai i ke kikooho e hōʻike i ka nui o nā null e hoʻouna.

Hāʻawi ka hae - hae i kahi kūlana pale. He kūpono wale nō kēia ināʻike ka spawn id i kekahi mea tty i weheʻia ma o "spawn -open". Ināʻoe i hoʻolālā i kahi papahana e like me ka tip, ponoʻoe e hoʻohana i ka papahana no ka hanaʻana i ka haha.

Hiki i ka hae hae puaʻa ke hoʻounaʻia "haʻahaʻa", a laila e pale i kahi kūlana maʻamau i kahi o waho o kahi kamepiula i hoʻokomo i kahi pahu hoʻokomo i hanaʻia no ke kanaka e hikiʻole ke hoʻopuka i ka pa hoʻokahi. Hoʻopiliʻia kēia huahana e ka waiwai o ka māloli "send_slow" nāna e lawe i kahi papa inoaʻelua. ʻO ka māhele mua he mea helu maʻamau e wehewehe i ka helu o nā bytes e hoʻouna i kaʻene. ʻO ka lua o ka helu kahi helu maoli e wehewehe i ka heluna o kekona ke hoʻokaʻawaleʻia ka'ānomi. Eia kekahi laʻana, "hoʻouka hoʻouna_slow {10 .001}" e hoʻoikaika i "send -s" e hoʻouna i nā string me ka 1 millisecond ma waena o kēlā me kēia huapalapala 10.

ʻO ka hae o ka hae e hoʻounaʻia (ʻano) e like me ke kākau kanaka maoli. Hōʻikeʻia nā manawa lōʻihi e like me nā hua'ōlelo. (ʻO ka algorithm e hoʻokumuʻia ma kahi o Weibull, me nā hoʻololi e pili ana i kēia noi.) E mālamaʻia kēia huahana e ka waiwai o ka helu "send_human" i lawe i kahi papa inoa elima. ʻO nā kumu muaʻelua e kau ana i ka manawa kuhi o nā hua'ōlelo i kekona. Hoʻohanaʻia ka mea mua. Hoʻohanaʻia ka lua ma ka hopena'ōlelo, e hoʻohālikelike i nā paio paʻakikī e hanaʻia ma ia mau manawa i kēlāʻano. ʻO ke kolu o ka hoʻohālike he ana ia o ka loli ma kahi .1 he loli maoli, 1 hiki ke loli ke kumukuai, a he 10 hiki keʻikeʻia. ʻO nā piʻiʻana he 0 ia iʻole. ʻO nā palenaʻelua hope loa,ʻo kēlā me kēia, kahi manawa kūpono a me ka palena lōʻihi. Ke hoʻohanaʻia ka palena a me ka maximum i hope loa a me "kiʻi" i ka hope loa. Hiki ke hoʻohālikelike ke kauʻana o kaʻawelike i ka palena i hāʻawiʻia ināʻo ka palena liʻiliʻi a me ka maximumʻoi aku i nā koina.

ʻOiai he laʻana,ʻo kēia kauoha e hoʻohālike i kahiʻano wikiwiki a me ka likeʻole:

e hoʻouna i hoʻouna_human {.1 .3 1 .05 2} hoʻouna -h "Ua pōloli au. Eʻai kākou i kaʻaina awakea."

oiai paha eʻoi aku ka maikaʻi o kēia mau mea ma hope o ke kuʻiʻana:

e hoʻouka i Send_human {.4 .4 .2 .5 100} hoʻouna -h "Pohō ka lash pō!"

Eʻikeʻoeʻaʻole i hoʻokomoʻia nā hewa, akā hiki iāʻoe ke hoʻonohonoho i kahi kūpono o ka hoʻoponopono hemahema ma ka hoʻopauʻana i nā mea hewa a hoʻoponopono i kahi hoʻopiʻi hoʻouna.

ʻO nā lepa no ka hoʻounaʻana i nā hua'ōlelo null, no ka hoʻokuʻuʻana, no ka hoʻokōʻana i ka hua haʻahaʻa a no ka hanaʻana o ke kanaka-kanaka. ʻO kahi wale nō i'ōleloʻia i hope e hoʻohanaʻia. Eia hou, 'aʻole hiki ke helu' ia nā manaʻo paʻi me nā hae no ka hoʻouna 'ana i nā hua'ōlelo null a iʻoki.

He mea maikaʻi e hele mua i ka hoʻouna muaʻana i kahi hana ma ka manaolana . e kali ke kali e hoʻomaka ka papahana, akā hikiʻole ke hoʻouna . I keʻano, inā hoʻomaka ka hoʻouna mua ma mua o ka hoʻomakaʻana o ke kaʻina , e holo anaʻoe i ka pilikia o kaʻikeʻana i kāuʻikepili. Ma nā kūlana kahi e hāʻawiʻole ai nā polokalamu pāʻoihana i ka'ōkuhi mua, hiki iāʻoe ke kau mua i ka hoʻounaʻana me ka lōʻihi e like me:

# No kaʻaʻaʻole e hāʻawi i nā huina mīkini i ka pehea e uhaki ai,ʻaʻole kēia palapala i hoʻouna i kahi hua'ōlelo o waho. # E kakali 5 maukona no ka hoʻokōʻana i kahi spawn telnet very.secure.gov moe 5 hoʻouna i ka hua'ōlelo \ r

ʻO exp_send he alalia no ka hoʻouna. Ināʻoe e hoʻohana ana i kahi Expecto a iʻole kekahi mauʻano likeʻole o ka mea e manaʻoʻia ana ma ka hoʻolālā Tk, hoʻounaʻia ka leka e Tk no kahi kumu'ē aʻe. Hoʻopiʻiʻia ka exp_send no ka palekana i waena o nā wahi. Hoʻolakoʻia nā ala like no nā mea kauoha'ē aʻe o Expect e hoʻouna.

send_error [-flags] string
like like hoʻouna , koe ke hoʻounaʻia ka huahana i stderr ma mua o ke kaʻina hana o kēia manawa.

send_log [-] string
E like me ka hoʻounaʻana , koe wale nō ke hoʻounaʻia o ka string i ka log log (ʻike log_file .) E mālamaʻia nā manaʻo hoʻoholo ināʻaʻole weheʻia kahi loiloi.

send_tty [-flags] string
like like hoʻouna , koe ke hoʻounaʻia ka huahana i / dev / tty ma mua o ke kaʻina hana o kēia manawa.

send_user [-flags] string
like like hoʻouna , koe ke hoʻouna ' ia ka huahana i kahi paʻi ma mua o ke kaʻina hana o kēia manawa.

hiamoe hiamoe
hana i ka hōʻailona e hiamoe no ka helu i hāʻawiʻia o kekona. ʻO nā lālā he helu decimal. Hoʻopilikiaʻia (a me nā hana Tk inā hoʻohanaʻoe i Expectk) i ka wā e hoʻomahaʻia ai ka hiamoe.

polokalamu hua [args] [args]
hana i ka hana hou e holo ana i ka " programgs args". Ke pili aku nei kona piko, stdout a stderr i ka Manaʻo, i mea e heluhelu ai a kākauʻia e nā mea'ē aʻe Expect . Hoʻopauʻia ka pilina ma ka kokoke a ināʻo ka pūnaewele pono'ī e pani i kekahi o nā mea kikowaena.

Ke hoʻomakaʻia ka papahana e spawn , ua hoʻonohonohoʻia ka variable spawn_id i kahi mea kākau e pili ana i kēlā hana . ʻO ka hana i ho'ākākaʻia e spawn_id he mea ia e pili ana i ke kaʻina hana . Hiki ke heluhelu a kākauʻia pahaʻo spawn_id , me ka hāʻawiʻana i ka manaʻoihana.

o ka mea hoʻohana_spawn_id he kikowaena honua e piha ana i kahi mea wehewehe e pili ana i ka mea hoʻohana. Eia kekahi laʻana, i ka manawa i hoʻonohoʻia aiʻo spawn_id i kēia kumukūʻai, manaʻo ka manaʻo e like me ka manaʻo_pau .

He paʻawa honua ka error_spawn_id i loko o kahi mea wehewehe e kuhikuhi ana i ke kuhi paʻamau. Eia kekahi laʻana, inā hoʻonohoʻiaʻo spawn_id i kēia kumukūʻai, hoʻounaʻia ka hana like send_error .

tty_spawn_id he kikowaena o ka honua e piha ana i kahi mea wehewehe e kuhikuhi i / dev / tty. Ināʻaeʻole ka / dev / tty (e like me kahi cron, ma, aiʻole ka moʻomeheu pūnaewele), a laila,ʻaʻole i weheweheʻia tty_spawn_id . Hiki ke ho'āʻoʻia kēia ma:

inā [[info vars tty_spawn_id]} {# / dev / tty else}'ē aʻe [# / dev / ttyʻaʻole i loaʻa # hiki i ka cron, kahi, a iʻole ka palapala}

Hāʻawiʻo spawn i ka UNx process id. Ināʻaʻohe hana , ua hoʻihoʻiʻia. Ua hoʻonohonohoʻia ka variable spawn_out (slave, name) i ka inoa o ka pūnaewele pty.

ʻO ke kumu kūponoʻole, hoʻopukaʻo spawn i ka inoa kauoha a me nā kumuhana. Hoʻokuʻuʻia ka hae -noec spa spa mai kēia hanaʻana.

Hōʻaia ka hae pāʻaniʻaleʻa i ka puka hoʻonanea e hoʻihoʻiʻia i ke kaʻina hana . ʻAʻole i kākoʻoʻia kēia ma nā pūnaewele.

Ma waho, hoʻohanaʻo spawn i kahi pty, hoʻomakaʻia i kaʻano like me ka tty o ka mea hoʻohana. Hoʻomaka houʻia kēia i mea e "maʻalahi" nā pae a pau (e like me stty (1)). Inā ua weheweheʻia ka variable stty_init , ua unuhiʻia ma keʻano o nā manaʻo pale e like me keʻano hou aʻe. Eia kekahi laʻana, "hoʻonohonoho stty_init raw" i mea e hoʻonui ai nā hopena o ka hoʻopauʻana i nā lālā. -nottycopy ke pale i ka hoʻokumuʻana ma luna o ka tty o ka mea hoʻohana. -nottyinit e hoʻokuʻu i ka hoʻokomo "maʻamau".

Iā manawa maʻamau, ʻaʻole manawa liʻiliʻiʻo spawn e hana. Ināʻikeʻoe iā spawn e hoʻonui ana i ka manawa, hiki paha iā ia ke hālāwai i nā ptys i male. Hoʻomaʻaʻia kekahi mau hoʻokolohua ma nā ptys e pale i nā pōpilikia me nā hana hoʻopunipuni. (Lawe lākou i 10 maukona ma ka pahu pty.) E holo ana me ka mea -d koho e hōʻike inā he nui nā pty i loaʻa i Expect i nā moku'āina. Ināʻaʻole hiki iāʻoe ke pepehi i nā papahana i pili ai i kēia mau pty, ponoʻoe e hoʻopau.

Inā hikiʻole ke hoʻopiliʻia ka polokalamu maikaʻi ma muli o ka hopena (2) iʻole (e like me ka pauʻole o ka polokalamu ), e hoʻihoʻiʻia ka memo kuhi e ka hui hou a iʻole ka mana e manaʻoʻia e like me ka holomua o ka polokalamu a me ka hua'ōlelo i hoʻounaʻia i ka huapalapala. He hopena kūlohelohe kēia i kēia hana o spawn . I loko o nāʻanuʻu, nā hakina pale, a ma hope iho,ʻaʻohe mea e hiki ai ke kūkākūkā me ka'ōnaeho Manaʻo mua akā ma ka kamaʻilioʻana ma o spawn_id.

ʻO ka pā'ālua -open e hoʻohālikelikeʻia ka manaʻo o ka hoʻopiʻi hou aʻe e like me kahi hōʻike Tcl (ʻo ia hoʻi, hoʻihoʻiʻia ma ka wehe .) E hiki ke hoʻohanaʻia ka idana spawn inā he mea i hoʻolālāʻia . (ʻAʻole pono e hoʻohana houʻia ka meaʻike.) Hiki iāʻoe ke mālama i nā polokalamu makamele, nā file, a me nā pipeline e like me nā papa hana i hoʻopauʻoleʻia me ka hoʻohanaʻana i ka pty. Ua hoʻihoʻiʻiaʻo 0 e hōʻike i ka hanaʻole. Ke hoʻopauʻia ka pilina i ke kaʻina hana , pēlā nō ka hōʻike o ka pelekane Tcl. Ua like ka hae -leaveen i like me -open koe naʻeʻo ka mea -leaveen e hoʻoneʻe ai i ka'ikele o ka pūnaewele ma hope o ka pauʻana o kaʻike spawn.

Hoʻolālā ka hae -pty i kahi pty e weheʻia akāʻaʻohe hana i hoʻopauʻia. Ua hoʻihoʻiʻiaʻo 0 e hōʻike i ka hanaʻole. Ua hoʻonohonoho 'ia Spawn_id e like me nā manawa maʻamau.

Ua hoʻonohonohoʻia ka variable spawn_out (slave, fd) i kahi mea kikowaena e like me ka pty slave. Hiki ke paniʻia ma ka "close -lave".

Hāʻawi ka hae -ignore i kahi hōʻailona e nānāʻia i ke kaʻina hana . Ināʻole, e hōʻoia ka hōʻailona o ka halihali. Hanaʻia nā hōʻailona e like me ke kauoha paʻi , koe naʻe kēlā me kēia hōʻailona ke koi i kahi hae kau.

ka pae kau
ke kumu o ka hoʻopukaʻiaʻana o nā'ōlelo i mua o ka hoʻokōʻiaʻana. (Ke kaʻina o nā kauoha a Tcl e pili ana i nāʻikepili.) Ke hōʻike i ka lōʻihi o ka pika o ka pika eʻikeʻia. Eia kekahi laʻana, ke kauoha nei kēia mana e nānā iāʻoe ma ka huliʻana i nā papahana 4 mua, akā,ʻaʻole ma lalo.

hope -c "kauki 4" script.exp

Hōʻike ka hae --info i ke kāohi e hoʻihoʻi i ka ho'ākākaʻana o nā manaʻo kumuʻole i loaʻaʻole.

ʻO ke kuʻi
Hoʻololi i nāʻano kālai'āina e like me ke kauoha o ka stty waho.

Ke kuhiʻia, hiki keʻae i ke kāʻei mālama. Hiki keʻokiʻia nā hopena'ē aʻe ma ka hoʻoponoponoʻana i "Nonoi no ka hoʻihoʻiʻana o ke kūlana ma muli o ka hopena o ke kauoha. hoʻohanaʻia e ke kauoha.

Eia kekahi laʻana,ʻo nā pane i hanaʻia aiʻole i hoʻopiliʻoleʻia ke hoʻokomoʻia i ke kūmole. ʻO nā kūkākūkā - hōʻano aiʻole iʻokiʻia ke hoʻokomo i ke kikowaena i keʻano i kālaiʻia. ʻO nā kumuhana echo a -echo i hoʻokomo i ka pahu i ke echo a me ka mode noecho i kēlā me kēia.

Ke hōʻike nei kēia hiʻohiʻona i ka hoʻoponoponoʻana i ke kuʻiʻana i ka manawa. Hiki ke hoʻohana 'ia kēia ma nā mea' ē aʻe - nā hōʻailona maʻalahi no ka paleʻana i nā hua'ōlelo i loko o lākou. (Eʻike i ka nui o ka kūkākūkāʻana ma kēia ma lalo o KEKAHI HOU ma lalo nei.)

"send" "send_user" Kupu hoʻohana: "expect_user -re" (. *) \ n "hoʻonohonoho i ka helu $ expect_out (1, string) stty echo

'ōnaehana pūnaewele
hāʻawi i nā kikowaena i sh (1) me he mea komo, me he mea lā i kahakahaʻia e like me ke kauoha mai kahi pahu. Kūlana ka manaʻo a hiki i ka pauʻana o ka pū. Hoʻohuliʻia ka status hoʻi mai ka sh e like me ka hanaʻana i nā lima i kona hoʻihoʻi.

I ka hoʻohālikeʻana i ka hopena e hoʻohuli i ka stdin a me ka hoʻokūkū i ka hōʻali,ʻaʻole e hana ke polokalamu i kahi hōʻailona (ma waho aʻe o kēlā mea i hōʻikeʻia e ka string). No laila, hiki ke hoʻohana i nā papahana pono e kūkā pololei i / dev / tty. No kēlā kumu hoʻokahi,ʻaʻole i hoʻopaʻaʻia nā hopena o ka pūnaewele ma ka log.

timestamp [args]
hoʻi i kahi timeta. Me kaʻaʻohe pahuhohe, ka helu o kekona ke hiki mai ka manawa.

Hōʻike ka hae -format i kahi kaula i hoʻihoʻiʻia akā me nā pani i hanaʻia e like me nā kānāwai POSIX no strftime. Ke laʻana a% a ua paniʻia kahi inoa o ka pule wikiwiki (ie, Sat). ʻO kekahi poʻe:

% a hoʻopaneʻe loa i ka inoa o ka pule he pule no ka pule o ka pule% A he inoa piha o ka pule hebedoma% b hoʻopaneʻe i ka malama mahina% B he piha piha piha% c ka lā-manawa e like me: Wed Oct 6 11:45:56 1993% d o ka mahina (01-31% H hola) (00-23)% I hola (01-12)% j lā (001-366)% m mahina (01-12)% M minuke (00-59)% p am aiʻole pm% Sʻelua (00-61) % o ka lā (1-7, Lune ka lā mua o ka hebedoma)% U wiki (00-53, Lāpule mua ka lā mua o ka pule hoʻokahi)% V hebedoma (01-53, ISO 8601 style)% w lā (0- 6)% W wiki (00-53,ʻo ka lā mua muaʻo ia ka lā mua o ka pule hoʻokahi)% x lā-manawa e like me: Wed Oct 6 1993% X manawa i like me: 23:59:59% makahiki (00-99) % Y makahiki e like me: 1993% Z palena manawa (aiʻole kekahi mea ināʻaʻole e hiki ke loaʻa) %% i hoʻounaʻia ka hōʻailona hōʻailona

ʻO kekahi mau% kikowaenaʻaʻole i ho'ākākaʻia. E hoʻokuʻiʻia kekahi mau mea'ē aʻe i kahiʻole. E kākoʻo waleʻia ka'āina C.

Hōʻike ka hae ukali i kekahi maukona kekona mai ka manawa i hoʻohanaʻia e like me ke kumu e hoʻomohala ai. Ināʻole, hoʻohanaʻia ka manawa o kēia manawa.

ʻO ka huahana hōʻailona hōkū o ka pahu- hae e hoʻohana i ka manawa time GMT . Me ka haeʻole, hoʻohanaʻia ka palena manawa o ka manawa.

nā hōʻailona [[kauoha] hōʻailona]
ke kumu o ka hoʻokōʻia o ke kauoha i ka loaʻaʻana o kekahi o nā hōʻailona i hāʻawiʻia. Hoʻopauʻia ka kauoha ma ka pae honua. Inā holo kahi command , e hoʻihoʻiʻia ka hana hōʻailona. Inā pono ke kauoha o ka string SIG_IGN, e nānāʻoleʻia nā hōʻailona. Ināʻo ke kauoha ka string SIG_DFL, nā hopena e hopena i ka paʻamau pūnaewele. nā hōʻailona he hōʻailona hoʻokahi aiʻole he papa inoa o nā hōʻailona. Hiki ke helu 'ia nā hōʻailona me ka hōʻailona e like me ka hōʻailona (3). Hoʻokuʻuʻia ka prefix "SIG".

Me kaʻaʻaʻole (a iʻole ka manaʻo hoʻopiʻi), hoʻopaʻi e hoʻihoʻi i ka helu hōʻailona o ke kauoha hoʻopuka e hoʻohanaʻia nei.

Hoʻohana ka hae-code i ke code hoʻi o ka kauoha i kahi o kēlā me kēia code Tcl e hoʻi e hoʻi i ka manawa i hoʻomaka ai ke kauoha.

ʻO ka papa -interp ka mea e hoʻohālikelikeʻia ka kauoha e hoʻohana i ka mea unuhi'ōlelo i ka manawa i hoʻomaka ai ke kauoha e holo ma mua o ka wā i haʻiʻia ai ka maʻi.

ʻO ka hae inoa-kumu ka mea e hoʻihoʻiʻia ai ka kauoha o ka pahū e hoʻihoʻi i ka inoa inoa o ka mana hoʻopuka e hanaʻia nei.

Hāʻawi ka hae -max i ka hoʻopaʻi hoʻopaʻi e hoʻihoʻi i ka helu hōʻailona nui loa i hiki ke hoʻonohoʻia.

Eia kekahi laʻana, e paʻiʻia ke kauoha "trap send Send" "Ouch!"} SIGINT "Ouch!" i kēlā me kēia manawa e paʻi ka mea hoʻohana i 'C.

No ka paʻakikī, SIGINT (kahi hiki ke hanaʻia ma o ka hoʻokau 'C) a me SIGTERM kumu manaʻo e hele. Loaʻa kēia no ka pahele i hala, i hoʻonohonohoʻia e ke kipa i ka hoʻomakaʻana o Expect.

ke weheʻia mai ka hulina {SIGINT SIGTERM}

Inā hoʻohanaʻoe i ka -D hae e hoʻomaka i ka debugger, ua hoʻokaʻinaʻiaʻo SIGINT e hoʻomaka i ka mea hoʻopuka pāʻoihana. Loaʻa kēia no ka pahele penei:

Hoʻopukaʻia kahi ho'ākāka 1} SIGINT

Hiki ke hoʻololiʻia ka pahū hoʻopau ma ka hoʻonohonohoʻana i ka EXVERCT_DEBUG_INIT ākea āpau i kahi kauoha hou.

Hiki iāʻoe ke kāpae i kēia mau meaʻelua ma ka hoʻoukaʻana i nā kauoha paipai i kāu palapala. ʻO keʻano, inā loaʻa iāʻoe kāu "iho i ka puka SIGINT", e hoʻopauʻia kēia i kaʻupena liona. He mea maikaʻi kēia inā makemakeʻoe e pale i nā mea hoʻohana mai ka laweʻana aku i ka debugger.

Inā makemakeʻoe e wehewehe i kāu'ilipili maʻamau ma SIGINT akā ka hoʻopaʻi i ka debugger i ka wā e holo ana, hoʻohana:

inā [! [exp_debug]} {kāpili i kaʻu mea nui SIGINT}

Eia kekahi, hiki iāʻoe ke pahele i ka mea hoʻolālā e hoʻohana i kekahi hōʻailona'ē aʻe.

ʻaʻole e hoʻokuʻuʻiaʻoe i kahi hana no SIGALRM e like me kēia i hoʻohanaʻia i loko o ka mea e manaʻo ai . Hoʻonohonoho ka papa kuhikuhi i ka SIGALRM i SIG_IGN (nānāʻole). Hiki iāʻoe ke hōʻano hou i kēia me ka lōʻihi o kāu hoʻopaʻaʻana iā ia i nā kauoha o ka wā ma hope.

Eʻike i ka hōʻailona (3) no kaʻike hou.

kali [args]
ke kali a hiki i ka hoʻopauʻiaʻana o kahi hana i hoʻopauʻia (aiʻole ka mana o ka manawa ināʻaʻole kekahi inoa).

kali ke kali i kahi papa inoa o nā helu heluʻehā. ʻO ka helu helu mua ka hopena o ka papa hana i kaliʻia. ʻO ka heluʻeluaʻo ka spawn id. ʻO ke kolu o ka helu helu -1 ke hanaʻia kekahi hanana pūnaeweleʻoihana, aʻaʻole paha. Ināʻo ka helu heluʻekolu ke 0,ʻo ka heluʻehā ka mea i hoʻihoʻiʻia e ke kaʻina hana . Ināʻo ka helu heluʻekolu ke -1,ʻo ka heluʻehā ka helu o errno i hoʻonohonohoʻia e ka'ōnaehana hana. Ua hoʻonohonoho pūʻia ka halapuni helu honua.

Hiki keʻikeʻia nā mea'ē aʻe ma ka hopena o ka helu hoʻololi mai kahi kali . ʻImiʻia ka heluʻelima i kahi papa helu. I kēia manawa,ʻo ka helu kūpono wale nō no kēia māhele i hoʻopiʻiʻia kahi i heluʻia ai nā inoaʻelua o ka C-style a me kahiʻike kikokikona.

Hōʻike ka hae i ke kaʻina e kali e like me ka inoa spawn_id (ʻAʻole i ka id process ). I loko o kahi mea lawelawe pūnaewele SIGCHLD, hiki ke kali i kahi hana i hoʻopauʻia ma o ka hoʻohanaʻana i spawn id -1.

Hoʻolālā ka hae -nowait i ka kali e hoʻi koke me ka hōʻailona o kahi kali maikaʻi. Ke holo ke kaʻina (ma hope aku), e nalowale loa ia me ka ponoʻole no ka kaliʻana.

Hiki ke hoʻohanaʻia ka kauoha hoʻomaha e kali i kahi hana i hoʻolālāʻia me ka hoʻohanaʻana i nā pane "-i -1". ʻAʻole like me kona hoʻohanaʻana me nā hana i hoʻopiliʻia, hiki ke hana i kēia kauoha i kēlā me kēia manawa. ʻAʻohe mana e hoʻoukaʻia ai ka hana . Eia naʻe, hiki ke hoʻolālāʻia ka helu hoʻoili no ka id.

KANAKA

Manaʻo iā ka 'ike' ana i kahi 'elua hale waihona puke i kūkulu' ia no nā Palapala Hōʻokoʻa. Hoʻonohonohoʻia kēia mau mea e nā papa inoa i kapaʻia ma nā exp_library variables a me exp_exec_library. Laweʻia nā meaʻelua e komo i nā faila pono e hiki ke hoʻohanaʻia e nā'ōkuhi'ē aʻe.

Loaʻa nā exp_library i nā pūnaewele kūʻokoʻa kūʻokoʻa. Loaʻa nā exp_exec_library i nā pūnaewele hoʻohohoholā. Ma muli o kāu pūnaewele, hiki i nā papa kuhikuhiʻelua a nele. ʻO ka nohoʻana o ka pūnaewele $ exp_exec_library / cat-buffers e hōʻike ana i ke kuhiʻana o kāu pōpilikia / bin / cat.

PRETTY-PRINTING

Hōʻikeʻia ka manaʻo hoʻohālike no ka hōʻailona hōʻoia. Me ka manaʻo o ka hōʻailona vgrind i hoʻolakoʻia me ka hoʻonohonohoʻana i ka hoʻonohonoho maikaʻiʻana, hiki iāʻoe ke hoʻohana ia mea me:

Kōnae vgrind-nānā

Nā hiʻohiʻona

ʻAʻole maopopo i ka pehea e hoʻohui i nā mea a pau e hōʻikeʻia e kahi kanaka . Ke paipai nei au iāʻoe e heluhelu a ho'āʻo i nā hiʻohiʻona i loko o ka papa kuhikuhi hiʻohiʻona o ka'āpana hoʻolālā. ʻO kekahi o lākou he mau polokalamu maoli. ʻO kekahi poʻe e hōʻike pono i kekahi mauʻano, aʻo ia hoʻi, he mau wikiwiki wikiwiki nā kāne. Aia ka papa INSTALL i ka nānā wikiwiki o kēia mau polokalamu.

ʻO nā pepa e manaʻoʻia ana (e nānā i SEA ALSO) he mea pono hoʻi ia. ʻOiai kekahi mau pepa e hoʻohana ana i ka hōʻailona e pili ana i nā hua mua o Expect, pono mau nā hua'ōlelo e pili pū nei me ka nui o nā mea iʻoi aku ma mua o kēiaʻaoʻao kanaka.

KANAKA

Hiki ke hoʻokuʻiʻia nā hōʻailona me nā inoa kauoha o Expect. Eia kekahi laʻana, hoʻounaʻia ka manaʻo e Tk no kahi kumu'ē aʻe. No kēia kumu,ʻo ka hapanui o nā kauoha e hoʻolālāʻia ka mea e loaʻa aiʻo "exp_XXXX". ʻO nā kauoha a me nā hoʻololi i hoʻomaka me ka "exp", "inter", "spawn", a me "timeout"ʻaʻole loaʻa nā inoa. E hoʻohana i nā inoa kauoha lōʻihi inā makemakeʻoe i kēia kūlike ma waena o nā wahi.

Manaʻo ka manaʻo e nānā i ka nānāʻana. Ma keʻano, nā hua'ōlelo i heluheluʻia e nā kauoha i kiko'īʻia i ka papahana hoʻolālā, e huli muaʻia mai kahi kaiaulu, a ināʻaʻole i loaʻa, ma ka ao holoʻokoʻa. Eia kekahi laʻana, ponoʻole kēia e kau i ka "manawa pūnaewele" ma nā hana a pau āu e kākau ai e hoʻohana ana i ka manaʻo . I kekahiʻaoʻao'ē aʻe, nā loli i kākauʻia i nā manawa a pau loa (koe ke hāʻawiʻoleʻia he kauoha "honua"). ʻO ka pilikia maʻamau loa kēia ke kumu o ka hoʻopauʻiaʻana o spawn i ke kaʻina hana. Ma waho o ke kaʻina hana,ʻaʻohe i koe o spawn_id , no lailaʻaʻole i hiki ke hōʻokoʻa houʻia ka papa hana i halaʻole ma muli o ka paleʻana. Hoʻohui i "global spawn_id" i kahi hana.

Inā hikiʻole iāʻoe ke kōkua i ka mana multispawning (ie, kākoʻo kāu pūnaewele aʻaʻole paha i koho (BSD *. *), Pole (SVR> 2),ʻaʻohe mea likeʻole),ʻO ka mea e hiki ke hoʻoholo i hoʻokahi papa hana i ka manawa hoʻokahi. Ma kēia hihia, mai ho'āʻo e hoʻonoho i ka spawn_id ,ʻaʻole pono e hoʻokō i nā hana ma o exec ma keʻano o ke kaʻina hana . Eia kekahi,ʻaʻole hiki iāʻoe ke kali mai nā hanana hou (me ka mea hoʻohana like hoʻokahi) i ka manawa like.

Hiki i nā palena palena ke loaʻa ka hopena nui ma nā hōʻomi. Eia kekahi laʻana, inā ua kākauʻia kahi hōʻailona e nānā ai no ka kuʻiʻana, e hana hewaʻole inā hoʻopauʻia ke kikowaenaʻana. No kēia kumu, e hoʻohālikelike i ka hoʻouka kaua o nā palena maʻamau i ka palena maʻamau. ʻO ka mea pōʻino, hiki i kēia ke hoʻonāukiuki i nā papahana'ē aʻe. Eia kekahi laʻana, makemake ka shell emacs e hoʻololi i nā mappings "maʻamau": e paʻi houʻia nā kiʻi hou i nā mea hou ma mua aʻe o nā kiʻi hou kiʻi hou, a ua hoʻopauʻia ka'ōkuhi. ʻO kēia ka mea e hoʻohana ai i nā emacs e hoʻoponopono i ka laina hoʻokomo. ʻO ka mea pōʻino, makemakeʻole paha e koho i kēia.

Hiki iāʻoe ke noi iā ia Manaʻoʻaʻole e hoʻokahuli i kona hoʻonohonoho paʻamau o nā palena kuʻuna, akā, ponoʻoe e noʻonoʻo pono i ka kākauʻana i nā hōʻailona no ia mau wahi. Ma ka hihia o emacs, e pale i ka hilinaʻi i nā mea e like me ke kaniʻana a me ka hopena o nā mappings.

ʻO nā kauoha i'āpono i nā manaʻoi hoʻokomoʻia i loko o kahi papa inoa (nā mea likeʻole a me ke kūkā ) e hoʻohana i ka manaʻo hoʻoholo e hoʻoholo inā he helu kumu a he nui paha ka papa inoa. Hiki ke hāʻule wale i ka hihia i ka wā i hōʻikeʻia ka papa inoa i kahi pahuhopu hoʻokahi i hoʻokomoʻia i \ n me nā huaʻole o ka hua'ōlelo ma waena o lākou. ʻAʻole paha e hiki ke hoʻololiʻia kēia manaʻo, akā naʻe, hiki ke hoʻohanaʻia ka manaʻo "hoʻokō" no ka hoʻonāukiʻana i hoʻokahi manaʻo e hoʻoponoponoʻia e like me ka manaʻo hoʻokahi. Hiki ke hoʻohanaʻia kēia mea me ka pūnaewele Hiʻona i hanaʻia. Pēlā nō, -me ka hopena e hoʻopiʻi i kahi manaʻo hoʻokahi e mālama i nāʻano likeʻole / mau hana.

Nā BUGS

He mea ho'āʻo loa e kapa i ka papahana "wahine" (no "Smart EXec" a iʻole "Send-Expect"), akā, ua lanakila ma ka noʻonoʻo pono (aiʻole paha Puritanism).

Ma kekahi mau pūnaewele, i ka manawa e hoʻomohalaʻia ai ka pū, e'ōhumu nei no ka hikiʻole ke komo i ka tty akā holo wale. Eia keʻano o kāu pūnaewele he mechanism no ka loaʻaʻana o ka māhele mākaʻi eʻikeʻoleʻia e Expect . Eʻoluʻolu eʻike i keʻano o ia mea, a hoʻouna i kēiaʻike iaʻu.

Ultrix 4.1 (ma ka liʻiliʻi o nā'ōnaehana hou aku a puni) eʻike i nā manawa o nā 1000,000 e like me ka 0.

ʻO ka UNIX 4.0A (a me nāʻano'ē aʻe paha)ʻole e hōʻole e hoʻokaʻawale i nā ptys inā e weheweheʻoe i kahi mea kākau lima SIGCHLD. E nānā i kaʻaoʻao i hāʻawiʻia no kaʻike hou.

ʻAʻoleʻo IRIX 6.0 e mālama pono i nāʻaelike pty inā i manaʻoʻo Expect e hoʻolālā i kahi pty i hoʻohana muaʻia e kekahi mea'ē, e pau. Hoʻopili i ka IRIX 6.1.

ʻO Telnet (i hōʻoiaʻiʻoʻia ma lalo o SunOS 4.1.2) ke kau nei ināʻaʻole i hoʻonohoʻia ke TERM. He pilikia kēia ma lalo o cron, ma a me nā inoa cgi,ʻaʻole i wehewehe i ka TERM. No laila, ponoʻoe e hoʻonohonoho pololei - i keʻano hea ka mea kūponoʻole. Pono e hoʻonohoʻia i kekahi mea! E lawa paha kēia mau mea ma hope o ka nui o nā hihia.

ke holo nei (TERM) vt100

Hoʻopukaʻia (hōʻoiaʻiʻoʻia ma lalo o BSDI BSD / OS 3.1 i386) ke kau nei ināʻaʻole i hoʻonohoʻiaʻo SHELL a me HOME. He pilikia kēia ma lalo o ka cron , ma a me nā hōʻailona cgi , ka mea i weheʻole i kēia mau meaʻokoʻa o ka honua. No laila, ponoʻoe e hoʻonohonoho pololei iā lākou - i kaʻano hea ka mea kūponoʻole. Pono e hoʻonohoʻia i kekahi mea! E lawa paha kēia mau mea ma hope o ka nui o nā hihia.

ʻikeʻia ka manaʻo (SHELL) / bin / sh e pili ana i (HOME) / usr / ka wā / kahi

Hoʻopumuʻia kekahi mau hana o ka ptys i hiki i ka'ōiwi ke hoʻokuʻu aku i kahi puka weheʻole ma hope o 10 a 15 mau kekona (ʻo ka helu maoli e hoʻokōʻia ana) ma hope o ka pauʻana o ke kaʻina hana i ka hoʻopauʻana i ka mea kākau palapala. Pēlā nā papahana hoʻolālā e like me

hala hala 20 manawa

e pau. No ka hōʻoleʻana i kēia, e kāhea i nā polokalamu pāʻoihanaʻole me ka hoʻoholo ma mua o ka paleʻana . ʻOiaiʻo ia mau kūlana eʻikeʻia, ma ka hana,ʻaʻole wau i hālāwai me kahi e hopena ai ka hopena hopena o kahi papahana pili pono ma muli o kēia hana.

I kekahiʻaoʻao'ē aʻe, Cray UNICOS ptys e hoʻolei aku i kahi puka waho i ka manawa ma hope o ka pauʻana o ka palapala i ka paniʻana i ka mea kākau palapala. Ua haʻi aku wau i kēia iā Cray a ke hana nei lākou i kahi pale.

I kekahi manawa, pono ka lōʻihi ma waena o ka wikiwiki a me ka pane, e like me ka hoʻololiʻana o kahi'ānamu tty i nā mea UART a iʻole e like me nā helu i loaʻaʻole ma ka nānāʻana i nā pihi hoʻomaka / kū. ʻO ka mea maʻamau, pono kēia mau mea e hiamoe ai no ka lua aʻelua paha. ʻO kahiʻoihanaʻoi akuʻoi aku ke koʻikoʻi e huli hou a hiki i ka mākaukau o ka lako i ka hoʻokomo. Ke hoʻohana nei kēiaʻano i nā lālāʻelua:

e hoʻouna i "ka hola 9600 \ r"; hiamoe 1 manaʻo {timeout {hoʻouna "\ r"; hōʻeiaEND_LINK} $ huakiʻi '

ʻaʻole e hoʻohanaʻia ka trap -code me kekahi kauoha e noho ana i ka loop loop loop, e like me ka hiamoe. ʻO ka pilikiaʻo ia i ka loop loop, hoʻopiʻiʻo Tcl i nā helu hoʻihoʻi mai nā mea hana mea like me async. ʻO ka hoʻoikaikaʻana e kau i ka hae ma keʻanuʻu pahele. A laila e nānā i ka hae ma hope koke iho o ke kauoha (ie, moe).

Kūleʻa ka papa hope_background-hoʻonana i nā manaʻoiʻole aʻaʻohe manaʻo o ke au o ka wā maʻamau.

& # 34; NĀ HOPE HOU & # 34;

Aia kekahi mau mea e pili ana i ka Manaʻo paha i hikiʻole ke hoʻololi. Ke ho'āʻo nei kēia māhele e hoʻoponopono i kekahi o kēia mau mea me nā manaʻo likeʻole.

ʻO ka manaʻo nuiʻo ka pilikia ka pehea e hōʻoia ai i nā'ōkuhi o ka lolo. Ma muli o ka hoʻohanohanoʻokoʻaʻana o kēia mau mea i nā poʻe'ē a me nā pūpū'ē aʻe, hiki i ka automating rlogin ke paʻakikī me kaʻikeʻole i ka'ōkuhi. ʻO kahi'āpana kūpono e hoʻolako i nā mea hoʻohana i ka'ōlelo maʻamau (e like me ka hopena o ia mea) i ka EXVERCT_PROMPT ākea. Hoʻopukaʻia nā kānāwai e like me kēia. Inā loaʻaʻole EXPECT_PROMPT, hiki i ka wae'āinoa ke kūpono maikaʻi e holo pono.

e hoʻolālā wikiwiki "(% | # | \\ $) $"; # hoʻololi i ka hopena wikiwiki i hoʻonohonohoʻia $ $ (envPECT_PROMPT)} manaʻo

Paipai au iāʻoe e kākau i nā hiʻohiʻona e manaʻoʻia e pili ana i ka hopena o kēlā me kēia mea āu e manaʻo nei eʻike. Hōʻole kēia i ka hiki ke pane i kekahi nīnau ma mua o kaʻikeʻana i ke mea holoʻokoʻa. Eia kekahi,ʻoiai hiki iāʻoe ke pane i nā nīnau ma mua o kaʻikeʻana iā lākou a pau, ināʻoe e pane koke i kāu mau pane, hiki paha i kāu pane ke hoʻihoʻiʻia i waena o ka nīnau. I nā hua'ōlelo'ē aʻe, e pololei ka kūkākūkā i ka hopena ma ka nānāʻana.

ʻO ka hapa nui o nā hua'ōlelo e pili ana i kahi kikowaena i ka hopena. Eia kekahi laʻana,ʻo ka'ōkuhi mai ftpʻo 'f', 't', 'p', '>' a. No ka hoʻohuiʻana i kēia'ōkuhi, ponoʻoe e pilikino no kēlā me kēia mau hua'ōlelo. He kuhi hewaʻole ia e komoʻole ka blank. E kau i ka blank ma ka hōʻike.

Inā hoʻohanaʻoe i keʻano o ka hōʻailona X *, e hoʻohālike ka * * me nā huahana i loaʻa mai ka hopena o X i ka mea hope i loaʻa. Ke kani nei kēia manaʻo akā hiki keʻano kānalua no ka mea hiki ke hoʻololiʻia ka hua'ōlelo "mea hope loa" ma muli o ka wikiwiki o ka lolouila a me ka hanaʻana o I / O ma ka'ōkau a me ka mea hoʻokele pūnaewele.

I keʻano,ʻike nā kānaka i ka pukaʻana o ka papahana ma nā'āpana nui (ʻoiaʻiʻo) i ka manawaʻo ka hapanui o nā papahana hoʻolaha i nā huahana hoʻokahi laina i ka manawa. Ke manaʻo nei pahaʻo ia ka hihia, hiki i ka * ma ke mamana o ka pauku mua e like wale me ka hopena o ka laina i kēia manawa me ka mea e manaʻoʻia he nui aku, no ka mea i ka manawa o ka pāʻani i puka aku i nā huahana i loaʻa.

ʻaʻohe manaʻo e hiki ke hōʻoia e puka mai nā huahana'ē aʻe keʻole kāu kumu kūpono e pili ana.

ʻO ka mea kūponoʻole i ka pānaʻi laina. ʻAʻole wale wale ka hana a nā papahana i nā'ōlelo hoʻohiki e pili ana i keʻano o ka hana a lākou e hana ai, akā, hiki i ka'ōpū o ka pūnaewele ke hōʻoki i nā laina laina i luna a hiki i nā laina i haʻiʻia i nā wahi mehameha. No laila, inā hiki iāʻoe ke ho'ākāka i nā hua hope hope loa o ka wikiwiki i ke kākauʻana i nā'ōnaehana, he mea naʻauao e hana pēlā.

Ināʻoe e kali nei i kahi hoʻolālā i ka hopena hope o kahi papahana a hoʻokuʻu ka papahana i kekahi mea'ē aʻe,ʻaʻoleʻoe eʻike i kēlā me ka hua'ōlelo timeout . ʻO ke kumu o ka manaolanaʻaʻole e hoʻolālā - akā, e loaʻa iā ia kahi hōʻailona keu . E hoʻohana i kēlā ma kahi. ʻO ka maikaʻi aʻe, e hoʻohana i nā meaʻelua. ʻO kēlā ala inā e neʻe ka laina iā ia,ʻaʻoleʻoe e hoʻoponopono i ka laina pono'ī.

Hoʻololi pinepineʻiaʻo Newlines i ka hoʻihoʻiʻana aku i nā kiʻi, nā laina laina i ka manawa e pukaʻia ai e ka mea hoʻokele pahu. No laila, inā makemakeʻoe i kahi kumu e kūlike me nā lainaʻelua, mai,'ōlelo, printf ("foo \ nbar"), ponoʻoe e hoʻohana i ke kumu "foo \ r \ nbar".

Hanaʻia kekahiʻano like me ka heluheluʻana mai ka mea hoʻohana, ma o expect_user . I kēia wā, i kaomiʻana i ka hoʻihoʻi, e unuhiʻia ia i ka newline. Inā makemakeʻo ia e hele i kēlā me kēia papahana e hoʻonoho ana i kāna pahu i kahi hana maʻamau (e like me telnet), e pilikia ana, e like me ka mea e manaʻo nei ka papahana i ka hoʻihoʻi maoliʻana. (ʻO kekahi mau polokalamu he mea hōʻoiaʻiʻo maoli i ka unuhi ponoʻana i nā hua'ōlelo hou i ka hoʻihoʻiʻana, akāʻaʻole ka hapa nui.) Akā,ʻaʻohe mea eʻike ai i ka hoʻolālāʻana o kahi papahana i kahi kūmole.

Ma mua o ka hoʻololi limaʻana i nā hua'ōlelo hou me ka hoʻihoʻiʻana, pono ke hoʻohana i ka hua'ōlelo "stty raw", ka mea e hoʻopau i ka unuhi. E hoʻomaopopo, akā, eia keʻano,ʻaʻoleʻoe e loaʻa hou i nā hiʻohiʻona maʻamau.

pili i ka hoʻonohonoho ponoʻana i kāu pahu i ke kumu alalahi no lailaʻaʻole e hiki i kēia pilikia.

He mea maʻalahi ka mālamaʻana i nā hua'ōlelo (a iʻole nāʻike pilikino'ē aʻe) i nā palapala hōʻokoʻa. ʻAʻole hiki ke hōʻikeʻia kēia no ka mea hiki i kekahi mea ke komo i kekahi mea i mālamaʻia ma kahi kamepiula. No laila,ʻo nā hua'ōlelo pāʻoihana no nā hua'ōlelo mai kahi hōʻailona he manaʻoʻoi aku ka maikaʻi ma mua o ka hoʻopiliʻana iā lākou i ka'ōlelo maoli. Eia kekahi, i kekahi manawaʻo ka hoʻoponoponoʻanaʻo ia wale nō ka hiki.

Akā,ʻo ka pūnaewele pūnaewele UNIXʻaʻole he ala pololei no ka hoʻokumuʻana i nā hōʻailona hiki ke hoʻohanaʻia akāʻaʻole hiki ke heluʻia. ʻO nā pūnaewele e kākoʻo nei i ka hoʻonohonohoʻana i nā palapala shell e hiki ke hoʻohālike i kēia mau mea penei:

E hana i ka palapala hōʻokoʻa (e loaʻa nāʻikeʻikepili) e like me nā mea maʻamau. E hana i kānaʻaeʻana he 750 (-rwxr-x ---) a nona i hoʻohuiʻia e kahi hui hilinaʻi,ʻo ia hoʻi, kahi hui eʻaeʻia e heluhelu. Inā pono, e hoʻokumu i kahi hui no kēia kumuhana. ʻO ka mea'ē aʻe, e hana i kahi kākau / bin / sh me nāʻae 2751 (-rwxr-s - x) i mālamaʻia e ka hui like e like ma mua.

ʻO ka hopena, he hōʻailona hiki ke hana (a heluheluʻia) e kekahi. Ke kāheaʻia, hoʻopukaʻia ka hōʻailona Manaʻo .

& # 34; E nānā iā ALSO & # 34;

Tcl (3), libexpect (3)
"Kaʻimi 'ana i nā mea e makemake ai: kahi pahu hana Tcl-Automated Interactive Programs" na Don Libes, pp. 602, ISBN 1-56592-090-2, O'Reilly a me nā Associates, 1995.
"Manaʻo: Hoʻoponopono i nā Manaʻo Manaʻoʻole o ka Interactivity" na Don Libes, Nā Hana o ke Kauwela 1990ʻO ka USENIX Conference, Anaheim, Kaleponi, Iune 11-15, 1990.
I "Ka hoʻohana ' ana i ka manaolana no nā' oihana lawelawe 'Āinaʻokoʻa" na Don Libes, Nā kaʻina o ka 1990ʻO ka USENIX Hōʻike Manawai Hōʻoia Mokupuni, Colorado Springs, Colorado,ʻOkakopa 17-19, 1990.
I "Tcl: He'Ōlelo Hoʻopiʻi Kuleana" na John Ousterhout, Nā Hana o ka Hala 1990 1990ʻAmelika Hui PūʻIa, Washington, DC, Ianuali 22-26, 1990..I "manaolana: Nā hōʻikuhi no ka hoʻoponoponoʻana i nā polokalamu pāʻoihana" na Don Libes, Computer Computing Systems , Vol. 4, No. 2, Ke Kulanui o Kaleponi Press Journals, Noemapa 1991.I "Ke Kauoha Hōʻoiaʻiʻo a me nā Hoʻohālikelike Hoʻohālikelika Hoʻohālikelike", na Don Libes, Nā Hana o ka Haʻawina 1992'Ala'ōlelo USENIX, pp 135-144, San Antonio, TX, ʻO Iune 12-15, 1992..I "Kibitz - Kāhui Pūnaewele Pākahi Hui Pūnaewele", na Don Libes, Software - Practice & Experience, John Wiley & Sons, West Sussex, England, Vol.

23, No. 5, Mei, 1993..I "He Debugger no nā noiʻo Tcl", na Don Libes, Nā Hana o ka 1993 Tcl / Tk Workshop, Berkeley, CA, Iune 10-11, 1993.

AUTHOR

ʻO Don Libes, National Institute of Standards and Technology

ACKNOWLEDGMENTS

Mahalo iā John Ousterhout no Tcl, a me Scott Paisley no ka hoʻouluʻana. Mahalo iā Rob Savoye no ka'ōkuhi autoconfiguration mō Expect.

Hiki i nā waihona palapala HISTORY keʻano nui o ka loli o ka manaʻo . Hiki i ka heluhelu heluhelu heluhelu a hāʻawi paha iāʻoe i kaʻike hou i kēia polokalamu. Mahalo i nā poʻe i haʻiʻia ma loko o ka mea nāna i hoʻouna mai iaʻu i nā kikooho pākī a hāʻawi i kekahi kōkua.

Hoʻonohonohoʻia a hoʻokōʻana o ka manaʻolana i ukuʻia no kekahi hapa e ke aupuni US a no laila aia ma ka pā aupuni. Eia naʻe ka makemake o ka mea kākau a me ka NIST i ke kālā inā e hoʻohanaʻia kēia polokalamu a me nā palapala a me nā'āpana paha o ia mau mea.