Reti ni eto ti o sọrọ si awọn eto ibaraẹnisọrọ miiran gẹgẹbi iwe-akọọlẹ kan. Tẹle akosile naa, Nireti mọ ohun ti a le reti lati eto kan ati ohun ti o yẹ ki o yẹ. Ede ede ti a tumọ funni n pese awọn iṣakoso ile-iṣẹ ati awọn ipele ti o gaju lati ṣe itọsọna ni ajọṣọ. Ni afikun, olumulo le gba iṣakoso ati ṣepọ taara nigbati o fẹ, lẹhinna pada si iṣakoso akosilẹ.
Ireti ni adalu ti Nreti ati Tk. O huwa bi ireti Ireti ati Tk. Reti le tun lo ni taara ni C tabi C ++ laisi Tcl.
Orukọ naa "Nireti" wa lati inu imọran ti firanṣẹ / reti awọn abajade ti o ni iyipada nipasẹ uucp, kermit ati awọn eto iṣakoso modẹmu miiran. Sibẹsibẹ laisi uucp, Ireti ti wa ni ti o ṣawari ti o le ṣee ṣiṣe bi aṣẹ-aṣẹ olumulo pẹlu eyikeyi eto ati iṣẹ ni lokan. Reti le sọrọ si awọn eto pupọ nigbakanna.
Ohun ti o reti le ṣe
Fun apere, nibi ni diẹ ninu awọn ohun aṣẹ aṣẹ ti o le ṣe:
- Ṣe kọmputa rẹ lati tẹ ọ pada, ki o le wọle lai sanwo fun ipe naa.
- Bẹrẹ ere kan ati ti iṣeto ti aifọwọyi ko han, tun bẹrẹ lẹẹkansi ati lẹẹkansi) titi yoo fi ṣe, lẹhinna fi ọwọ si ọ.
- Ṣiṣe fsck , ati ni idahun si awọn ibeere rẹ, dahun "bẹẹni" tabi "Bẹẹkọ" tabi fi aṣẹ fun ọ pada, da lori awọn ilana ti a ti yan tẹlẹ.
- Sopọ si nẹtiwọki miiran ki o gba imeeli rẹ laifọwọyi lati jẹ ki o han bi o ti firanṣẹ ni akọkọ si eto agbegbe rẹ.
- Mu awọn iyipada ayika, igbasilẹ ti isiyi, tabi eyikeyi iru alaye ni agbegbe rlogin, telnet, sample, su , tabi chgrp
Orisirisi awọn idi ti idiyele ko le ṣe awọn iṣẹ-ṣiṣe wọnyi. Gbogbo wa ṣee ṣe pẹlu ireti.
Ni gbogbogbo, Nireti jẹ wulo fun ṣiṣe eyikeyi eto ti o nilo ibaraenisọrọ laarin eto ati olumulo. Gbogbo ohun ti o ṣe pataki ni pe ibaraenisọrọ le wa ni sisọpọ pẹlu eto eto. Reti le tun ṣe atunṣe iṣakoso si olumulo lai ṣe opin eto naa ni iṣakoso. Bakan naa, olumulo le tun iṣakoso si akosile nigbakugba.
Lilo
Reti Imọ cmdfile fun akojọ ti awọn ofin lati ṣe. Ireti ni a le pe ni pipe lori awọn ọna ṣiṣe ti o ṣe atilẹyin fun #! iwifunni nipa sisamisi iwe-akọọlẹ gege bi iṣẹ ati ṣiṣe ila akọkọ ninu akosile:
#! / usr / agbegbe / oniyika / reti -fDajudaju, ọna naa gbọdọ ṣe apejuwe daradara ni ibi ti Nbẹti aye. / usr / agbegbe / oniyika jẹ apẹẹrẹ kan.
Awọn -c flag ṣafihan aṣẹ kan lati ṣe ṣaaju ki o to eyikeyi ninu akosile. O yẹ ki a sọ pe aṣẹ naa yẹ ki a ṣe idiwọ nipasẹ ikarahun naa. Aṣayan yii le ṣee lo ni igba pupọ. Awọn ofin pupọ ni a le pa pẹlu kan -c nipa yiya wọn pẹlu semicolons. Awọn pipaṣẹ ṣe paṣẹ ni aṣẹ ti wọn han. Nigbati o ba nlo Expectk, aṣayan yii ni a ṣe alaye bi -command.
Ilana -dd naa n ṣe iranlọwọ fun awọn iṣẹ aisan, eyi ti o ni iṣeduro ṣe iṣeduro ṣiṣe ti abẹnu ti awọn ofin gẹgẹbi reti ati ibaraẹnisọrọ. Flag yii ni ipa kanna gẹgẹ bi "exp_internal 1" ni ibẹrẹ ti iwe afọwọsi Nbẹti, pẹlu ẹya ikede Iduro ni ikede.
Ilana -DD jẹ ki n ṣatunṣe aṣiṣe ibanisọrọ. Iye nọmba kan yẹ ki o tẹle. Oluṣamuro naa yoo gba iṣakoso ṣaaju iṣaaju Tcl ti o ba jẹ pe kii jẹ iye-kii tabi ti a ba tẹ C tabi ti o ba ṣẹgun, tabi awọn ohun elo miiran ti n ṣatunṣe aṣiṣe han ninu akosile. Nigbati o ba nlo Expectk, yi aṣayan ti wa ni pato bi - Debug.
Awọn -f flag ṣaju faili lati eyi lati ka awọn ofin. Flag tikararẹ jẹ aṣayan nitori o wulo nikan nigba lilo #! akọsilẹ, ki awọn ariyanjiyan miiran le wa ni laini aṣẹ. Nigbati o ba nlo Expectk, aṣayan yi wa ni bi -file.
Nipa aiyipada, faili kika ni a ka sinu iranti ati pa ni gbogbo rẹ. O jẹ igba diẹ wuni lati ka awọn faili laini kan ni akoko kan. Lati lo awọn faili alailẹgbẹ lati ṣe itọsọna ni ọna yii, lo -b flag. Nigbati o ba nlo Expectk, aṣayan yii ni a pato bi -affer.
Ti okun "-" ti pese bi orukọ faili kan, a ti ka kika titẹsi dipo. Lo "./-" lati ka lati faili kan ti a npe ni "-".
Awọn -i Flag fa Ireti lati ṣe ibaraẹnisọrọ ni kiakia fun awọn ofin dipo kika wọn lati faili kan. Iduro ni opin nipasẹ aṣẹ aṣẹ-jade tabi lori EOF. Ti a ṣe akiyesi Flag-ti o ba jẹ pe a ko lo faili faili tabi -c. Nigbati o ba nlo Expectk, aṣayan yi wa ni bi-ibanisọrọ.
- le ṣee lo lati ṣe idinku opin awọn aṣayan. Eyi jẹ wulo ti o ba fẹ ṣe ipinnu aṣayan-bi-akọsilẹ rẹ lai ṣe itumọ rẹ nipasẹ Nireti. Eyi le ṣee lo ni #! laini lati dènà itumọ eyikeyi ti Flaglike nipasẹ Ireti. Fun apẹẹrẹ, awọn atẹle yoo fi awọn ariyanjiyan atilẹba ti o wa pẹlu orukọ akosile silẹ ninu argv ayípadà.
#! / usr / agbegbe / oniyika / reti -Ṣe akiyesi pe awọn isopọmọ to ṣe deede (3) ati awọn iṣẹlẹ (2) ni a gbọdọ šakiyesi nigbati o ba fi awọn ariyanjiyan si #! laini.
Faili $ exp_brarybrary / expect.rc ti wa ni ita laifọwọyi nigbati o ba wa, ayafi ti o ba lo -N flag. (Nigbati o ba nlo Ibere, aṣayan yii ni a sọ gẹgẹbi -NORC.) Lẹsẹkẹsẹ lẹhin eyi, faili ~ / .expect.rc ti jade ni aladani, ayafi ti a ba lo aami-ori. Ti o ba jẹ alaye DOTDIR ayika ayika, a tọju rẹ bi itọsọna ati .expect.rc ti a ka lati ibẹ. Nigbati o ba nlo Expectk, yi aṣayan ti wa ni pato bi -norc. Yiyọ-sisẹ yii waye lẹhin igbati o ṣe awọn ami -c nikan.
-v fa Nireti lati tẹ sita nọmba rẹ ati jade kuro. Bọọlu ti o fẹrẹ ni Expectk, eyi ti o nlo awọn orukọ pipẹ pipọ, jẹ -version.
A ṣe awọn ohun elo ti a yan ni akojọ kan ati ti a fipamọ sinu ayípadà ti a npè ni argv ati. argc ti bẹrẹ si ipari ti argv.
Argv0 ti wa ni orukọ lati jẹ orukọ ti akosile tabi alakomeji ti ko ba jẹ akosile. Fun apẹẹrẹ, awọn wọnyi tẹ jade orukọ orukọ akosile ati awọn ariyanjiyan mẹta akọkọ:
send_user "$ argv0 [lrange $ argv 0 2] \ n"Awọn aṣẹ
Nireti lo Orilẹ-ede aṣẹ Ọṣẹ. Tcl pese iṣakoso iṣakoso (ti o ba jẹ, fun, adehun), igbekalẹ ikosile ati awọn ẹya ara ẹrọ miiran bii iyipada atunkọ ati ilana. Awọn ofin ti a lo nibi ṣugbọn kii ṣe alaye (ṣeto, ti o ba ti, exec) ni awọn ofin Tcl. Reti ni atilẹyin awọn afikun awọn ofin. Ayafi ti bibẹkọ ti o wa ni pato, awọn aṣẹ pada okun okun ti o ṣofo.
Awọn ofin ni a ṣe akojọ lẹsẹsẹ ki wọn le wa ni kiakia. Sibẹsibẹ, awọn olumulo titun le rii pe o rọrun lati bẹrẹ nipa kika awọn apejuwe ti spawn, fi ranṣẹ, reti, ati ṣe ajọṣepọ, ni aṣẹ naa.
sunmọ [-slave] [-onexec 0 | 1] [-i spawn_id]ti pa asopọ pọ si ilana lọwọlọwọ. Ọpọlọpọ awọn eto ibanisọrọ yoo ri EOF lori wọn stdin ati jade; bayi sunmo maa nni lati pa ilana naa daradara. Awọn -a Flag sọ ilana lati pa bamu si spawn_id ti a npè ni.
Awọn mejeeji reti ati ibaraenisọrọ yoo ri nigba ti ilana lọwọlọwọ n jade lọ si igbẹkẹle, ṣugbọn ti o ba pa ilana naa nipasẹ, sọ, "exec kill $ pid", o nilo lati pe pipe .
Iwọn -onexec ṣe ipinnu boya idaniloju spawn ti wa ni pipade ni awọn ilana titun ti a ti yọ kuro tabi ti o ba ti pa ilana naa. Lati lọ kuro ni ṣiṣafihan spawn, lo iye 0. Awọn ọmọ ogun oni nọmba alaiṣe kii kii-odo ni awọn oju-aye ti a pari ni awọn ilana titun.
Flag-assalamu ti pari ile-ọdọ ti o ni nkan ṣe pẹlu idamọ spawn. Nigbati asopọ naa ti wa ni pipade, a ti pa ọdọ naa mọ laifọwọyi bi o ba ṣi ṣi silẹ.
Paapa boya asopọ ti wa ni pipade ni ifijiṣẹ tabi kedere, o yẹ ki o pe idaduro lati pa awọn ilana ilana ekuro to bamu. Atilẹyin aṣẹ ko pe ni idaduro niwon ko si ẹri pe pipin asopọ asopọ yoo fa ki o jade.
debug [[-now] 0 | 1]Ṣakoso kan Tbubububu gbigba ti o jẹ ki o ṣe agbekalẹ nipasẹ awọn gbolohun ki o si ṣeto awọn idiwọ.
Pẹlu laisi awọn ariyanjiyan, a pada si 1 ti o ba ti aṣoju naa ko ṣiṣẹ, bibẹkọ ti a ti pada 0 kan.
Pẹlu ariyanjiyan 1, a ti bẹrẹ aṣoju naa. Pẹlu ariyanjiyan 0, a ti da aṣoju naa duro. Ti iṣaro ariyanjiyan ti ṣaju nipasẹ asẹ-ori, asan ni a bẹrẹ lẹsẹkẹsẹ. Bibẹkọkọ, a ti bẹrẹ aṣoju naa pẹlu gbólóhùn Tcl tókàn.
Ipese aṣoju naa ko yi eyikeyi ẹgẹ. Ṣe afiwe eyi lati bẹrẹ Nireti pẹlu aami -D.
Iṣẹ pipin naa pin asopọ ilana ti a dari lati inu ebute naa . O tesiwaju nṣiṣẹ ni abẹlẹ. Ilana naa ni a fun ẹgbẹ ẹgbẹ tirẹ. I / O ti ṣe atokuro si / dev / null .
Kukii yii lo isopọ lati tẹsiwaju nṣiṣẹ ni akosile ni ẹhin.
ti {{fork]! = 0} jade lọ kuro. . .Awọn akosile wọnyi ti ka ọrọ igbaniwọle kan ati lẹhinna gba eto ṣiṣe ni gbogbo wakati ti o nbeere ki ọrọ igbaniwọle ni igbakugba ti o ba n ṣiṣe. Awọn akosile n pese ọrọigbaniwọle ki o ni lati tẹ lẹẹkanṣoṣo.
send_user "password? \" expect_user -re "(. *) \ n" fun {} 1 {} {ti {{fork]! = 0} {orun 3600; tesiwaju} ge asopọ spawn priv_prog reti Ọrọigbaniwọle: firanṣẹ "$ expect_out ( 1, okun) \ r ". . . Jade }Anfaani lati lo ge asopọ lori iṣiro asynchronous ilana (&) ni pe O reti le fi awọn ifilelẹ awọn ebute ṣaju iṣeduro ati lẹhinna lo o lo wọn si awọn ptys tuntun. Pẹlu &, Nireti ko ni anfani lati ka awọn ipinnu ebun naa niwon ti ebute ti ge asopọ tẹlẹ nipasẹ akoko Ti o ni ireti gba iṣakoso.
jade kuro [-opts] [ipo]fa Rii lati jade tabi bibẹkọ ti mura lati ṣe bẹ.
Awọn Flag -onexit Flag mu ki ariyanjiyan to wa lẹhin ti a lo gẹgẹbi oluṣakoso njade. Lai si ariyanjiyan, a ti pada olutọka ti n jade lọwọlọwọ.
Iwọn -noexit flag ṣe N ni ireti lati mura lati jade ṣugbọn duro ni opin ti iṣakoso pada si ẹrọ eto. Olutọju apẹẹrẹ ti a ti ṣaṣe olumulo ti n ṣakoso ni ṣiṣe bi daradara bi Awọn olutọju ọwọ ti ara rẹ. Ko si siwaju Nireti awọn aṣẹ yẹ ki o pa. Eyi jẹ wulo ti o ba n ṣiṣẹ Nireti pẹlu awọn ilọsiwaju Tcl miiran. Onitumọ onkọwe (ati window akọkọ ti o ba wa ni ayika Tk) wa ki awọn afikun TL miiran le di mimọ. Ti o ba ti jade kuro ni ireti lẹẹkansi (sibẹ eyi le ṣẹlẹ), awọn olutọka naa ko ni tun pada.
Nigbati o ba njade, gbogbo awọn isopọ si awọn ilana ti a fi silẹ ti wa ni pipade. Iṣipade yoo wa ni a ri bi EOF nipasẹ awọn ilana ti a fi aye silẹ. jade kuro ko si awọn iṣe miiran ju eyiti ilana ilọsiwaju deedee (2) ṣe. Bayi, awọn ilana ti a ko niye ti ko ṣayẹwo fun EOF le tẹsiwaju lati ṣiṣe. (Ọpọlọpọ ipo ni o ṣe pataki lati ṣe ipinnu, fun apẹẹrẹ, awọn ifihan agbara kan ti a fi silẹ ni yoo firanṣẹ, ṣugbọn awọn wọnyi jẹ igbẹkẹle ti o gbẹkẹle, ti a ṣe akọsilẹ ni deede labẹ ipade (3).) Awọn ilana ti o tẹsiwaju ti o tẹsiwaju lati ṣiṣe ni yoo jogun nipasẹ init.
ipo (tabi 0 ti ko ba han) ti pada bi ipo ipade ti Nireti . jade kuro ni ifijiṣẹ ti o ba jẹ opin ti akosile naa.
exp_continue [-continue_timer]
Awọn exp_continue aṣẹ naa n reti ara lati tẹsiwaju ṣiṣe ni kipo ju pada bi o ti ṣe deede. Nipa aiyipada exp_continue tunto akoko aago. Aami -continue_timer ṣe idiwọ aago lati tun bẹrẹ. (Wo reti fun alaye siwaju sii.)
exp-jinlẹ [-f faili]
n fa awọn ofin siwaju sii lati fi alaye iwifunni ti o wa ninu inu rẹ silẹ ni ireti si stderr ti o ba jẹ iye kii kii kii jẹ odo. Aṣejade yii jẹ alaabo ti o ba jẹ iye 0. Alaye idanimọ naa pẹlu gbogbo ohun kikọ ti a gba, ati gbogbo igbiyanju ti a ṣe lati baamu iṣiṣi lọwọlọwọ lodi si awọn ilana.
Ti o ba ti pese faili ti o yan, gbogbo iṣẹ ti o jẹ deede ati ti n ṣatunṣe aṣiṣe ni a kọ si faili naa (laiwo iye iye ti iye ). Eyikeyi faili ti a ṣe ayẹwo ayẹwo aisan ti wa ni pipade.
Aami-- info jẹ ki exp_internal pada si apejuwe awọn ariyanjiyan ti kii ṣe alaye ti aarin julọ ti a fifun.
exp_open [args] [-i spawn_id]
tun pada idanimọ faili Tcl kan ti o ni ibamu si idinfimọ ti o wa ni atilẹba. Oluṣakoso faili naa le ṣee lo bi ẹnipe Open Tcl ti ṣii silẹ. (Ayẹwo spawn id ko yẹ ki o tun lo. A duro ko yẹ ki o pa.
Awọn -leaveopen flag fi oju awọn spawn id ṣii fun wiwọle nipasẹ N reti awọn aṣẹ. A duro gbọdọ wa ni paṣẹ lori idin spawn.
exp_pid [-i spawn_id]
n pada ilana id ti o baamu si ilana ti a fi aye silẹ lọwọlọwọ. Ti o ba ti lo o-flag naa, adi pada wa ni ibamu si ti idamọ spawn ti a fifun.
exp_send
jẹ itọkasi fun firanṣẹ .
exp_send_error
jẹ aliasi kan fun send_error .
exp_send_log
jẹ aliasi kan fun send_log .
exp_send_tty
jẹ aliasi kan fun send_tty .
exp_send_user
jẹ aliasi kan fun send_user .
exp_version [[-exit] version]
jẹ wulo fun idaniloju pe akosile jẹ ibaramu pẹlu ẹyà ti isiyi ti Nreti.
Pẹlu laisi awọn ariyanjiyan, ẹya ti ikede ti isiyi ti wa ni pada. Ẹya yii le jẹ koodu aiyipada ninu akosile rẹ. Ti o ba mọ pe o ko lo awọn ẹya ara ẹrọ ti awọn ẹya to ṣẹṣẹ, o le ṣafihan ẹya ti o ti kọja.
Awọn ẹya ni awọn nọmba mẹta ti a yapa nipasẹ awọn aami. Akọkọ jẹ nọmba pataki. Awọn iwe afọwọkọ ti a kọ fun awọn ẹya ti N reti pẹlu nọmba pataki miiran yoo fẹrẹẹjẹ ko ṣiṣẹ. exp_version ba pada ni aṣiṣe ti awọn nọmba pataki ko baramu.
Keji ni nọmba kekere. Awọn iwe afọwọkọ ti a kọ fun ikede pẹlu nọmba ti o tobi ju ti ilọsiwaju lọ le dale lori diẹ ninu ẹya tuntun ati pe o le ma ṣiṣe. exp_version ba pada ni aṣiṣe ti awọn nọmba pataki baamu, ṣugbọn oṣuwọn akosile kekere ti o tobi ju eyi ti Nṣiṣẹti Nṣiṣẹ lọ.
Kẹta jẹ nọmba kan ti ko ni apakan ninu titowe ti iru. Sibẹsibẹ, o ti wa ni afikun nigba ti a ba ti pinpin iṣakoso software ni eyikeyi ọna, bii nipasẹ awọn iwe afikun tabi iṣapeye. O tun ti tun ṣe si 0 lori oriṣi tuntun ti ikede.
Pẹlu aami -exit , Nireti tẹjade aṣiṣe kan ati jade kuro ti ikede naa ba ti ni ọjọ.
reti [[-opts] pat1 body1] ... [-opts] patn [ara]
duro titi ti ọkan ninu awọn apẹẹrẹ ṣe afihan awọn iṣẹ ti ilana ti a fi aye silẹ, akoko ti a ti ṣafihan ti kọja, tabi ti fi opin si faili kan. Ti ara ikẹhin ba ṣafo, o le fa.
Awọn awoṣe lati aṣẹ ti o ṣe pataki julọ fun expect_before ni a lo fun lilo ni kikun ṣaaju ki awọn ilana miiran. Awọn awoṣe lati ibi-aṣẹ ti o ṣe laipe diẹ lẹhinna ni a lo pẹlu lilo lẹhin awọn ilana miiran.
Ti awọn ariyanjiyan si gbogbo alaye ti o nireti nilo diẹ ẹ sii ju ọkan lọ, gbogbo awọn ariyanjiyan le jẹ "braced" sinu ọkan ki o le yago fun diduro laini kọọkan pẹlu igbẹhin. Ninu ọran yii, awọn iṣeduro Tcl ti o wọpọ yoo waye pelu awọn àmúró.
Ti apẹẹrẹ jẹ koko-ọrọ koko , a ti pa iru ti o baamu lori faili ipari. Ti apẹrẹ kan jẹ akoko isokọkọ ọrọ, a ti pa iru ti o baamu naa lori akoko isokuro. Ti ko ba ti lo ọrọ-ori akoko to, a ṣe iṣẹ ti o nṣiṣehan ti o ṣe lori akoko-akoko. Akoko akoko idaduro jẹ 10 aaya ṣugbọn o le ṣeto, fun apẹẹrẹ si 30, nipasẹ aṣẹ "ṣeto akoko isanwo 30". Ipese akoko ailopin le jẹ ami nipasẹ iye -1. Ti apẹẹrẹ kan jẹ aiyipada aifọwọyi , ara ti o baamu ni a ṣe lori boya akoko isanwo tabi faili ipari.
Ti apẹẹrẹ baamu, lẹhinna o ti papo ara rẹ. reti reti abajade ara (tabi okun ti o ṣofo ti ko ba si ilana ti o baamu). Ti o ba jẹ pe ọpọlọpọ awọn ipele baamu, ọkan ti o han akọkọ ti lo lati yan ara kan.
Nigbakugba ti ọda titun ba de, a fiwewe si awoṣe kọọkan ni aṣẹ ti wọn ṣe akojọ. Bayi, o le ṣe idanwo fun isansa ti baramu nipasẹ ṣiṣe ohun elo ti o gbẹkẹle ti o ni idaniloju lati han, gẹgẹbi aigọwọ. Ni awọn ipo ibi ti ko si ẹ sii, o gbọdọ lo akoko isanwo (bii iwọ yoo ṣe bi o ba n ṣepọ pẹlu ọwọ).
Awọn ọna-ara ti wa ni pato ni awọn ọna mẹta. Nipa aiyipada, awọn ilana ti wa ni pato gẹgẹbi aṣẹ TCI ti o ni ibamu pẹlu akọ. (Awọn iru awọn ilana naa tun jẹ C-shell deede awọn igbagbogbo ti wọn n pe ni awọn "agbaye" awọn ilana). Awọn Flag-flag le ṣee lo lati dabobo awọn ilana ti o le ṣe awọn ti o baamu awọn aṣoju afojusọna lati ṣe bẹ. Eyikeyi apẹrẹ ti o bẹrẹ pẹlu "-" yẹ ki o ni aabo ni ọna yii. (Gbogbo awọn gbolohun ti o bẹrẹ pẹlu "-" ti wa ni ipamọ fun awọn aṣayan iwaju.)
Fún àpẹrẹ, fáìlì tó wàyí n ṣafẹsí ìtẹsíwájú àṣeyọrí. (Akiyesi pe abort ti wa ni pe o jẹ ilana ti a sọ ni ibomiiran ninu iwe-akọọlẹ.)
reti {o nšišẹ {fi o nšišẹ \ n; exp_continue} abort timeout abort linked}Awọn ọrọ jẹ pataki lori ilana kẹrin nitoripe o ni aaye kan, eyiti yoo jẹ ki o ya awọn ilana naa kuro ni iṣẹ naa. Awọn apẹẹrẹ pẹlu iṣẹ kanna (gẹgẹbi awọn 3rd ati 4th) nilo kikojọ awọn iṣẹ lẹẹkansi. Eyi le nigo fun lilo awọn ilana ti a fi oju ara rẹ han (wo isalẹ). Alaye diẹ sii lori dida awọn aṣa-ara-ara ni a le rii ninu iwe itọnisọna Tcl.
Awọn ilana aṣeyọri ti o tẹle ilana ti a ti sọ nipa Tcl's regexp (kukuru fun "ikosilẹ deede") aṣẹ. A ṣe awọn ilana ti a fi oju ṣe pẹlu ọkọ- ọṣọ . Apẹẹrẹ ti tẹlẹ le ṣe atunkọ pẹlu lilo a regexp bi:
reti {o nšišẹ {fi o nšišẹ \ n; exp_continue} -e "ti kuna | aṣiṣe aṣiṣe" abort timeout abort connected}Orisi awọn ẹya ara ẹrọ mejeeji jẹ "unanchored". Eyi tumọ si pe awọn ilana ko ni lati baramu gbogbo okun, ṣugbọn o le bẹrẹ ati mu opin baramu nibikibi ninu okun (bi igba ti ohun gbogbo baamu). Lo ^ lati ṣe ibamu si ibẹrẹ ti okun, ati $ lati baramu opin. Akiyesi pe ti o ko ba duro de opin okun, awọn idahun rẹ le mu awọn iṣọrọ dopin ni arin okun naa bi a ti sọ wọn lati inu ilana ti a fi aye silẹ. Lakoko ti o n ṣi awọn esi to tọ, oṣiṣẹ le wo ohun ajeji. Bayi, lilo ti $ ti wa ni iwuri ti o ba le ṣe apejuwe awọn ohun kikọ ni opin okun.
Akiyesi pe ninu ọpọlọpọ awọn olootu, awọn ^ ati $ baramu ibẹrẹ ati opin awọn ila ni ẹgbẹ. Sibẹsibẹ, nitori pe ireti kii ṣe ila-ila, awọn lẹta wọnyi ni ibamu pẹlu ibẹrẹ ati opin data (ti o lodi si awọn ila) ni akoko yii ni idaduro ti o baamu ibamu. (Bakannaa, wo akọsilẹ ti o wa ni isalẹ lori "eto idoti.")
Awọn aami -ex-fọọmu naa n mu ki apẹrẹ naa baamu bi okun "gangan". Ko si itumọ ti *, ^, ati bẹbẹ lọ (biotilejepe awọn apejọ Tcl ti o ṣe deede ni a gbọdọ riiyesi). Awọn apejuwe gangan jẹ nigbagbogbo unanchored.
Ilana -kọja nfa awọn lẹta ti o ga julọ lati ṣe afiwe bi ti wọn jẹ awọn lẹta kekere. A ko ni fọwọsi apẹẹrẹ naa.
Lakoko ti o ba nka iwe, diẹ ẹ sii ju awọn adie 2000 le ṣe ipa awọn atẹhin iwaju lati "gbagbe". Eyi le ṣee yipada pẹlu iṣẹ match_max . (Akiyesi pe awọn iye ti o tobi ju ti lọ pọ le fa fifalẹ awọn apẹẹrẹ elo.) Ti o ba jẹ pe patlist jẹ full_buffer , a ti pa iru ti o baamu ti a ba gba awọn octets match_max ati pe awọn ilana miiran ti baamu. Boya tabi kii ṣe lo ọrọ-ọrọ kikun_buffer , awọn kikọ ti o gbagbe ni a kọ si expect_out (saaju).
Ti patlist ba jẹ asan ọrọ-ọrọ, ti a si gba awọn alaiṣẹ laaye (nipasẹ aṣẹ aṣẹ remove_nulls ), a ti pa iru ti o baamu naa bi o ba jẹ pe ASCII kan nikan ti baamu. O ṣe ko ṣeeṣe lati ṣe awọn oṣuwọn 0 nipasẹ ọna agbaye tabi awọn ilana atunṣe.
Ni ibamu si apẹẹrẹ kan (tabi apẹẹrẹ tabi kikun_buffer), eyikeyi ti o baamu ati iṣẹ ti ko ni idi tẹlẹ ti wa ni fipamọ ni apo expect_out (paarẹ) . Titi di 9 awọn ere-kere sẹhin ti wa ni fipamọ ni awọn expect_out variables (1, okun) nipasẹ expect_out (9, okun) . Ti o ba lo awọn aami -indices ṣaaju ki o to idiwọn, awọn aami ti o bere ati ipari (ni fọọmu ti o dara fun lrange ) ti awọn gbolohun mẹẹdogun 10 ti wa ni ipamọ ni expect_out (X, bẹrẹ) ati expect_out (X, opin) nibi ti X jẹ Nọmba, ṣe deede si aaye ipo gbigbe ni fifa. 0 tọka si awọn gbolohun ti o baamu gbogbo ilana ati ti a ṣe fun awọn ilana agbaye ati awọn apẹrẹ ti o tun fi han. Fun apẹẹrẹ, ti ilana kan ba ti ṣe oṣiṣẹ ti "abcdefgh \ n", abajade ti:
reti "CD"jẹ bi ti awọn gbolohun wọnyi ti paṣẹ:
ṣeto expect_out (0, okun) Cd ṣeto expect_out (fi saarin) abcdati "efgh \ n" ti wa ni osi ni apo mimu ọja. Ti ilana kan ba ṣejade iṣẹ "abbbcabkkkka \ n", abajade ti:
awọn ifura-ireti -re "b (b *). * (k +)"jẹ bi ti awọn gbolohun wọnyi ti paṣẹ:
ṣeto expect_out (0, opin) 1 ṣeto expect_out (0, opin) 10 ṣeto expect_out (0, okun) bbbcabkkkk ṣeto expect_out (1, bẹrẹ) 2 ṣeto expect_out (1, opin) 3 set expect_out (1, string) bb set expect_out (2, bẹrẹ) 10 ṣeto expect_out (2, opin) 10 ṣeto expect_out (2, okun) k ṣeto expect_out (saaarin) abbbcabkkkkati "a \ n" ti wa ni osi ni apo mimu ọja. Àpẹẹrẹ "*" (ati -re ". *") Yoo mu apamọwọ ọja jade lai ka eyikeyi eyikeyi ti o wu jade lati inu ilana naa.
Ni deede, a ti yọ asayan ti o baamu pọ lati Wọti awọn iṣọ inu inu. Eyi ni a le ni idaabobo nipasẹ fifi ami si apẹẹrẹ pẹlu aami -isi-ọṣẹ . Flag yi wulo julọ ni idanwo (ati pe a le fi opin si "-not" fun igbadun nigba ti o n ṣe ayẹwo).
Aṣa spawn ti o ni nkan ṣe pẹlu idọpọ ti o baamu (tabi eof tabi full_buffer) ti wa ni fipamọ ni expect_out (spawn_id) .
Iwọn akoko -timeout fa ofin ti o n reti lọwọlọwọ lati lo iye to telẹ gẹgẹbi akoko isokuro dipo lilo iye ti iyipada akoko.
Nipa aiyipada, awọn ọna ti o baamu si oṣiṣẹ lati ilana lọwọlọwọ, ṣugbọn o jẹ pe -wọ Flag sọ pe iyasọtọ lati inu akojọ ti spawn_id ti a npè ni ibamu si awọn ilana to tẹle (titi di atẹle -i ). Awọn akojọ spawn_id yẹ ki o jẹ oju-aye funfun ti a yàtọ ti spawn_ids tabi iyipada ti o tọka si iru akojọ ti spawn_ids.
Fún àpẹrẹ, àpẹrẹ tó dúró fún "ti sopọ" láti ìlànà lọwọlọwọ, tàbí "o ṣiṣẹ", "ti ṣubú" tàbí "ọrọ aṣínà àìmọ" láti spawn_id tí a dárúkọ rẹ nípa $ proc2.
reti {-i $ proc2 o ṣiṣẹ [fi o nšišẹ \ n; exp_continue} -e "ti kuna | aṣiṣe aṣiṣe" abort timeout abort connected}Awọn iye ti iyipada agbaye ti eyikeyi_spawn_id le ṣee lo lati ṣe afiwe awọn aṣa si eyikeyi awọn spawn_ids ti a daruko pẹlu gbogbo awọn iyokii -i ni pipaṣẹ ti n bẹ lọwọlọwọ. Awọn spawn_id lati a -i Flag ti ko ni apẹrẹ ti o ni nkan (ie, tẹle lẹsẹkẹsẹ nipasẹ miiran -i ) ti wa ni ibamu si awọn ilana miiran ni aṣẹ kanna ti o ni nkan ṣe pẹlu any_spawn_id.
Awọn-Flag le tun darukọ iyipada agbaye kan ninu eyi ti a ṣe ka ayípadà fun akojọ awọn spawn ids. Oniyipada naa wa ni atunka nigbakugba ti o ba yipada. Eyi pese ọna kan ti yiyipada orisun I / O nigba ti aṣẹ wa ni ipaniyan. Awọn id idasilẹ ti a pese ni ọna yii ni a npe ni "awọn aiṣedeede" awọn idaniloju spawn ids.
Awọn iṣẹ bi fifalẹ ati tẹsiwaju fa awọn iṣakoso iṣakoso (ie, fun , proc ) lati huwa ni ọna deede. Awọn exp_continue aṣẹ naa n reti ara lati tẹsiwaju ṣiṣe ni kipo ju pada bi o ti ṣe deede.
Eyi jẹ wulo fun yiyọ fun awọn losiwajulosehin kedere tabi awọn asọtẹlẹ afojusun. Apẹẹrẹ ti o tẹle yii jẹ apakan ti iṣiro lati ṣakoso awọn rlogin. Exp_continue yẹra lati kọ akọsilẹ idaniloju keji (lati wo itọsọna lẹẹkan sii) ti o ba jẹ pe rlogin n fun ọrọ igbaniwọle.
ireti {Ọrọigbaniwọle: {stty -echo send_user 'ọrọigbaniwọle (fun $ olumulo) lori $ olupin: "expect_user -re" (. *) \ n "send_user" \ n "firanṣẹ" $ expect_out (1, string) \ r "stty echo exp_continue} ti ko tọ {send_user 'ọrọ aṣina tabi ailewu \ n' outgoing} timeout {send_user 'asopọ si $ host timed out \ n' jade} ti {send_user \ 'asopọ lati gbalejo ti kuna: $ expect_out (sacked) "outit} - tun $ tọ}Fun apẹẹrẹ, awọn oṣuwọn wọnyi le ṣe iranlọwọ fun itọnisọna olumulo kan ibaraenisepo ti o ti di opin laifọwọyi. Ni idi eyi, a gbe apoti naa sinu ipo asayan. Ti olumulo ba tẹ "+", a ti yipada si iyipada kan. Ti a ba tẹ "p", ọpọlọpọ awọn atunṣe ni a fi ransẹ si ilana, boya lati sọ di mimọ ni diẹ ninu awọn ọna, ati "i" jẹ ki olumulo ṣiṣẹpọ pẹlu ilana naa, ni fifa jija kuro ni akosile. Ninu ọran kọọkan, exp_continue gba aaye ti n bẹ lọwọ lọwọlọwọ lati tẹsiwaju ilana ti o baamu lẹhin ti o ba ṣe iṣẹ ti o lọwọlọwọ.
stty raw -echo expect_after {-i $ user_spawn_id 'p' {firanṣẹ '\ r \ r \ r'; exp_continue} "+" {incr foo; exp_continue} "i" {nlo; exp_continue} "jade" jade}Nipa aiyipada, exp_continue tunto akoko aago akoko. Aago naa ko tun tun bẹrẹ, ti a ba pe exp_continue pẹlu aami -continue_timer .
expect_after [expect_args]
iṣẹ ti o ni idanimọ si expect_forefore ayafi ti o ba jẹ pe awọn ilana lati awọn mejeeji reti ati awọn ti o le reti lẹhinna le baamu, a lo ilana apamọ naa. Wo aṣẹ expect_before fun alaye siwaju sii.
expect_background [expect_args]
gba awọn ariyanjiyan kanna bi ireti , ṣugbọn o pada lẹsẹkẹsẹ. Awọn idanwo ni idanwo ni igbasilẹ ti titunwọle ba de. Akoko idaduro ati aiyipada jẹ asan si expect_background ati pe a fi ipalọlọ pa a. Bibẹkọkọ, aṣẹ expect_background nlo awọn ojulowo expectaṣe ati awọn ilana expect_after gẹgẹ bi ireti ṣe.
Nigbati awọn iṣẹ ti n reti_background ti wa ni iṣiro, atunṣe lẹhin fun kanna spawn id ti wa ni idina. Ṣiṣẹpọ isẹhin jẹ ṣiṣi silẹ nigbati iṣẹ naa pari. Lakoko ti a ti dina išedẹhin lẹhin, o ṣee ṣe lati ṣe (foreground) reti lori kanna spawn id.
Ko ṣee ṣe lati ṣe idaniloju lakoko ti aifọwọyi retaile jẹ unblocked. expect_background fun idaniloju Spin pato kan ti paarẹ nipasẹ wiwa titun expect_background pẹlu kanna spawn id. Gbólóhùn expect_background lai si ilana ti n yọ idaduro spawn ti a fifun kuro lati agbara lati ṣe afiṣe awọn ilana ni abẹlẹ.
expect_before [expect_args]
gba awọn ariyanjiyan kanna bi ireti , ṣugbọn o pada lẹsẹkẹsẹ. Aṣiṣe awọn iṣẹ- apẹẹrẹ ti a ti n reti laipẹ diẹ pẹlu kanna spawn id ni a fi kun ni afikun si awọn ofin atẹle ti o tẹle. Ti apejuwe kan baamu, a mu wa bi pe o ti sọ pato ninu aṣẹ ti o yẹ, ati pe ara ẹni ti o ni nkan ṣe ni paṣẹ aṣẹ ti o reti . Ti awọn ilana lati awọn ireti mejeeji ti o reti ati ti o reti le baamu, a lo ilana ti expect_before .
Ti ko ba jẹ apejuwe kan, a ko ṣe ayẹwo fun spawn id fun eyikeyi awọn ilana.
Ayafi ti o ba ti kọja nipasẹ ọkọ-ofurufu, awọn apẹẹrẹ expect_before baramu si idinwo idinwo ti a ṣe ni akoko ti a ti pa aṣẹ ti o reti fun apẹrẹ (kii ṣe nigbati awọn ilana rẹ baamu).
Iwe Flag -info ṣe o ni idaniloju lati pada awọn alaye ti o wa bayi ti awọn awoṣe ti o baamu. Nipa aiyipada, o n ṣafọri lori idinisi spawn ti o wa lọwọlọwọ. A le fun alaye ifaramọ spawn idẹ diẹ fun alaye lori idamọ spawn. Fun apere
expect_before -info -i $ procNi julọ ọkan idaniloju id idaniloju idaniloju ni a le fun. Itọnisọna asia naa npa awọn idamọ spawn idasilẹ ti o wa nikan lati awọn iṣiro ti o rọrun.
Dipo iyatọ id idinku, awọn ọkọ "-all" yoo fa "-info" lati ṣe akosile lori gbogbo awọn idamọ spawn.
Awọn iṣẹ ti a ti le ṣe ami -info ni a le tun lo bi ariyanjiyan si expect_before.
expect_tty [expect_args]
jẹ bi ireti ṣugbọn o sọ ohun kikọ lati / dev / tty (ie keystrokes lati olumulo). Nipa aiyipada, a ṣe kika kika ni ipo sisun. Bayi, awọn ila gbọdọ pari pẹlu kan pada ni ibere lati reti lati ri wọn. Eyi le ṣee yipada nipasẹ stty (wo pipa aṣẹ ni isalẹ).
expect_user [expect_args]
jẹ bi ireti ṣugbọn o sọ ohun kikọ lati stdin (ie keystrokes lati olumulo). Nipa aiyipada, a ṣe kika kika ni ipo sisun. Bayi, awọn ila gbọdọ pari pẹlu kan pada ni ibere lati reti lati ri wọn. Eyi le ṣee yipada nipasẹ stty (wo pipa aṣẹ ni isalẹ).
orita
ṣẹda ilana tuntun. Ilana titun jẹ gangan idaakọ ti iṣaju Ifaafẹ lọwọlọwọ. Ni aṣeyọri, orita pada 0 si ilana titun (ọmọ) ati ki o pada si ID ID ti ilana ọmọ si ilana obi. Ni ikuna (lai ṣe nitori aini awọn ohun elo, fun apẹẹrẹ, aaye sipo, iranti), orita pada -1 si ilana obi, ko si si ilana ọmọ kankan.
Ṣiṣe awọn ilana jade kuro nipasẹ aṣẹ aṣẹ jade , gẹgẹbi ilana atilẹba. A gba awọn ilana ṣiṣe ti o laaye lati kọ si awọn faili log. Ti o ko ba mu igbesita tabi wiwọ ni ọpọlọpọ awọn ilana, abajade le jẹ airoju.
Diẹ ninu awọn iṣẹ ti o jẹ apty le jẹ ki awọn alakọwe ati awọn onkọwe lọpọlọpọ bajẹ, paapaa ni iṣẹju. Bayi, o jẹ safest lati orita ṣaaju ṣiṣe awọn ilana.
se nlo pẹlu [string1 body1] ... [stringn [bodyn]]
n fun iṣakoso ti ilana lọwọlọwọ si olumulo, nitorina a fi awọn keystrokes ranṣẹ si ilana lọwọlọwọ, ati pe a ti pada sipo ati stderr ti ilana lọwọlọwọ.
Awọn orisii okun-ara le wa ni pato gẹgẹbi awọn ariyanjiyan, ninu eyi ti a ti pa ara naa nigba ti o ba tẹ okun ti o baamu. (Nipasẹ aiyipada, a ko fi okun naa ranṣẹ si ilana ti isiyi.) A ṣe akiyesi aṣẹ olutumọ , ti o ba jẹ pe ara ikẹhin ti padanu.
Ti awọn ariyanjiyan si gbogbo gbolohun ibaraẹnisọrọ nilo diẹ ẹ sii ju ila kan lọ, gbogbo awọn ariyanjiyan le jẹ "braced" sinu ọkan ki o yẹ ki o yago fun diduro laini kọọkan pẹlu igbẹhin. Ninu ọran yii, awọn iṣeduro Tcl ti o wọpọ yoo waye pelu awọn àmúró.
Fún àpẹrẹ, àṣẹ tí ń ṣe ni o nṣiṣẹ pẹlu awọn orisii ara-ara-ara wọnyi ti a ṣe apejuwe: Nigbati 'Z ti wa ni titẹ, Nireti ti wa ni igba diẹ. (Aami- aṣeti ti tun pada awọn ipo igbega.) Nigbati 'A ti tẹ, olumulo naa rii "o ti tẹ iṣakoso-A" ati pe ilana naa ni a rán a ^ A. Nigba ti a ba tẹ owo $, olumulo naa n wo ọjọ naa. Nigba ti o ba ti 'C ti wa ni titẹ, N reti ipade. Ti o ba ti tẹ "foo" sii, olumulo naa rii "igi". Nigba ti a ba tẹ e sii, o ni ireti olutumọ nṣakoso ni ajọṣepọ.
Ṣeto CTRLZ \ 032 ni ilọsiwaju {-reset $ CTRLZ {exec kill -STOP [pid]} \ 001 {send_user 'ti o tẹ iṣakoso-A \ n "; firanṣẹ "001"} $ \ send_user "Ọjọ naa jẹ [aago titobi [aago aaya]]."} \ 003 jade foo {send_user 'igi'}}Ni awọn oriṣi okun-ara, awọn gbolohun ti baamu ni aṣẹ ti wọn ṣe akojọ si bi awọn ariyanjiyan. Awọn gbolohun ti a ko baramu kan ko ni fifi ranṣẹ si ilana lọwọlọwọ ni ifojusọna ti o mbọ. Ti awọn ohun kikọ ba wa ni titẹ sibẹ pe ko si le jẹ ibaramu kan, nikan ni apa okun naa ni ao firanṣẹ si ilana ti ko le bẹrẹ iṣere miiran. Bayi, awọn gbolohun ti o jẹ awọn orisun ti awọn ere-kere ti ara ẹni le ṣe deede nigbamii, ti awọn gbolohun atilẹba ti o n gbiyanju lati baamu ba kuna.
Nipa aiyipada, ibaramu okun jẹ gangan pẹlu awọn kaadi awọn egan . (Ni idakeji, aṣẹ ti o nreti nlo awọn aṣa ti agbaye nipasẹ aiyipada.) A le lo -ex flag le dabobo awọn ilana ti o le ṣe afiwe awọn ifọwọkan ibaṣe lati ṣe bẹ. Eyikeyi apẹrẹ ti o bẹrẹ pẹlu "-" yẹ ki o ni aabo ni ọna yii. (Gbogbo awọn gbolohun ti o bẹrẹ pẹlu "-" ti wa ni ipamọ fun awọn aṣayan iwaju.)
Awọn -re Flag ṣe okunfa okun naa lati tumọ si bi apẹẹrẹ ti o tun fi ara rẹ han. Ni idi eyi, awọn orisun ti o baamu pọ ni a tọju ni interact_out iyatọ bakannaa si ọna ti n reti de iṣowo awọn ọja rẹ ni expect_out iyipada. A ṣe atilẹyin fun awọn Flag -indices .
Ilana apẹẹrẹ ṣe afihan iṣẹ kan ti a ti ṣe lori faili ipari. Ilana ti o yatọ le tun tẹle atẹjade-jade ni eyiti idi ti o baamu ti o ba ri eeyan kan nigba kikọ kikọ. Iṣiṣe eofuṣe aiyipada ni "ipadabọ", ki o ṣaṣepọ n ṣafẹhin lori eyikeyi EOF.
Iwọn akoko isokọlẹ n ṣafihan akoko-akoko kan (ni awọn aaya) ati iṣẹ ti o ti ṣe lẹhin ti a ko ka awọn ohun kikọ fun akoko kan. Eto apẹrẹ akoko naa kan si ilana ti a ṣe alaye to ṣẹṣẹ. Ko si akoko isanwo aiyipada. Iyipada akoko "akoko idọpa" (ti a lo nipasẹ aṣẹ ireti ) ko ni ipa lori akoko akoko yii.
Fún àpẹrẹ, gbólóhùn wọnyí le ṣee lo sí àwọn aṣàmúlò aláfojúsùn tí wọn kò ti tẹ ohunkóhun fún wakati kan ṣùgbọn tí wọn sì ń rí àwọn ìfiránṣẹ ìgbàgbogbo:
ṣaṣepọ -input $ timeout time_spawn_id 3600 pada-jade $ $ spawn_idTi apẹrẹ jẹ ọrọ alailowaya ọrọ, ati pe awọn ọran naa ni a gba laaye (nipasẹ aṣẹ aṣẹ remove_nulls ), a ti pa iru ti o baamu naa bi o ba jẹ pe ASCII kan nikan ti baamu. O ṣe ko ṣeeṣe lati ṣe awọn oṣuwọn 0 nipasẹ ọna agbaye tabi awọn ilana atunṣe.
Ṣiṣẹda apẹrẹ pẹlu iwe- akọwe-aṣẹ ṣe ki asopọ interactive_out (spawn_id) ti o ni ibamu pẹlu aaye ti o yẹ si apẹẹrẹ (tabi ẹda).
Awọn iṣẹ bi fifalẹ ati tẹsiwaju fa awọn iṣakoso iṣakoso (ie, fun , proc ) lati huwa ni ọna deede. Sibẹsibẹ awọn okun imunni n ṣaṣepọ lati pada si ọdọ olupe rẹ, lakoko ti awọn igbesẹ inter_return nfa asopọ lati fa ipadabọ ninu olupe rẹ. Fun apere, ti o ba jẹ pe "fo fo" ti a npe ni ajọṣepọ pẹlu eyi ti o ṣe paṣẹ iṣẹ- ṣiṣe , proc fo yoo pada. (Eyi tumọ si pe ti o ba ṣe alabaṣepọ awọn olutumọ olutumọ ṣe alabapin pẹlu awọn ibaraẹnisọrọ pẹlu ohun kikọ silẹ yoo fa ki asopọ lati tẹsiwaju, nigba ti inter_return yoo mu ki awọn ibaraẹnisọrọ lati pada si olupe rẹ.)
Lakoko ti o ba n ṣafihan , a lo ipo aṣeyọri ki gbogbo awọn kikọ le ni kọja si ilana lọwọlọwọ. Ti ilana lọwọlọwọ ko ba gba awọn ifihan agbara iṣakoso, o yoo dawọ ti o ba fi ami ijabọ kan (nipasẹ aiyipada * Z). Lati tun bẹrẹ, fi ami ifihan tẹsiwaju (bii nipasẹ "pa -CONT"). Ti o ba fẹ lati fi SIGSTOP ransẹ si iru ilana yii (nipasẹ ^ Z), ro pe ki o ṣawari csh akọkọ ati lẹhinna ṣiṣe eto rẹ. Ni apa keji, ti o ba fẹ lati fi SIGSTOP ransẹ lati Nireti funrararẹ, pe alakoso akọkọ (boya nipa lilo ẹya igbasẹ abayo), ati ki o tẹ 'Z.
Awọn orisii okun-ara ni a le lo bi idinkuro fun yiyọ fun nini lati tẹ olugbufọ naa ki o si ṣe awọn ase ni ajọṣepọ. Ipo iṣagbe ti tẹlẹ ti lo nigba ti a ti pa papo ara-ara.
Fun iyara, awọn iṣẹ ṣiṣẹ ni ipo aiyipada nipasẹ aiyipada. Atọjade aṣiṣe tun pada si ebute naa si ipo ti o ni ṣaaju ki o to ṣe ibaraẹnisọrọ ti a ṣe (lai ṣe deede, ipo sisun). Akiyesi pe awọn ohun kikọ ti tẹ nigbati ipo ba n yipada ni o le sọnu (ẹya alailowaya ti awakọ idaniloju lori awọn ọna šiše). Idi kan ti o yẹ lati lo -woro jẹ ti iṣẹ rẹ ba da lori ṣiṣe ni ipo ti a da.
Awọn -echo flag rán awọn lẹta ti o baramu awọn ilana wọnyi pada si awọn ilana ti o ṣẹda wọn bi awọn ohun kikọ ti wa ni ka. Eyi le jẹ wulo nigbati olumulo nilo lati rii awọn esi lati awọn awoṣe ti a tẹ ni pato.
Ti apẹẹrẹ kan ba wa ni ṣiṣan ṣugbọn ti bajẹ kuna lati baramu, awọn lẹta naa ni a fi ranṣẹ si ilana ti a fi aye silẹ . Ti ilana igbasilẹ naa ba tun pada si wọn, olumulo yoo wo awọn lẹta lẹẹmeji. -iwo ni o yẹ nikan ni awọn ipo ibi ti olumulo ko ṣeeṣe lati ko pari apẹẹrẹ. Fún àpẹrẹ, ẹyọ ìsàlẹ yìí jẹ láti rftp, fáìlì recursive-ftp, níbi tí aṣàmúlò ti rọ láti tẹ ~ g, ~ p, tàbí ~ l, láti gba, fi, tàbí ṣe àtòjọ ìṣàfilọlẹ tó wà lọwọlọwọ. Awọn wọnyi ni o wa jina si awọn ofin ti o yẹ, ti o jẹ pe olumulo ko le tẹ şe nkan miiran, ayafi ti ko tọ, ninu idi eyi, wọn o le ko esi naa.
ṣe apejuwe {-echo ~ g {getcurdirectory 1} -awôn ~ {{ti ilọsiwaju 0} -conho {p {putcurdirectory}}Aami-- iṣan-nni awọn lẹta ti o ba awọn apẹẹrẹ ti o tẹle wọnyi si ọna ṣiṣe bi awọn ohun kikọ ti ka.
Eyi jẹ wulo nigba ti o ba fẹ lati jẹ ki eto kan tun pada si apẹẹrẹ. Fun apẹrẹ, awọn wọnyi le ṣee lo lati ṣe atẹle ibi ti eniyan n pe (modem style style Hayes). Nigbakugba ti "atd" ba ri awọn akosile akosile iyokù ti ila.
proc lognumber {} {interact -nobuffer -re '(. *) \ r "pada fi $ log" [titobi titobi [aago aaya]]: ti a npe ni $ interact_out (1, string) "} n ṣe iṣiṣe -yọju" atd "lognumberNigbati o ba n ṣafihan , lilo iṣaaju log_user . Ni pato, ibaraẹnisọrọ yoo mu agbara rẹ jade lati wa ni ibuwolu (firanṣẹ si iṣeduro ti oṣe) niwon o ti wa ni pe aṣiṣe ko fẹ lati ṣe ibaraẹnisọrọ ni irẹ.
Awọn -o flag fa eyikeyi awọn bọtini ara-ara wọnyi lati lo si awọn iṣẹ ti ilana lọwọlọwọ. Eyi le wulo, fun apẹẹrẹ, nigbati o ba n ṣe abojuto pẹlu awọn ogun ti o fi awọn ohun ti a kofẹ silẹ nigba igba telnet.
Nipa aiyipada, ibanisọrọ n nireti ki olumulo naa ni kikọ stdin ati kika iduro ti ilana Itọju naa funrararẹ. Iwọn -u Flag (fun "olumulo") ṣe n ṣaṣepo idaduro fun olumulo bi ilana ti a daruko nipasẹ ariyanjiyan rẹ (eyi ti o gbọdọ jẹ id idinku).
Eyi n gba awọn ilana alaiṣe meji ti ko ni itọpọ lati darapo pọ laisi lilo iṣọye ti o han kedere. Lati ṣe iranlowo ni idinkuro, Duro awọn iwadii aisan nigbagbogbo lọ si stderr (tabi stdout fun awọn iṣiro ati idinku alaye). Fun idi kanna, aṣẹ onitumọ naa yoo ka awọn ibaraẹnisọrọ lati stdin.
Fún àpẹrẹ, egungun tó ṣẹṣẹ ṣẹdá ìlànà ìfẹnukò. Lẹhin naa o jẹ ki olumulo naa (ko han), ati nipari so awọn mejeji pọ. Dajudaju, eyikeyi ilana le paarọ fun wiwọle. A ikarahun, fun apẹẹrẹ, yoo gba laaye olumulo lati ṣiṣẹ laisi ipese iroyin ati ọrọ igbaniwọle.
Ṣiṣe oju-ọna ile-aye ṣeto wiwọle $ spawn_id spawn tip modem # kiakia pada si olumulo # so olumulo lati buwolu interact -u $ wiwọleLati fi awọn oṣiṣẹ lọ si awọn ilana pupọ, ṣe akojọ gbogbo akojọ idena spawn ti a ti ṣafihan nipasẹ aṣiṣẹ- a- jade . Input fun ẹgbẹ kan ti awọn idasilẹ spawn ids le jẹ ipinnu nipasẹ akojọ aimọ spawn idasilẹ nipasẹ aṣaju- aṣẹ . (Awọn mejeeji -iṣiṣẹ ati- jade le gba awọn akojọ ni fọọmu kanna bi -i Flag ninu aṣẹ ti o reti , ayafi ti eyikeyi_spawn_id ko ni itumo ninu ibaramu .) Gbogbo awọn asia ati awọn gbolohun wọnyi (tabi awọn ilana) waye si titẹsi yii titi di igba miiran - titẹ akọle han. Ti ko ba si -nu ti o han, -output tumọ si "-input $ user_spawn_id -output". (Bakanna, pẹlu awọn ilana ti ko ni -nput .) Ti o ba jẹ pe ọkan-kan ti wa ni pato, o le bori $ user_spawn_id. Ti o ba ti ipinnu-keji ti o kan pato, o ṣe idajọ $ spawn_id. Awọn àfikún afikun-awọn ifọwọsi le wa ni pato.
Awọn ọna ṣiṣe ifarahan meji ti o jẹ aiyipada ni nini awọn ami-iṣẹ wọn ti a sọtọ bi $ spawn_id ati $ user_spawn_id (ni iyipada). Ti bọọlu iforukosile ba han pẹlu aami- itọsọna , ko si ohun kikọ lati ilana naa ti sọnu.
Ilana-ifihan ṣe afihan iyipada fun spawn_id ti o wa lọwọlọwọ nigbati a ko lo awọn asia ti o wa ni afikun tabi ti- jade . A -i Flag tumọ si a -a Flag.
O ṣee ṣe lati yi awọn ọna ṣiṣe ti a ti n ṣaṣepọ pẹlu pẹlu awọn lilo idasilẹ ojulowo awọn alaimọ. (Aṣàpèjúwe awọn alaiṣe Indirect spaces ti wa ni apakan ni pipa aṣẹ ti o reti.) Awọn idasẹtọ spawn ids le wa ni pato pẹlu awọn asia -i, -u, -put, tabi -output.
onitumọ [args]
n mu ki olumulo wa ni ibaraẹnisọrọ pẹlu awọn ibaraẹnisọrọ fun Awọn iwulo ati Tcl. Abajade ti aṣẹ kọọkan ti wa ni titẹ.
Awọn iṣẹ bi fifalẹ ati tẹsiwaju fa awọn iṣakoso iṣakoso (ie, fun , proc ) lati huwa ni ọna deede. Ṣugbọn iyipada akọsilẹ nfa pada lati ọdọ olupe rẹ, lakoko ti inter_return fa olutumọ lati fa ipadabọ ninu olupe rẹ. Fun apere, ti o ba jẹ pe "Iro foo" ti a npe ni olutumọ-ọrọ ti o ṣe igbesẹ iṣẹ naa , proco yoo pada. Eyikeyi aṣẹ miiran nfa olutumọ lati tẹsiwaju lati tọsẹ fun awọn ofin titun.
Nipa aiyipada, aigọran naa ni awọn nọmba odidi meji. Nọmba akọkọ ti ṣe apejuwe ijinle idaduro idaduro (ie, igba melo Tcl_Eval ti pe). Nọmba keji ni idasile itan Tcl. Awọn ifilọ ni a le ṣeto nipasẹ ṣe apejuwe ilana ti a npe ni "prompt1" ti iye-pada rẹ di itọsọna nigbamii. Ti o ba jẹ pe ọrọ kan ni awọn fifuye ṣiṣere, parens, àmúró, tabi awọn akọmọ, a ti gbekalẹ ni ila tuntun (nipasẹ aiyipada "+>"). Atẹle tite ni a le ṣeto nipa ṣiṣe ilana ti a npe ni "prompt2".
Nigba onitumọ , a lo ipo ti a daa, paapaa ti oluwa rẹ nlo ipo ayokele.
Ti stdin ba wa ni pipade, olutumọ yoo pada ayafi ti a ba lo iru- ofurufu, ninu eyiti idi ariyanjiyan ti o wa ni iwaju.
log_file [args] [[-a] faili]
Ti a ba fi orukọ si orukọ, log_file yoo gba igbasilẹ kan ti igba (bẹrẹ ni aaye naa) ninu faili naa. log_file yoo da gbigbasilẹ silẹ ti ko ba si ariyanjiyan kankan. Gbogbo faili ti o ti kọja tẹlẹ wa ni pipade.
Dipo ipe orukọ, a le pese idanimọ faili Tcl nipasẹ lilo awọn asia -open tabi -leaveopen . Eyi ni iru si aṣẹ spawn . (Wo spawn fun alaye diẹ sii.)
Awọn -awọ agbara-ogun ti o ṣe jade lati wa ni ibuwolu ti a ti pa nipasẹ aṣẹ-aṣẹ log_user .
Nipa aiyipada, aṣẹ log_file ṣe afẹfẹ si awọn faili atijọ ju ki o ṣe itọnisọna wọn, fun igbadun ti o ni anfani lati tan-an ni pipa ati ni igba pupọ ni igba kan. Lati ṣawari awọn faili, lo -noappend flag.
Awọn aami--info ṣe log_file lati ṣe apejuwe awọn apejuwe awọn ariyanjiyan ti kii ṣe-igba diẹ ti a fun.
log_user -info | 0 | 1
Nipa aiyipada, ọrọ ibaraẹnisọrọ / ireti jẹ ibuwolu wọle si stdout (ati akọsilẹ kan ti o ba ṣii). Awọn titẹ si stdout ti wa ni alaabo nipasẹ awọn aṣẹ "log_user 0" ati reenabled nipasẹ "log_user 1". Wiwọle si logfile ko yipada.
Ilana-- info ṣe log_user lati pada si apejuwe awọn ariyanjiyan ti kii ṣe-igba ti a ṣe julọ.
match_max [-d] [-i spawn_id] [iwọn]
n ṣe alaye iwọn ti fifaye (intes) ti a lo ni inu nipasẹ reti . Pẹlu aifọwọyi iwọn ko si, iwọn ti o wa lọwọlọwọ ti pada.
Pẹlu aami -d , a ṣeto iwọn aiyipada. (Awọn aiyipada akọkọ jẹ 2000.) Pẹlu aami -i Flag, a ṣeto iwọn naa fun idinuduro spawn orukọ, bibẹkọ ti o ṣeto fun ilana lọwọlọwọ.
Ikọlẹ [- # spawn_id] [- # spawn_id] [...] eto [aw]
n ṣakoso "awọn eto apẹrẹ " ni ibi ti eto Atẹyi ti o fẹ, eyi ti o pari. Agbara ariyanjiyan ti o wa ni igboro ni o nmu ipọnju ni iwaju orukọ pipaṣẹ bi pe o jẹ ikarahun wiwọle. Gbogbo awọn spawn_ids ti wa ni pipade ayafi fun awọn ti a darukọ gẹgẹbi awọn ariyanjiyan. Awọn wọnyi ni a ṣe aworan lori awọn oluṣakoso faili ti a darukọ.
Spawn_ids ti wa ni akopọ lati ṣafihan awọn faili fun eto tuntun lati jogun. Fún àpẹrẹ, ìlà tí ó tẹ lé ìjápọ tí ó sì gba ọ laaye láti darí ìdarí lọwọlọwọ - sọ, olùdarí chess.
bii -0 $ spawn_id -1 $ spawn_id -2 $ spawn_id chessEyi jẹ daradara ju "interact -u" ṣe, sibẹsibẹ, o rubọ agbara lati ṣe awọn ibaraẹnisọrọ ti a ṣe pẹlu awọn ibaraẹnisọrọ niwon igba Ilana ti ko ni isakoso.
Akiyesi pe ko si ebute abojuto ti a pese. Bayi, ti o ba ge asopọ tabi pipin igbasilẹ ijẹrisi, awọn eto ti o ṣe iṣakoso iṣẹ (awọn ibon nlanla, wiwọle, ati be be lo) kii yoo ṣiṣẹ daradara.
parity [-d] [-i spawn_id] [iye]
n ṣe alaye boya ihu-ẹni yẹ ki o wa ni idaduro tabi yọ kuro lati inu awọn ilana ti a fi aye silẹ. Ti iye ba jẹ odo, a ti yọ adehun kuro, bibẹkọ ti a ko yọ kuro. Laisi iṣaro ariyanjiyan, iye ti isiyi ti pada.
Pẹlu aami -d , a ṣeto iye aiyipada aiyipada. (Awọn aiyipada akọkọ ni 1, ie, a ko le kuro ni otitọ.) Pẹlu aami-Flag, a ti ṣeto iye iyasọtọ fun idin spawn orukọ, bibẹkọ ti o ṣeto fun ilana lọwọlọwọ.
remove_nulls [-d] [-i spawn_id] [iye]
n ṣe alaye boya a ti ni idaduro tabi yọ kuro ni awọn iṣeduro ti awọn ilana ti a fi aye silẹ ṣaaju ki o to baamu tabi tọju ni ayanfẹ iyipada tabi interact_out . Ti iye ba jẹ 1, a ti yọ awọn o kuro. Ti iye ba wa ni 0, a ko yọ kuro. Laisi iṣaro ariyanjiyan, iye ti isiyi ti pada.
Pẹlu aami -d , ti ṣeto iye aiyipada. (Awọn aiyipada akọkọ jẹ 1, ie, awọn irisi ti yo kuro.) Pẹlu aami-Flag, a ṣeto iye naa fun idinuduro Spin orukọ, bibẹkọ ti o ṣeto fun ilana lọwọlọwọ.
Boya a ko yọ awọn asan kuro, Nireti yoo gba awọn octets alailẹgbẹ si log ati stdout.
fi okun ranṣẹ [-flags]
Fifi okun si ilana lọwọlọwọ. Fun apẹẹrẹ, aṣẹ naa
rán awọn ohun kikọ, helloworld si ilana lọwọlọwọ. (Tcl ni aṣẹ apẹrẹ-bi (ti a npe ni kika ) eyiti o le kọ awọn gbolohun ọrọ ti iṣakoso lainidii.)
Awọn lẹta ni a firanṣẹ lẹsẹkẹsẹ laipẹ pe awọn eto pẹlu kikọ silẹ ti ila-aaya kii yoo ka awọn lẹta naa titi ti a fi firanṣẹ ohun kikọ pada. A tọju ohun kikọ ti a yan "\ r".
Awọn - Flag ipa ariyanjiyan ti o wa lẹhin ti a tumọ bi okun kan ju kii lọ. Eyikeyi okun le ti wa ni ṣaju nipasẹ "-" boya tabi ko o gangan wulẹ bi a Flag. Eyi n pese sisọnṣe ti o gbẹkẹle lati ṣafihan awọn gbolohun iyatọ laisi awọn ti o ti dabi awọn asia ti o ṣe airotẹlẹ. (Gbogbo awọn gbolohun ti o bẹrẹ pẹlu "-" ti wa ni ipamọ fun awọn aṣayan iwaju.)
Awọn -a Flag sọ pe ki a fi okun naa ranṣẹ si spawn_id ti a npè ni. Ti spawn_id jẹ user_spawn_id , ati pe ebute naa wa ni ipo ti o dara, awọn abawọn tuntun ni okun ti wa ni iyipada si awọn abajade titun-pada ti wọn yoo han bi ẹnipe ebute naa wa ni ipo ti a da. Awọn Flag -raw ṣe idiwọ itumọ yii.
Awọn -null Flag rán awọn ọrọ alailẹgbẹ (0 bytes). Nipa aiyipada, a firanṣẹ alakan kan. Nọmba odidi le tẹle awọn -an lati fihan bi ọpọlọpọ awọn aṣiṣe lati firanṣẹ.
Ilana ibajẹ naa n ṣe ipo isinmi kan. Eyi nikan ni o ni oye ti idaniloju spa wa ni itumọ si ẹrọ tty la nipasẹ "spawn -open". Ti o ba ti ṣalaye ilana kan bii ọti, o yẹ ki o lo ipinnu ti tip fun fifẹ isinmi kan.
Awọn ologun - ọṣọ ---------------- ami ṣe jade ni "laiyara", yago fun ipo ti o wọpọ nibiti kọmputa kan ti n jade ni apo ti nwọle ti a ṣe apẹrẹ fun eda eniyan ti ko le jẹyọri kanna. Yi oludari ni iṣakoso nipasẹ iye ti iyipada "send_slow" ti o gba akojọ meji. Akọkọ akọkọ jẹ nọmba odidi to ṣe apejuwe nọmba awọn onita lati firanṣẹ ni atẹsẹ. Abala keji jẹ nọmba gidi ti o ṣe apejuwe nọmba awọn aaya nipasẹ eyi ti atomiki yoo firanṣẹ. Fun apẹẹrẹ, "ṣeto send_slow {10 .001}" yoo fa "firanṣẹ-ranṣẹ" lati fi awọn gbolohun kan pẹlu 1 millisecond laarin awọn ohun kikọ 10 ti a rán.
Awọn ologun-ọpa ti o fẹ jade ni lati rán (ni itumo) bi eniyan ti nkọ gangan. Awọn idaduro ti awọn eniyan ṣe han laarin awọn ohun kikọ. (Awọn algorithm ti a da lori Apapọ Alufaa, pẹlu awọn iyipada ti o baamu si ohun elo yii.) Eleyi jẹ iṣakoso nipasẹ iṣakoso ti iyipada "send_human" ti o gba akojọ awọn nkan marun. Awọn eroja akọkọ akọkọ jẹ akoko apapọ apapọ ti awọn ohun kikọ ni iṣẹju-aaya. Ni igba akọkọ ti a lo nipa aiyipada. A lo awọn keji ni opin ọrọ, lati ṣedasilẹ awọn idaduro ti o ṣe deede ti o waye ni iru awọn itọjade bẹẹ. Iwọn opin kẹta jẹ odiwọn ti iyipada nibiti .1 jẹ iyipada pupọ, 1 jẹ iyipada ti o niyeye, ati 10 jẹ ohun ti o ṣeeṣe. Awọn iyasọtọ ni o wa si ailopin. Awọn igbẹhin meji to kẹhin jẹ, lẹsẹsẹ, akoko ti o kere ati akoko ti o pọju. I kere ati pe o pọju ni a lo kẹhin ati "agekuru" akoko ikẹhin. Iwọn apapọ le jẹ ohun ti o yatọ lati apapọ ti a fifun ti o ba kere ati iwọn to pọ ju iye.
Gẹgẹbi apẹẹrẹ, aṣẹ ti o tẹle yii ṣe imuduro apejọ kan ti o yara ati deede:
ṣeto send_human {.1 .3 1 .05 2} firanṣẹ -h "Ebi npa mi. Jẹ ki a ṣe ounjẹ ọsan."nigba ti awọn wọnyi le jẹ diẹ dara lẹhin kan hangover:
ṣeto sent_human {.44 .4 .2 .5 100} firanṣẹ -h "Ẹja aladani lash night!"Akiyesi pe a ko ṣe aṣiṣe awọn aṣiṣe, biotilejepe o le ṣeto atunṣe atunṣe aṣiṣe ara rẹ nipa sisọ awọn aṣiṣe ati awọn atunṣe ni ijabọ ariyanjiyan.
Awọn asia fun fifiranṣẹ awọn ọrọ alailowaya, fun fifiranṣẹ awọn fifọ, fun didiṣe oṣiṣẹ lọra ati fun awọn iṣẹ-ara eniyan jẹ iyasọtọ. Nikan ni ọkan ti o gbẹyin ti yoo lo. Pẹlupẹlu, ko si ariyanjiyan ariyanjiyan le wa ni pato pẹlu awọn asia fun fifiranṣẹ ọrọ alailẹgbẹ tabi fifọ.
O jẹ ero ti o dara lati ṣaju akọkọ firanṣẹ si ilana kan nipasẹ ireti . ireti yoo duro fun ilana naa lati bẹrẹ, lakoko ti o le ranṣẹ ko le. Ni pato, ti akọkọ ba firanṣẹ pari ṣaaju ki ilana naa bẹrẹ nṣiṣẹ, o ṣiṣe awọn ewu ti nini data rẹ kọ. Ni awọn ipo ibi ti awọn eto ibanisọrọ ṣe n pese laiṣe ni kiakia, o le kọkọ firanṣẹ nipasẹ idaduro bi ninu:
# Lati yago fun fifun awọn olutọpa gige lori bi o ṣe le adehun, # eto yii ko ni iwifun fun ọrọigbaniwọle ita. # Duro fun 5 aaya fun pipa lati pari spawn telnet gan.secure.gov orun 5 fi ọrọigbaniwọle r rexp_send jẹ aliasi fun firanṣẹ. Ti o ba nlo Expectk tabi diẹ iyatọ miiran ti Nireti ni ayika Tk, fifiranṣẹ jẹ asọye nipasẹ Tk fun idi pataki kan. exp_send ti pese fun ibaramu laarin awọn ayika. Iru awọn aliases irufẹ ni a pese fun awọn iwe aṣẹṣẹ miiran ti Iduro.
send_error [-flags] okun
jẹ ifisilẹ ranṣẹ , ayafi ti o ba firanṣẹ jade si stderr kuku ju ilana ti isiyi lọ.
send_log [-] okun
jẹ bi fifiranṣẹ , ayafi pe okun nikan ni a fi ranṣẹ si faili log (wo log_file .) A ko bikita awọn ariyanjiyan ti ko ba si faili ti o ṣii.
send_tty [-flags] okun
jẹ bi fifiranṣẹ , ayafi ti o ba firanṣẹ si / dev / tty dipo ilana ti isiyi.
send_user [-flags] okun
jẹ bi fifiranšẹ , ayafi ti o ba firanṣẹ jade si stdout dipo ilana ti isiyi.
isinmi-oorun
fa ki iwe-akọọlẹ sùn fun nọmba ti a fun ni awọn aaya. Awọn aaya le jẹ nomba eleemewa. Ṣiṣe awọn idiwọ (ati awọn iṣẹlẹ Tk ti o ba nlo Expectk) ti wa ni ṣiṣisẹ lakoko Ti o ba nireti sisun.
Eto eto [args] [eto]
ṣẹda ilana tuntun ti nṣiṣẹ "awọn eto apẹrẹ ". Awọn oniwe-stdin, stdout ati stderr ti wa ni asopọ si Nireti, ki wọn le ka ati ki o kọwe nipasẹ awọn ohun elo miiran ti n reti . Isopọ naa ti bajẹ nipa sunmọ tabi ti ilana naa ba ti pa eyikeyi ninu awọn aṣasi faili.
Nigbati ilana kan ba bẹrẹ nipasẹ spawn , a ṣeto si ayipada spawn_id si akọwe ti n tọka si ilana naa . Ilana ti a sọ nipa spawn_id ni a npe ni " ilana lọwọlọwọ ". spawn_id le ka tabi kọ, ni ipese ṣiṣe iṣakoso iṣẹ.
user_spawn_id jẹ ayípadà agbaye kan ti o ni awọn ohun elo ti o tọka si olumulo. Fún àpẹrẹ, nígbà tí a bá ṣeto spawn_id sí iye yìí, ìrètí máa ń hùwà bíi expect_user .
.Emi error_spawn_id jẹ ayípadà agbaye kan ti o ni awọn akọsilẹ ti o tọka si aṣiṣe aṣiṣe deede. Fún àpẹrẹ, nígbà tí a bá ṣeto spawn_id sí iye yìí, fi àṣà han bí send_error .
tty_spawn_id jẹ ayípadà agbaye kan ti o ni awọn ohun ti o ni akọsilẹ ti o ntokasi si / dev / tty. Ti / dev / tty ko ba wa (bii a cron, ni, tabi iwe akọọlẹ), lẹhinna tty_spawn_id ko ṣe alaye. Eyi le ni idanwo bi:
ti {{info info tty_spawn_id]} {# / dev / tty wa} miran {# / dev / tty ko tẹlẹ # jasi ni cron, ipele, tabi ni akosile}Spawn pada ilana UNIX id. Ti ko ba si ilana ti o ba jẹ, 0 ti pada. A ti ṣeto iyọọda ayípadà (ẹrú, orukọ) si orukọ ti ẹrọ apty pty.
Nipa aiyipada, spawn n ṣe iyipada orukọ ati awọn ariyanjiyan. Awọn aami -noecho duro spawn lati ṣe eyi.
Iwọn -console jẹ ki o ṣe itọnisọna lati wa ni itọsẹ si ilana ti a fi aye silẹ . Eyi ko ni atilẹyin lori gbogbo awọn ọna šiše.
Ni igbimọ, spawn nlo pty kan, ti kọkọ ni ọna kanna bi tty olumulo. Eyi ni a tunkọ sibẹ ki gbogbo eto wa ni "mọ" (gẹgẹ bi stty (1)). Ti a ba sọ asọye stty_init , o tumọ ni ara awọn ariyanjiyan stty bi iṣeto ni afikun. Fun apere, "ṣeto stty_init raw" yoo fa awọn ipari ikolu ti o ti bẹrẹ lati bẹrẹ ni ipo asayan. -nottycopy foju iṣilẹbẹrẹ ti o da lori tty olumulo. -nottyinit n foju ifitonileti "sane".
Ni deede, spawn gba igba diẹ lati ṣiṣẹ. Ti o ba ṣe akiyesi spawn mu akoko ti o pọju, o le jasi awọn ọwọn ti a ti gbe. Awọn nọmba idanwo kan ti wa ni ṣiṣe lori awọn ptys lati yago fun awọn ipinnu pẹlu awọn ọna ṣiṣe aṣiṣe. (Awọn wọnyi ya 10 aaya fun ọkọọkan pty.) Ṣiṣe Nireti pẹlu aṣayan -dd yoo fi han ti o ba ni ireti pe ọpọlọpọ awọn ptys wa ni awọn orilẹ-ede. Ti o ko ba le pa awọn ilana ti a ti fi awọn ami wọnyi pamọ, igbadii rẹ nikan le jẹ atunbere.
Ti eto ko ba le ni aṣeyọri nitori exec (2) kuna (fun apẹẹrẹ nigbati eto ko ba wa tẹlẹ), ifiranṣẹ ti aṣiṣe yoo pada nipasẹ ṣiṣe atẹle tabi pipaṣẹ ti o yẹ bi ẹnipe eto naa ti ṣiṣẹ ti o si ṣe ifiranṣẹ aṣiṣe gẹgẹbi oṣiṣẹ. Iwa yii jẹ abajade ti aṣa ti imuse ti spawn . Ni igbimọ, awọn apẹrẹ spawn, lẹhin eyi ilana ilana ti a fi aye silẹ ko ni ọna lati ṣe ibaraẹnisọrọ pẹlu ilana Itusẹtọ atilẹba naa ayafi nipasẹ ibaraẹnisọrọ nipasẹ awọn spawn_id.
Ofin -open fa idaniloju ti o wa lẹhin ti a tumọ bi idasile faili Tcl (ie, pada nipasẹ ṣii .) Awọn idinwo spawn lẹhinna le ṣee lo bi ẹnipe o jẹ ilana ti a fi silẹ. (Aami faili ko yẹ ki o tun ṣee lo.) Eyi jẹ ki o tọju awọn ẹrọ agbeka, awọn faili, ati awọn pipẹ bi awọn ilana ti a fi aye silẹ pẹlu lilo pty. 0 ti pada lati fihan pe ko si ilana ti o ni nkan kan . Nigba ti asopọ si ilana ti a ti fi aye silẹ ti wa ni pipade, bẹ ni idasile faili Tcl. Awọn -leaveopen flag jẹ iru si -open ayafi ti -leaveopen fa ki idasile faili wa ni ṣi silẹ paapaa lẹhin ti a ti pipade spawn id.
Iwọn -pty flag jẹ ki a ṣii pty ṣugbọn ko si ilana ti o ni . 0 ti pada lati fihan pe ko si ilana ti o ni nkan kan . A ti ṣeto Spawn_id bi o ṣe deede.
Aṣeto iyipada variable (ẹrú, fd) ti ṣeto si aṣasi faili kan ti o baamu si ọmọ-ọdọ pty. O le wa ni pipade nipa lilo "sunmọ -slave".
Iwọn aami- ami-ami ṣe aami orukọ ti o yẹ ki a ko bikita sinu ilana ti a fi silẹ. Bibẹkọ ti, awọn ifihan agbara gba ihuwasi aiyipada. Awọn ifihan agbara ti wa ni a darukọ bi ninu aṣẹ idẹkùn , ayafi pe ifihan agbara kọọkan nilo aami iyọtọ kan.
ipele ipele
fa awọn gbolohun wọnyi lati tẹ ṣaaju ki o to ṣiṣẹ. (Ilana ti TC trace wa awọn oniyipada.) Ipele tọka bi o ti jina si isalẹ ninu ipade ipe lati wa kakiri. Fún àpẹrẹ, àṣẹ tí o n pàsẹ n ṣayẹti lakoko wiwa awọn ipele 4 ti awọn ipe, ṣugbọn kò si ni isalẹ ti.
Aami- aṣoju-aṣiṣe fa okunfa lati pada si apejuwe awọn ariyanjiyan ti kii ṣe-Alaye ti a ṣe julọ.
stty args
yiyipada awọn ipo apẹrẹ bakannaa si aṣẹ itagbangba ita.
Nipa aiyipada, a ti wọle si abojuto ti o ṣakoso. Awọn fọọmu miiran ni a le wọle si nipasẹ fifiranṣẹ "Awọn ibeere fun ipo pada si bi abajade aṣẹ naa Ti ko ba beere ipo ati pe o ti gba abojuto iṣakoso, ipo ti tẹlẹ ti awọn aṣekese ati iwoye ti pada ni fọọmu kan ti o le jẹ nigbamii ti a lo nipasẹ aṣẹ.
Fun apẹẹrẹ, awọn ariyanjiyan aise tabi igbasilẹ fi ebute sinu ipo asayan. Awọn ariyanjiyan -raw tabi jinna fi ebute sinu ipo sisun. Awọn ariyanjiyan nyii ati -echo fi ebute sinu iwoyi ati ipo noecho lẹsẹsẹ.
Àpẹrẹ tó wà yìí n ṣàpèjúwe bí a ṣe le mú ìdánilẹjẹ sẹgbẹ fún ìgbà díẹ. Eyi le ṣee lo ni awọn itọnisọna-awọn iwe afọwọkọ laifọwọyi lati yago fun awọn igbaniwọle awọn ọrọigbaniwọle ninu wọn. (Wo diẹ ifọrọwọrọ lori eyi ni labẹ OTUN TI OLU.)
stty -echo send_user "Ọrọigbaniwọle:" expect_user -re "(. *) \ n" ṣeto ọrọigbaniwọle $ expect_out (1, string) stty echo awọn eto ile-iṣẹ
n fun awọn apọn lati sh (1) bi titẹwọle, bi ẹnipe o ti tẹ bi aṣẹ lati inu ebute kan. Nreti nduro titi ikarahun yoo pari. Ipo iyipada lati ọdọ sh ni a ṣe lökö ni ọna kanna ti o n fi ọwọ mu ipo ipo pada.
Ni idakeji si exec eyi ti o ṣe atunṣe stdin ati stdout si akosile, eto ko ṣe atunṣe (miiran ju eyiti a fihan nipasẹ okun naa). Bayi, o ṣee ṣe lati lo awọn eto ti o gbọdọ sọrọ ni taara si / dev / tty. Fun idi kanna, awọn abajade ti eto kii ṣe igbasilẹ ni log.
timestamp [awọn]
pada kan timestamp. Laisi awọn ariyanjiyan, nọmba ti awọn aaya diẹ niwon igba ti a ti pada.
Aṣayan -format ṣe afihan okun ti o da pada ṣugbọn pẹlu awọn ipinnu ti a ṣe ni ibamu si awọn ofin POSIX fun awọn iyipo. Fun apẹẹrẹ% a ti rọpo nipasẹ orukọ ọjọ isinmi ti a gbooro (ie, Sat). Awọn ẹlomiran ni:
% a orukọ ọjọ-ọjọ ti a ti kuku si% A ni ọjọ ipari ọjọ orukọ% b ori oṣuwọn ọjọ% B kikun oṣu ọjọ% c ọjọ-ọjọ bi ni: Wed Oct 6 11:45:56 1993% d ọjọ ti osù (01-31% H wakati (00-23)% I wakati (01-12)% j ọjọ (001-366)% m oṣu (01-12)% M iṣẹju (00-59)% p am tabi pm% S keji (00-61) % ni ọjọ (1-7, Ọjọ ni ọjọ akọkọ ọsẹ)% U ọsẹ (00-53, Sunday akọkọ jẹ ọjọ akọkọ ọsẹ kan)% V ọsẹ (01-53, ISO 8601 ara)% w ọjọ (0- 6)% W ọsẹ (00-53, Ojo akọkọ jẹ ọjọ akọkọ ọsẹ kan)% x ọjọ-ọjọ bi ni: Wed Oct 6 1993% X akoko bi ni: 23:59:59% ọdun kan (00-99) % Y ọdun bi ni: 1993% Z timezone (tabi nkan ti ko ba ni idena) %% a bare percent signOmiiran% awọn pato ni a ko ṣafihan. Awọn ohun elo miiran ni yoo kọja nipasẹ aifọwọyi. Nikan agbegbe C nikan ni atilẹyin.
Iwe iṣeto -seconds ṣe ifihan nọmba kan ti awọn aaya diẹ lati igba ti o yẹ lati lo ni orisun lati ṣe agbekalẹ. Bibekọkọ, lilo akoko ti isiyi.
Awọn ifihan agbara -gmt agbara timestamp ti o wu lati lo akoko aago GMT . Pẹlu laisi ọkọ ayọkẹlẹ, a ti lo agbegbe akokozone naa.
ẹgẹ [[aṣẹ] awọn ifihan agbara]
fa ofin ti a fun ni lati ṣe ni pipa lori ojo iwaju ti eyikeyi ti awọn ifihan agbara ti a fifun. A paṣẹ aṣẹ naa ni agbaye agbaye. Ti aṣẹ ba wa ni isinmi, a ti pada iṣẹ ifihan agbara. Ti aṣẹ ba jẹ okun SIG_IGN, a ko gba awọn ifihan agbara silẹ. Ti aṣẹ ba jẹ okun SIG_DFL, awọn ifihan agbara jẹ abajade si aiyipada eto. awọn ifihan agbara jẹ boya ifihan agbara kan tabi akojọ awọn ifihan agbara. Awọn ifihan agbara le ni pato ni nọmba tabi aami-iṣere bi fun ifihan agbara (3). Awọn orisun "SIG" ni a le fa.
Pẹlu laisi awọn ariyanjiyan (tabi ariyanjiyan-ariyanjiyan), atẹgun n pada nọmba nọmba ti aṣẹ ti o pa ni lọwọlọwọ ti a ṣe.
Aṣayan- koodu nlo koodu iyipada ti aṣẹ ni ibi ti eyikeyi koodu Tcl ti fẹrẹ pada nigbati pipaṣẹ ti bẹrẹ bẹrẹ.
Aṣayan atẹgun naa n mu ki aṣẹ naa ṣe ayẹwo nipasẹ lilo olutumọ nṣiṣẹ ni akoko ti aṣẹ naa bẹrẹ si nṣiṣẹ ju nigbati a ti sọ okùn naa.
Orukọ-- orukọ naa nfa aṣẹ aṣẹ paṣẹ lati pada si orukọ orukọ agbara ti aṣẹ ti o pa ni lọwọlọwọ ti a ṣe.
Ofin -max naa nfa aṣẹ aṣẹ pa pada lati pada si nọmba ti o tobi julọ ti o le ṣeto.
Fún àpẹrẹ, àṣẹ "ìṣàfilọlẹ {send_user" Ouch! "} SIGINT" yóò tẹ "Ouch!" Jáde. nigbakugba ti olumulo ba tẹ + C.
Nipa aiyipada, SIGINT (eyi ti a le ṣe ni ipilẹṣẹ nipasẹ titẹ C) ati SIGTERM fa Ireti lati jade kuro. Eyi jẹ nitori ẹgẹ atẹle, ti a da nipa aiyipada nigbati O bii bẹrẹ.
ipade ti paṣẹ {SIGINT SIGTERM}Ti o ba lo aami -D lati bẹrẹ aṣoju naa, SIGINT ti wa ni atunṣe lati bẹrẹ oluṣeja ti o nlo. Eyi jẹ nitori ẹgẹ atẹle:
ẹgẹ {exp_debug 1} SIGINTA le yipada okùn ti n ṣatunṣe aṣiṣe nipasẹ fifi ipo ayika si EXPECT_DEBUG_INIT si aṣẹ titun kan.
O le, dajudaju, da awọn mejeji mejeeji kuro ni fifiranṣẹ awọn ofin paṣẹ si iwe-akọọlẹ rẹ. Ni pato, ti o ba ni "ti ara rẹ jade SIGINT", eyi yoo pa ideru aṣoju naa. Eyi jẹ wulo ti o ba fẹ lati dènà awọn olumulo lati sunmọ si aṣoju naa rara.
Ti o ba fẹ ṣe itọkasi trap ti ara rẹ lori SIGINT ṣugbọn ṣi idẹkùn si aṣoju nigba ti nṣiṣẹ, lo:
ti o ba jẹ {! [exp_debug]} {ẹtan mystuff SIGINT}Ni ọna miiran, o le dẹkun si aṣoju naa nipa lilo ifihan agbara miiran.
idẹkùn kii yoo jẹ ki o ṣe idaṣe iṣẹ fun SIGALRM bi a ti n lo ni ipilẹ lati Nireti . Ilana pipaṣẹ ṣeto SIGALRM si SIG_IGN (foju). O le ṣe atunṣe eyi niwọn igba ti o ba mu u kuro lakoko awọn ofin atẹgun ti o tẹle.
Wo ifihan agbara (3) fun alaye siwaju sii.
duro [awọn]
idaduro titi ti ilana ti a fi silẹ (tabi ilana lọwọlọwọ ti ko ba si ẹniti o darukọ) pari.
duro deede ṣe akojọ akojọ awọn nọmba mẹrin. Nọmba akọkọ ti jẹ ideri ilana ti a ti duro. Nọmba keji ni idaniloju spawn id. Nọmba nọmba odidi ni -1 - ti aṣiṣe eto eto ẹrọ kan ṣẹlẹ, tabi 0 bibẹkọ. Ti nọmba odidi keta jẹ 0, nọmba oni-nọmba mẹrin ni ipo ti a ti pada nipasẹ ilana iṣeduro . Ti nọmba odidi keta jẹ -1, nọmba odidi kẹrin ni iye ti errno ṣeto nipasẹ ẹrọ amuṣiṣẹ. Aṣiṣe koodu aṣiṣe agbaye ti tun ṣeto.
Awọn ohun elo miiran le han ni opin ti iye-pada lati duro . Aṣayan karun ti o yan diẹ n ṣe afihan kilasi alaye kan. Lọwọlọwọ, iye kan ti o ṣeeṣe fun aṣiṣe yii jẹ ọmọde ninu eyiti idi awọn nọmba meji ti o tẹle jẹ orukọ ifihan agbara C ati ọrọ apejuwe ọrọ kukuru kan.
Awọn -i Flag sọ ilana lati duro ni ibamu si spawn_id ti a npè ni (KO si id id). Ni inu oluṣakoso SIGCHLD, o ṣee ṣe lati duro fun ilana eyikeyi ti a yọ kuro nipa lilo spawn id -1.
Iwọn -ọkọ- ọṣọ ti nmu idaduro lati pada lẹsẹkẹsẹ pẹlu itọkasi idaduro aṣeyọri. Nigbati ilana naa ba jade (nigbamii), yoo pa laifọwọyi lai laisi nilo fun idaduro ti o kedere.
Awọn ilana idaduro le tun ṣee lo lati duro fun ilana ti a dari fun lilo awọn ariyanjiyan "-i -1". Yato si lilo rẹ pẹlu awọn ilana ti a fi aye silẹ, aṣẹ yi le ṣee ṣe ni eyikeyi akoko. Ko si iṣakoso lori iru ilana ti a ṣe ikore. Sibẹsibẹ, iye owo iyipada le ṣayẹwo fun id id.
Awọn iwadii
Reti pe o mọ nipa awọn iwe-ikawe meji ti a ṣe sinu awọn iwe afọwọkọti. Awọn wọnyi ni a ṣe apejuwe nipasẹ awọn ilana ti a darukọ ninu awọn exp_brarybrary variables ati exp_exec_library. Awọn mejeeji ni a túmọ lati ni awọn faili ti o wulo ti a le lo nipasẹ awọn iwe afọwọkọ miiran.
Aṣayan igbimọ aṣiṣe ni awọn faili-igbẹkẹle-igbẹẹ-ara. exp_exec_library ni awọn faili ti o gbẹkẹle oju-iṣọ. Ti o da lori eto rẹ, awọn ilana mejeji le jẹ patapata. Awọn faili ti faili $ exp_exec_library / cat-buffers ṣe apejuwe boya rẹ / oniyika / onibara buffers nipasẹ aiyipada.
TI NIPA TITẸ
Ìfípáda aṣiṣe wa fun lẹwa-titẹ sita Awọn iwe afọwọkọ. Ti o ba ṣe pe ipinnu ti o wa ni abala ti a pese pẹlu ẹgbẹ ti o nireti ti wa ni titẹ daradara, o le lo o bi:
faili vgrind -lexpectAwọn apẹẹrẹ
Ọpọlọpọ ko han gbangba bi o ṣe le fi ohun gbogbo ṣọkan pe oju-iwe eniyan naa ṣalaye. Mo gba ọ niyanju lati ka ati gbiyanju awọn apeere ninu apẹẹrẹ itọnisọna ti Pipin Ifoju . Diẹ ninu wọn jẹ awọn eto gidi. Awọn ẹlomiran ni awọn apejuwe ti awọn ọna kan nikan, ati pe, tọkọtaya kan ni awọn igbasẹ kiakia. Fọọmu INSTALL ni o ni awari wiwo ti awọn eto wọnyi.
Awọn iwe ti o Nreti (wo SEE ALSO) tun wulo. Nigba ti awọn iwe kan nlo isopọ ti o baamu awọn ẹya ti o ti ṣawari ti Nireti, awọn ohun elo ti o tẹle wa ṣi wulo ati ki o lọ sinu awọn alaye diẹ sii ju oju-iwe ọkunrin yii lọ.
AWỌN NIPA
Awọn amugbooro le ṣakojọpọ pẹlu awọn orukọ aṣẹ ti o nreti. Fun apẹẹrẹ, firanšẹ ṣe apejuwe nipasẹ Tk fun idi kan ti o yatọ. Fun idi eyi, julọ ninu awọn ofin Ibere naa tun wa bi "exp_XXXX". Awọn aṣẹ ati awọn oniye ti o bẹrẹ pẹlu "exp", "inter", "spawn", ati "akoko isọnu" ko ni awọn aliases. Lo awọn orukọ aṣẹ ti o gbooro sii ti o ba nilo ibamu yii laarin awọn agbegbe.
Ireti yẹ ki o wo ifarahan ti o yẹ fun scoping. Ni pato, awọn iyatọ ti a ka nipa awọn aṣẹ ni pato si eto Eroti yoo wa ni akọkọ lati ọdọ dopin agbegbe, ati bi a ko ba ri, ni agbaye agbaye. Fun apẹrẹ, eyi nfa idiyele lati gbe "akoko-akoko agbaye" ni gbogbo ọna ti o kọ ti o nlo ireti . Ni apa keji, awọn oniye ti a kọ ni gbogbo igba ni iṣafihan agbegbe (ayafi ti aṣẹ aṣẹ "agbaye" ti pese). Isoro ti o wọpọ julọ ni okunfa yii ni nigbati a ti pa aye ni ọna kan. Ni ita ilana naa, spawn_id ko si wa mọ, nitorina ilana ti a ti fi aye silẹ ko ti ni ibiti o wa ni pipe nitori pe o ti ṣagbe. Fikun "agbaye spawn_id" si iru ilana yii.
Ti o ko ba le jẹki agbara agbara multispawning (ie, eto rẹ ṣe atilẹyin tabi yan (BSD *. *), Didi (SVR> 2), tabi nkan to deede), Nireti yoo nikan le ṣakoso ilana kan ni akoko kan. Ni idi eyi, ma ṣe gbiyanju lati ṣeto spawn_id , bẹni o yẹ ki o ṣe awọn ilana nipasẹ exec lakoko ti ilana ti a fi silẹ ti nṣiṣẹ. Pẹlupẹlu, iwọ kii yoo ni anfani lati reti lati ọpọlọpọ awọn ilana (pẹlu olumulo bi ọkan) ni akoko kanna.
Awọn ifilelẹ aye ipari le ni ipa nla lori awọn iwe afọwọkọ. Fun apẹẹrẹ, ti a ba kọ akosile lati wa fun echoing, yoo jẹ aṣiṣebajẹ ti o ba ti paro ni pipa. Fun idi eyi, Reti pe awọn agbara ogun ti njade ni aifọwọyi nipasẹ aiyipada. Laanu, eyi le ṣe ohun ti ko dara fun awọn eto miiran. Gẹgẹbi apẹẹrẹ, ikarahun emacs fẹ lati yi awọn eto oju-iwe "ti o wọpọ": awọn ọja titun ti a ya si awọn ọja tuntun dipo awọn ọja titun ti gbigbe-pada, ati imukuro jẹ alaabo. Eyi n gba ọkan laaye lati lo emacs lati ṣatunkọ ila ila. Laanu, Nireti ko le ṣee ṣe eyi.
O le beere pe Ni ireti pe ko ṣe atunṣe eto aiyipada rẹ ti awọn ipinnu ebute, ṣugbọn o gbọdọ kiyesarara lakoko kikọ iwe afọwọkọ fun iru agbegbe. Ni ọran ti awọn emacs, yago fun ohun ti o da lori awọn ohun elo ti o ni iṣiro ati awọn igbẹhin ila-ila.
Awọn ofin ti o gba awọn ariyanjiyan ti a tẹsiwaju sinu akojọ kan (awọn idaduro idaduro ati ibanisọrọ ) lo a heuristic lati pinnu boya akojọ naa jẹ ariyanjiyan kan tabi pupọ. Ikọran naa le kuna nikan ni ọran naa nigbati akojọ naa ba jẹ aṣoju ariyanjiyan kan ti o ni ọpọ awọn ti a fi kun pẹlu \ n pẹlu awọn ẹda ti kii ṣe oju-afẹfẹ laarin wọn. Eyi dabi pe ko dara, ṣugbọn ariyanjiyan "-nobrace" ni a le lo lati ṣe idaniloju ariyanjiyan kan lati wa ni ọwọ bi ariyanjiyan kan. Eyi le ṣee lo pẹlu idiyele ti Nipasẹ ti ẹrọ. Bakannaa, -abibi a ṣe okunfa ariyanjiyan kan lati mu bi awọn apẹẹrẹ / awọn iṣẹ pupọ.
BUGS
O jẹ idanwo gidi lati pe orukọ naa "ibalopo" (fun boya "Smart EXec" tabi "Firanṣẹ-Iyanu"), ṣugbọn ogbon (tabi boya Puritanism) bori.
Lori diẹ ninu awọn ọna šiše, nigbati a ba fi ikarahun kan pamọ, o nkùn nipa ko ni anfani lati wọle si tty ṣugbọn o nlo ni gbogbo ọna. Eyi tumọ si pe eto rẹ ni eto kan fun nini iṣakoso tty ti Oroti ko mọ nipa. Jowo wa ohun ti o jẹ, ki o si fi alaye yii ranṣẹ si mi.
Ultrix 4.1 (o kere awọn ẹya titun ti o wa nibi) ka awọn akoko ti o ju 1000000 lati jẹ deede 0.
DigitalIX UNIX 4.0A (ati boya awọn ẹya miiran) ko kọ lati pin awọn ptys ti o ba ṣalaye olutọju SIGCHLD. Wo oju-iwe ojulowo fun alaye diẹ sii.
IRIX 6.0 ko mu awọn igbanilaaye Pty ni ọna ti o tọ bi o ba ṣe pe awọn igbiyanju ti o fẹ lati fi ipinnu ti o ti lo tẹlẹ lo nipasẹ ẹnikan, o kuna. Igbesoke si IRIX 6.1.
Telnet (ṣafihan nikan labẹ SunOS 4.1.2) ti ni irọmọ ti TERM ko ba ṣeto. Eyi jẹ iṣoro labẹ cron, ni ati ni awọn iwe afọwọkọ cgi, eyi ti ko ṣe alaye TERM. Bayi, o gbọdọ ṣeto o kedere - si iru iru wo kii ṣe pataki. O kan ni lati ṣeto si nkankan! Awọn wọnyi ṣee ṣe fun ọpọlọpọ igba.
setan (TERM) vt100Atunwo (ṣayẹwo nikan labẹ BSDI BSD / OS 3.1 i386) ti kọmọ ti SHELL ati Ile ko ba ṣeto. Eyi jẹ iṣoro labẹ cron , ni ati ni awọn iwe afọwọkọ cgi , eyi ti ko ṣe alaye awọn oniyipada agbegbe wọnyi. Bayi, o gbọdọ ṣeto wọn ni kedere - iru iru wo kii ṣe pataki. O kan ni lati ṣeto si nkankan! Awọn wọnyi ṣee ṣe fun ọpọlọpọ igba.
ti ṣeto env (SHELL) / oniyi / sh ṣeto env (Ile) / usr / agbegbe / oniyikaDiẹ ninu awọn imuse ti awọn ptys ti ṣe apẹrẹ ki ekuro yọ gbogbo iṣẹ ti a ko jade lẹhin 10 si 15 aaya (nọmba gangan jẹ igbẹkẹle-ṣiṣe) -iṣẹ lẹhin ti ilana ti pa oluṣakoso faili naa. Bayi Awọn eto ti o lero bi
Oorun ọjọ oorun 20 iretiyoo kuna. Lati yago fun eyi, pe awọn eto aibanisọrọ pẹlu aladaniṣẹ pẹlu kuku ju aaye lọ . Lakoko ti o jẹ pe iru ipo bẹẹ le ṣee ṣe, ni igbaṣe emi ko ni ipade ipo kan ninu eyi ti o jẹ ikẹhin ikẹkọ eto ibaraenisọrọ otitọ kan yoo sọnu nitori iwa yii.
Ni apa keji, Cray UNICOS ptys ṣafọ eyikeyi ti a ko jade lẹsẹkẹsẹ lẹhin ilana naa ti pa oluṣakoso faili naa. Mo ti sọ eyi fun Cray ati pe wọn n ṣiṣẹ lori atunṣe kan.
Nigba miran a nilo idaduro kan laarin aarin ati idahun, gẹgẹbi nigbati wiwa tty kan n yi awọn aaye UART pada tabi awọn oṣuwọn iṣan ti o baamu nipa wiwa fun awọn idinku bẹrẹ / idaduro. Maa, gbogbo eyi ni a beere ni lati sun fun keji tabi meji. Ọna ti o lagbara julo ni lati tun gbiyanju titi ẹrọ naa yoo ṣetan lati gba input. Awọn apẹẹrẹ ti o nlo wọnyi nlo awọn ọgbọn mejeeji:
firanṣẹ "iyara 9600 \ r"; orun 1 reti {timeout {firanṣẹ "\ r"; exp_continue} $ tọ}trap -code kii yoo ṣiṣẹ pẹlu eyikeyi aṣẹ ti o joko ni ibudo iṣakoso Tcl, bii oorun. Iṣoro naa ni pe ninu ijabọ iṣẹlẹ, Tcl ṣọ awọn koodu iyipada kuro lati awọn oludari iṣẹlẹ async. A workaround ni lati ṣeto ọkọ ayọkẹlẹ kan ninu koodu idẹ. Lẹhinna ṣayẹwo ọpa lẹsẹkẹsẹ lẹhin aṣẹ (ie, orun).
Awọn ilana expect_background ko kọ -ibọ awọn ariyanjiyan ati ko ni imọran awọn akoko akoko ni gbogbogbo.
& # 34; TI OWON OHUN & # 34;
Awọn nkan meji kan wa ni Nireti ti o le jẹ ti kii ṣe inu-inu. Ẹka yii n gbiyanju lati koju diẹ ninu awọn nkan wọnyi pẹlu awọn itọba meji.
Ipenija ti o wọpọ julọ jẹ bi o ṣe le ṣe akiyesi awọn ikarahun n ṣafihan. Niwon awọn wọnyi ni a ṣe adaniye ọtọtọ nipasẹ awọn oriṣiriṣi eniyan ati awọn agbogidi oriṣiriṣi oriṣiriṣi, leṣe idamu rlogin le jẹ nira laisi mọ ọgan. Adehun ti o ni idaniloju ni lati jẹ ki awọn olumulo fi ojulowo ipolongo apejuwe wọn (ni pato, opin rẹ) ni agbegbe ayika EXPECT_PROMPT. Koodu bi awọn wọnyi le ṣee lo. Ti EXPECT_PROMPT ko si tẹlẹ, koodu naa tun ni anfani to dara fun sisẹ daradara.
Ṣeto ni kiakia "(% | # | \\ $) $";Mo gba ọ niyanju lati kọ awọn ipọnju ti o ni opin ti ohunkohun ti o reti lati ri. Eyi n ṣe idiwọ lati dahun ibeere kan ṣaaju ki o to ri ohun gbogbo. Ni afikun, bi o ṣe le ni idahun awọn ibeere ṣaaju ki o to ri wọn patapata, ti o ba dahun ni kutukutu, idahun rẹ le han pe afẹyinti pada ni arin ti ibeere naa. Ni gbolohun miran, ariyanjiyan ti o jẹ opin yoo jẹ ti o tọ ṣugbọn o jẹ oju ti o dara.
Ọpọlọpọ n tẹle pẹlu ẹya ohun aaye ni opin. Fún àpẹrẹ, ìràwọ lati FTP jẹ 'f', 't', 'p', '>' ati. Lati baramu yi tọ, o gbọdọ ṣayẹwo fun awọn kikọkan kọọkan. O jẹ aṣiṣe ti o wọpọ lati ma fi awọn òfo naa kun. Fi òfo sii ni kedere.
Ti o ba lo apẹrẹ ti fọọmu X *, * yoo baramu gbogbo awọn iṣẹ ti a gba lati opin X si ohun ti o kẹhin gba. Eyi jẹ aifọwọyi ṣugbọn o le ni irọrun nitori pe gbolohun "ohun ti o kẹhin gba" le yatọ si da lori iyara kọmputa naa ati ṣiṣe ti I / O mejeeji nipasẹ ekuro ati awakọ ẹrọ.
Ni pato, awọn eniyan maa n wo oju-iwe eto eto ti o wa ni awọn iṣoro pupọ (atẹkọ) nigba ti ọpọlọpọ awọn eto ṣe ipilẹ jade ni ila kan ni akoko kan. Ti o ba ro pe eyi ni ọran naa, * * ni apẹrẹ ti paragira ti tẹlẹ le nikan ba opin opin ila laini paapaa tilẹ o dabi pe o jẹ diẹ sii, nitori ni akoko akopọ ti o jẹ gbogbo awọn iṣẹ ti a gba.
ireti ko ni ọna ti o mọ pe o wa siwaju sii ti o wa ayafi ti awọn apẹẹrẹ pataki fun apẹẹrẹ rẹ.
Paapa da lori iṣeduro ila-oorun jẹ aṣiwère. Kii ṣe awọn eto ko ṣe ṣe awọn ileri nipa irufẹ iṣẹ ti wọn ṣe, ṣugbọn eto aifikisi le fa awọn ila ti o wa jade lati jẹ ki awọn isinmi ṣinṣin ni aaye ibi ti o dabi ẹnipe. Bayi, ti o ba le ṣafihan awọn ohun kikọ diẹ ti o gbẹhin ti o tọ nigbati o ba kọ awọn ilana, o jẹ ọlọgbọn lati ṣe bẹ.
Ti o ba nduro fun apẹrẹ ni abajade ti o kẹhin ti eto kan ati pe eto naa n gbe nkan miiran wọle, iwọ kii yoo ni anfani lati ri pe pẹlu ọrọ atokọ. Idi ni pe ireti ko ni akoko sisọ - dipo o yoo gba ifihan itọnisọna kan. Lo pe dipo. Paapa julọ, lo mejeji. Iyẹn ọna ti o ba ti gbe ila yii ni ayika, iwọ kii yoo ni lati ṣatunkọ ila naa funrararẹ.
Awọn ọna tuntun ti wa ni iyipada nigbagbogbo si gbigbe kẹkẹ, awọn abala ila laini nigbati oṣiṣẹ lati ẹrọ iwakọ. Bayi, ti o ba fẹ apẹrẹ ti o ṣe afihan awọn ila meji, lati, sọ, printf ("foo \ nbar"), o yẹ ki o lo ilana "foo \ r \ nbar".
Itumọ irufẹ kanna ba waye nigba kika lati olumulo, nipasẹ expect_user . Ni idi eyi, nigbati o ba tẹ pada, o ni yoo ṣe itumọ si newline. Ti o ba ti ni ireti lẹhinna o gba pe si eto ti o gbe apọn rẹ si ipo asayan (bi Telnet), yoo wa iṣoro kan, bi eto naa ṣe n reti ifarahan otitọ kan. (Diẹ ninu awọn eto ti wa ni gangan idariji ni pe wọn yoo ṣe afihan awọn tuntun titun lati pada, ṣugbọn julọ ṣe ko.) Ni anu, ko si ọna lati wa pe eto kan fi apoti rẹ sinu ipo asayan.
Dipo ki o fi rọpo rọpo awọn tuntun pẹlu awọn atunṣe, ojutu naa ni lati lo aṣẹ "stty raw", eyi ti yoo dẹkun translation. Ṣe akiyesi, sibẹsibẹ, pe eyi tumọ si pe iwọ kii yoo gba awọn ẹya-ara ṣiṣatunkọ ila-jinna.
ṣe n ṣafihan pẹlu iṣaṣe ṣeto ebute rẹ si ipo asayan ki iṣoro yii ko ni dide lẹhinna.
O jẹ igba ti o wulo lati tọju awọn ọrọigbaniwọle (tabi awọn alaye ikọkọ ti ara ẹni) ni Awọn iwe afọwọkọti . Eyi kii ṣe iṣeduro niwon ohunkohun ti o ti fipamọ sori kọmputa kan ni o ni ifaragba lati ni ẹnikẹni wọle. Bayi, imudaniloju ibaraẹnisọrọ fun awọn ọrọigbaniwọle lati akosile jẹ idaniloju ti o ni imọran ju ifisilẹ wọn gangan. Laifikita, nigbakugba iru ifisilẹ yii jẹ iyasọtọ nikan.
Laanu, ọna kika faili UNIX ko ni ọna taara ti awọn iwe afọwọda ti o ṣiṣẹ ṣugbọn ti ko le ṣalagba. Awọn ẹrọ ti o ṣe atilẹyin awọn iwe afọwọsi shell shell le ṣe afiwe simẹnti gẹgẹbi wọnyi:
Ṣẹda iwe afọwọsi ti o nireti (ti o ni awọn alaye asiri) gẹgẹbi o ṣe deede. Ṣe awọn igbanilaaye rẹ jẹ 750 (-rwxr-x ---) ati ohun ini nipasẹ ẹgbẹ ti a gbẹkẹle, ie, ẹgbẹ kan ti a gba laaye lati ka. Ti o ba wulo, ṣẹda ẹgbẹ titun fun idi yii. Nigbamii, ṣẹda iwe-akọọlẹ / oniyika-kọọmu / awọn iwe-aṣẹ pẹlu awọn igbanilaaye 2751 (-rwxr-s - x) ti o ni nipasẹ ẹgbẹ kanna bi tẹlẹ.
Abajade jẹ iwe-akọọlẹ eyi ti o le pa (ati ka) nipasẹ ẹnikẹni. Nigba ti a ba pe, o nṣakoso iwe afọwọsi naa.
& # 34; Wo ALSO & # 34;
Tcl (3), libexpect (3)
"Ṣawari Awọn Ifojusi: Ohun elo Irin-iṣẹ Tcl fun idaduro Awọn isẹ Amẹrika" nipasẹ Don Libes, pp. 602, ISBN 1-56592-090-2, O'Reilly and Associates, 1995.
"reti: Ṣiṣayẹwo Awọn Iyatọ Ti Ko ni Imọju ti Iṣeṣepọ" nipasẹ Don Libes, Awọn ilana ti Ooru Odun 1990 USENIX Conference, Anaheim, California, Okudu 11-15, 1990.
Mo "Lilo awọn ireti lati Ṣiṣe Awọn iṣẹ ṣiṣe iṣakoso System" nipasẹ Don Libes, Awọn ilana ti 1990 USENIX Large Installation Systems Administration Conference, Colorado Springs, United, October 17-19, 1990.
. "Tcl: Ilana Ti a Fi Iyipada Ti" nipasẹ John Ousterhout, Awọn ilana ti igba otutu 1990 USENIX Conference, Washington, DC, Oṣu kejila 22-26, 1990..I "reti: awọn iwe afọwọkọ fun Ṣakoso Awọn isẹ Amọraja" nipasẹ Don Libes, Systems Computing , Vol. 4, No. 2, University of California Press Journals, Kọkànlá Oṣù 1991..I "Igbeyewo Ifunni ati Igbeyewo Awọn Ẹrọ Idaamu", nipasẹ Don Libes, Awọn igbesẹ ti Ooru 1992 Apejọ USENIX, pp 135-144, San Antonio, TX, Oṣu Kẹwa 12-15, 1992..I "Kibitz - Nsopọ Awọn Eto Amuṣiṣẹpọ Ọpọlọ Ni Apapọ", nipasẹ Don Libes, Software - Practice & Experience, John Wiley & Sons, West Sussex, England, Vol.
23, No. 5, May, 1993..I "A Debugger for Applications Tcl", nipasẹ Don Libes, Awọn ilana ti Atilẹkọ Tcl / Tk 1993, Berkeley, CA, Oṣu Keje 10-11, 1993.
AUTHOR
Don Libes, Institute of Standards and Technology
ACKNOWLEDGMENTS
O ṣeun fun John Ousterhout fun Tcl, ati Scott Paisley fun awokose. O ṣeun si Rob Savoye fun koodu idaniloju idaniloju ti Ireti.
Iwe faili HISTORY ṣe akosile pupọ ti itankalẹ ti reti . O ṣe awọn kika ti o ni imọran ati o le fun ọ ni imọran siwaju si software yii. O ṣeun si awọn eniyan ti a mẹnuba ninu rẹ ti o rán mi ni awọn atunṣe kokoro ati ki o fun iranlọwọ miiran.
Ṣiṣẹ ati imuse ti Ifowo ti san fun ni apakan nipasẹ ijọba AMẸRIKA o jẹ Nitorina ni agbegbe gbogbo eniyan. Sibẹsibẹ onkọwe ati NIST yoo fẹ kirẹditi ti o ba lo eto yii ati iwe tabi awọn ipin ninu wọn.