لينڪس / يونڪس ڪمان جي اميد

اميد هڪ پروگرام آهي جيڪا ڪنهن لپي جي مطابق ٻين انٽرويو پروگرامن سان ڳالهائيندي آهي. رسم الخط جي پٺيان، توقع آهي ته ڪنهن پروگرام مان ڇا ٿي سگهي ٿو ۽ ڇا صحيح جواب هجڻ گهرجي. هڪ تفسير ٻولي ڊائريڪٽري کي سڌو ڪرڻ لاء شاخنگ ۽ اعلي سطحي ڪنٽرول ڊسپلي فراهم ڪندو آهي. ان کان سواء، صارف سکرٽ تي ڪنٽرول تي ڪنٽرول واپس اچڻ کان پوء سڌو سنئون سڌو ۽ وقتي طور وٺي سگهجن ٿا.

ريچ، اميد ۽ ٽڪي جو هڪ مرکب آهي. اهو صرف اميد ۽ ٽڪي جي خواهش وانگر آهي. توقع پڻ Tcl کان سي سي يا C ++ ۾ استعمال ڪري سگھجي ٿو.

نالو "توقع" مان خيال اچي ٿو / موڪلڻ جي توقع آهي ته مقبول، ڪرمت ۽ ٻين مووميم ڪنٽرول پروگرامن پاران مقبول. بهرحال توهان يونسپس جي ابتڙ، توقع عام ٿي وڃي ٿو ته اهو ذهن ۾ ڪنهن به پروگرام ۽ ڪم سان صارف سطح جو حڪم هلائي سگهجي ٿو. توقع ساڳئي وقت ڪيترن ئي پروگرامن سان ڳالهائي سگهي ٿو.

ڇا ڇا چاهيو ٿا

مثال طور، هتي ڪجهه شيون آهن اهي اميدون ڪري سگهن ٿيون:

هتي مختلف سببن جا سبب آهن ته شيل ڇو اهي ڪم نه ٿا ڪري سگهن. سڀ ممڪن سان ممڪن آهن.

عام طور تي، اميد ڪنهن به پروگرام کي هلائڻ لاء ضروري آهي جيڪو پروگرام ۽ صارف جي وچ ۾ رابطي جي ضرورت آهي. اهو سڀ ڪجهه ضروري آهي ته رابطي کي پروگرام سان ترتيب ڏئي سگهجي ٿو. اميد شايد پروگرام کي ڪنٽرول ڪرڻ کان سواء صارف کي واپس ڪنٽرول ڏئي سگھن ٿا. اهڙي طرح، صارف ڪنهن به وقت رسم الخط تي ڪنٽرول واپس ڪري سگهي ٿو.

استعمال

عمل درآمد ڪرڻ لاء حڪمات جي ھڪڙي فهرست لاء cmdfile پڙھي ٿو. توقع سان سسٽم تي ضمير طور تي سڏبو پيو وڃي جيڪا #! لکت کي لپيٽ ڪرڻ جي طور تي لکيت کي نشان لڳائڻ ۽ لکت ۾ پهريون ليڪ ٺاهڻ:

#! / استعمال / مقامي / بن / اميد -ف

يقينا، رستو جيڪو صحيح زندگي گذارڻ صحيح طور تي بيان ڪرڻ گهرجي. / آئري / مقامي / بن صرف هڪ مثال آهي.

-c پرچم ڪنهن آرٽيڪل ۾ ڪنهن کان اڳ تي عمل ڪرڻ جو حڪم ڪري ٿو. شيل جي ڀڃڪڙي کان بچڻ لاء حڪم کي قاعدو ڪيو وڃي. هي اختيار ڪيترن ئي وقت استعمال ڪري سگھن ٿا. گهڻن حڪمن کي هڪ واحد-سي سان سمڪولين سان الڳ ڪري سگھن ٿا. حڪم جاري ڪيا وڃن ٿا انهن جي ترتيب ۾. جڏهن Expectk استعمال ڪندي، هن اختياري طور تي متعين ڪيو ويندو آهي.

آر ايف جي پرچم ڪجهه تشخيصي پيٽ کي قابل بنائي ٿو، جنهن ۾ بنيادي طور تي حڪمن جي اندروني سرگرمي رپورٽون، اميد ۽ وقتي طور تي رپورٽون. اهو پرچم ساڳئي اثر وانگر "نمائش 1" جي ڪاپي جي رسم الخط جي شروعات ۾، ۽ توقع جي نسخي سان ڇپيل آهي.

هن-ڊي پرچم هڪ انٽرويو ڊيبگر کي قابل بڻائي ٿو. هڪ انوڪار ويل جي پيروي ڪرڻ گهرجي. اڳوڻي ٽلي طريقيڪار اڳيان ڪنٽرول تي قبضو ڪندو، جيڪڏهن قيمت صفر نه آهي يا جيڪڏهن ^ اي سي دٻايو ويندو آهي يا هڪ وقار واري پوائنٽ اچي ويو آهي، يا اسڪرپٽ ۾ ٻيو مناسب ڊيبگر حڪم اچن ٿا. جڏهن ايڪسپيڪ استعمال ڪندي، اهو اختيار طور مقرر ڪيو ويو آهي . ڊيبگ.

هن ايف جي پرچم هڪ فائيل جو نالو پڙهي ٿو جنهن مان ڪمانڊ پڙهڻ لاء. پرچم پاڻ اختياري آهي جيئن ته صرف تڏهن مفيد آهي جڏهن # استعمال ڪندي! نوٽيفڪيشن، پوء ٻين دليلن کي حڪم لائن تي مهيا ڪري سگهجي ٿي. جڏهن ايڪسپيڪ استعمال ڪندي، هن اختيار کي -ايل طور مقرر ڪيو ويو آهي.

ڊفالٽ طرفان، ڪمن فائل فائيل ۾ پڙهڻ ۽ ان جي مڪمل طور تي جاري ڪئي ويندي آهي. اهو وقت ۾ هڪ لڪير فائلن پڙهڻ لاء ڪڏهن ڪڏهن به گهربل آهي. انهي طريقي سان منحصر منفي فائلن کي مجبور ڪرڻ لاء، -ب پرچم استعمال ڪريو. جڏهن Expectk استعمال ڪندي، هي اختيار ببي طور مقرر ڪئي وئي آهي.

جيڪڏهن جملو "-" ڏنل فائيل نالي جي طور تي مهيا ڪئي وئي آهي، معياري ان پٽ جي بدران پڙهي ويندي آهي. استعمال ڪريو "./-" اصل ۾ فائل مان پڙهڻ لاء "-".

آي پرچم جي سببن کي فائل کان پڙهڻ جي بدران ڪن آرڊر جي طور تي ڪمائي طور تي تڪڙو تڪڙو ڪرڻ جي اميد آهي. جلدي ختم ٿيڻ يا اي ايف جي ذريعي خارج ڪيو ويو آهي. هن -i پرچم فرض ڪيو ويندو آهي نه ته ڪو حڪم ڪمان فائل ۽ نه-سي استعمال ٿيندو آهي. جڏهن Expectk استعمال ڪندي، هي اختيار طور بيان ڪيو ويو آهي غير فعال.

- اختيارن جي آخر کي ختم ڪرڻ لاء استعمال ٿي سگھي ٿو. اهو مفيد آهي ته جيڪڏهن توهان پنهنجي رسم الخط ۾ اختيار پسند جي دلائل منظور ڪرڻ چاهيندا آهن انهي کان سواء ان جي توقع سان تشريح ڪئي ويندي. ھي استعمال طور تي استعمال ڪري سگھجي ٿو # اميد جي طرفان ڪنهن به قسم جي پرچم جي تفسير کي روڪڻ لاء لڪير. مثال طور، هيٺ ڏنل arg argument ۾ لکيت جو نالو پڻ اصلي دليل ڇڏيندو.

#! / استعمال / مقامي / بن / توقع -

ياد رهي ته معمول ڇڏوٽپ (3) ۽ عملدرآمد (2) ميراثين کي شامل ڪرڻ لاء جڏهن ڪنوينشن کي نمايان هجڻ گهرجي. لڪير.

فائل $ exp_library / expect.rc موجوده صورت حال خودڪار طور تي محفوظ ڪيو ويندو آهي، جيستائين اين آر جي استعمال ٿيل نه آهي. (جڏهن استيڪڪ استعمال ڪندي، هي اختيار اين اين آر جي طور تي بيان ڪئي وئي آهي) فوري طور تي، فائل ~ ~ .expect.rc خودڪار طريقي سان محفوظ ڪيو ويندو آهي، جيستائين -انجام جو استعمال نه ڪيو ويندو آهي. جيڪڏهن ماحول ۾ متحرڪ DOTDIR وضاحت ڪئي وئي آهي، اهو ڊائريڪٽري جي طور تي علاج ڪيو وڃي ٿو. .expect.rc اتان کان پڙهي ويندي آهي. جڏهن ايڪسپيڪ استعمال ڪندي، هن اختيارن جي طور تي بيان ڪئي وئي آهي. هي سوڊنگ صرف ڪنهن به قسم جي ڪم ڪرڻ کان پوء ٿيندي آهي.

-v سبب ان جو نسخو ڇپائڻ ۽ نڪرڻ جي توقع آهي. Expectk ۾ ساڳئي پرچم، جيڪو ڊگري پرچم نالن کي استعمال ڪري ٿو، وڌو آهي.

اختياري دليل هڪ لسٽ ۾ تعمير ڪئي وئي آهي ۽ متغير نالي arg argument ۾ محفوظ ٿيل آهي. آرڪيڪ آرڪٽ جي ڊيگهه تي شروعات ڪئي وئي آهي.

Argv0 جي ڪا لکيت استعمال ٿيل آهي ته اسڪرپٽ يا بائنري جو نالو گهٽجي ويندو آهي. مثال طور، رسم الخط جي نالي کان هيٺ ڏنل اشارو ۽ پهرين ٽن دلائل:

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

حڪم

ڊوائس ڊوائس ٻولي استعمال ڪندي. ٽليڪ ڪنٽرول جي وهڪري (اگر، لاء، وقف) مهيا ڪري ٿو، اظهار جي تشخيص ۽ ڪيترن ئي ٻين خاصيتن جهڙوڪ ريورسسن ۽ طريقيڪار جي وضاحت. حڪم ڪيل شيون هتي استعمال ڪيا ويا پر وضاحت نه ڪئي وئي (سيٽ، جيڪڏهن، عمل) ٽيل حڪم ڪن ٿا. توقع اضافي حڪمن جي مدد ڪري ٿو. ٻي صورت ۾ ظاهر نه ڪيو وڃي، حڪمن کي خالي اسٽرنگ واپس آڻيندي.

حڪمات الفابيٽ سان ترتيب ڏنل آهي انهي ڪري اهي اهي تڪڙو تڪڙو ٿي سگهن ٿيون. بهرحال، نوان صارف انهي حڪم ۾ اسپون، موڪل، توقع ۽ وقار جي تفصيل پڙهڻ سان ان کي شروع ڪرڻ آسان بڻائي سگھن ٿا.

بند ڪيو [-slave] [-onexec 0 | 1] [-i سپون_يد]

موجوده عمل سان سلسلو بند ڪري ٿو. گهڻيون فعال پروگرامن پنهنجي اسٽينڊين ۽ نڪرڻ تي EOF کي ڳولهي سگهندا؛ تنهنڪري عام طور تي پروسيس کي به ماري نقصان ٿيندو. آي پرچم نالي جو نالو نامزد اسپون_ڊ کي بند ڪرڻ جو اعلان ڪري ٿو.

جڏهن ٻئي اميد ۽ وقتي پيدا ڪندي تڏهن موجوده طريقي سان نڪرندو آهي ۽ ظاهر سان ويجهي ٿيندي، پر جيڪڏهن توهان پروسيس کي ماريندا آهن ته چوندا ته "$$ ڊائريڪٽر ڊائريڪٽر"، توهان کي واضح طور تي بند ڪرڻ جي ضرورت آهي .

Theonexec flag انهي جو اندازو لڳايو آهي ته اسپون id ڪنهن نئين نئين مرحلي ۾ بند ٿيل آهي يا پروسيس کي ختم ڪيو ويندو آهي. اسپون شيل کي ڇڏڻ لاء، قيمت استعمال ڪريو 0. هڪ غير صفر انٽيگر ويلن قيمت ڪنهن نئين عمل ۾ بند ٿيل سپون کي فورسز ڪري ٿو.

اهو -ليلي پرچم اسپون ائڊ سان لاڳاپيل غلام بند ڪري ٿو. جڏهن ڪنيڪشن بند ٿي ويندو آهي، غلام خود بخود بند ٿي ويندو آهي، اهو اڃا به کليل آهي.

ڪابه معاملو تائيد يا واضح طور سان بند ڪيو ويو آهي، توهان کي لاڳاپيل ڪنييل جي عمل جي سلاٽ کي صاف ڪرڻ جو انتظار ڪرڻ گهرجي. بند ٿيل حڪم انتظار نه ڪندو آهي ڇو ته ڪا ضمانت نه آهي ته پروسيسنگ بند ٿيڻ بند ٿيڻ جي سبب بنائي ويندي.

debug [[-ان] 0 | 1]

هڪ ٽال ڊيگر کي سنڀاليندو آهي ته توهان کي قدم ذريعي بيان ڪرڻ ۽ بريڪنگ مقرر ڪريو.

جيڪڏهن ڊاگر ڊوڙندو نه آهي ته ڪو دليلن سان، هڪ 1 موٽي آيو آهي، ٻي صورت ۾ هڪ 0 موٽي وئي آهي.

هڪ دليل سان گڏ، ڊيبگر شروع ٿيو آهي. هڪ 0 دليل سان، ڊيگگر بند ٿي وئي آهي. جيڪڏهن هڪ 1 دليل النساء النساء طرفان اڳ ۾ آهي، اهو ڊگرگر فوري طور تي شروع ڪيو ويو آهي. ٻي صورت ۾، ڊبلگر اڳيان Tcl بيان سان شروع ڪيو ويو آهي.

ڊيب آرڊر ڪنهن به پيچرن کي تبديل نه ڪندو آهي. هن جي مقابلي ڪرڻ لاء -D پرچم سان توقع.

کليل ڪنڊر هڪ فورڪ ٿيل عمل کي ٽرمين کان ڌار ڪري ٿو . اهو سلسلو جاري رهي ٿو. اهو عمل پنهنجي عمل جي گروهه ڏني آهي. معياري آء اي اي / ڊي / خفي ڏانهن ريٽيو ويو آهي.

پس منظر ۾ رسم الخط کي جاري رکڻ لاء هيٺ ڏنل ٽڪرا منقطع استعمال ڪري ٿو.

اگر {{fork]! = 0} نڪتو خارج ڪريو. . .

هيٺ ڏنل لپي کي هڪ پاسورڊ پڙهي ٿو ۽ هر ڪلاڪ هڪ پروگرام هلندو آهي جيڪو هر وقت هلائي ٿو هر وقت پاسورڊ جي طلب ڪندو آهي. اسڪرپٽ کي پاسورڊ وسائي ٿو ته توهان کي صرف هڪ ڀيرو ٻيهر لکڻو آهي.

send_user "پاسورڊ؟ \" expect_user -re "(. *) \ n" جي لاء {} 1}}، جيڪڏهن جيڪڏهن [[fork]! = 0} {ننڊ 3600؛ جاري} ڊسڪشن سپاون شخصي_prog جي اميد آهي: پاس ورڈ "$ expect_out ( 1، جملو) \ ر ". . . ٻاھر

ھڪڙي فائدي واري شيل ايڪسڪوونشن پروسيس خصوصيت (&) تي منٽ استعمال ڪرڻ لاء اھو آھي ته اميد کي टर्मिनल परिमितिहरू विच्छेद भन्दा पहिले बचत गर्न सक्दछ र पछि तिनीहरूलाई नयाँ ptys लाई लागू गर्न सक्दछ. ۽، توقع سان ٽرمين جي پيٽرولن کي پڙهڻ لاء ڪو امڪان نه آهي ڇو ته ٽرمين ڪنٽرول حاصل ڪري سگهيو آهي ڇاڪاڻ ته اڳ ۾ ئي وقت جي ڀيٽ ۾ ڪنٽرول حاصل ڪري ٿي.

ٻاھر [[پوپ]] [جڳھ]

عارضي طور تي نڪرڻ يا ٻي صورت ۾ تيار ڪرڻ جي توقع آهي.

Theoneoneit flag جي نتيجي ۾ ايندڙ دليلن کان ٻاهر نڪرڻ جي طور تي استعمال ٿيڻ سبب. بغير ڪنهن دليل جي، موجوده نڪرڻ وارو هٽلر موٽي آيو آهي.

-noexit پرچم سبب نڪرڻ لاء تيار ٿيڻ جي اميد رکندي پر اصل ۾ ريٽرننگ ڪنٽرول جو مختصر آپريٽنگ سسٽم ڏانهن روڪي. استعمال ڪندڙ کان نڪرڻ وارو هيڪر هلائيندڙ وانگر گڏوگڏ توقع جي پنهنجي اندروني هٿيار آهي. ٻيو ڪو به حڪم نه ڪيو وڃي ته حڪم جاري ٿيڻ گهرجي. اھو مفيد آھي جيڪڏھن توھان اميد رکو ٿا ته ٻين Tcl وڌن سان گڏ. موجوده مترجم (ٽڪ ماحول ۾ ۽ مکيه ونڊو) باقي رهي ٿي ته ٻين Tcl ملن کي صاف ڪري سگھون ٿا. جيڪڏهن توقع جي نڪرڻ وري کي سڏيو ويندو آهي (جڏهن ته اهو شايد ٿي سگهي ٿي)، هٿ ڪندڙ رونما نه آهن.

خارجي طور تي، فوري طريقن سان سڀني رابطن بند ڪيا ويا آهن. EOF وانگر سپرو ٿيل عملن جي ذريعي بند ڪيو ويندو. نڪرڻ کان سواء ٻيو ڪارناما نه آهي جيڪو عام _exit (2) طريقي سان ڪندو آهي. اهڙيء طرح، عمل جي ڳولا جو جيڪي EOF لاء چيڪ نه ٿا ڪري سگهندا هوندا. (حالتن جي مختلف قسمن جو تعين ڪرڻ لاء اهم آهن، مثال طور، فوري عمل جي ڪهڙي نشاني موڪلي ويندي، پر اهي نظام تي منحصر، عام طور تي دستاويز (3) آهن.

ڪيفيت (يا 0 ڄاڻايل نه آهي) جي اميد جي نڪرڻ واري حيثيت جي طور تي موٽي ويندي آهي . خارجي طور تي تخليق ڪيو آهي ته لکيت جي آخر تائين پهچي وڃي ٿي.

exp_continue [-continue_timer]
آرڊر جي ٻاھرين جو پاڻ کي اميد ڏيڻ جي اجازت ڏيڻ جي بدران جاري رکڻ جي بدران جيئن عام طور تي ها. ڊفالٽ exp_continue ٽائيم ٽائيم ٽائمر کي ريٽائٽ ڏيندي . Thecontinue_timer پرچم کي ٽرٽر کي بحال ٿيڻ کان روڪي ٿو. (وڌيڪ معلومات لاء توقع ڏسو.)

exp_internal [-f file] قدر
سببن جي تشخيص معلومات موڪلڻ لاء وڌيڪ حڪم ڏئي اندروني طور تي هئڻ جي توقع ڪرڻ لاء جيڪڏهن صفر صفر آهي. اها چڪاس آهي جيڪڏهن قيمت 0 آهي. تشخيص جي معلومات هر ڪردار کي موصول ٿي آهي، ۽ هر ڪوشش جي نمونن جي موجوده دور سان ٺهرايو ويو آهي.

جيڪڏهن اختياري فائل فراهم ڪئي وئي آهي، सबै सामान्य र डिबगिङ आउटपुट त्यो फाइलमा लेखिएको छ (मूल्य جي قيمت پر قطع نظر). ڪنهن به اڳوڻي تشخيصيه ٻاولي فائيل بند ڪيو ويو آهي.

-info پرچم exp_internal کي ڏنل تازو غير ڄاڻ دليلن جي بيان جي موٽڻ جي ڪري ٿو.

exp_open [args] [-i spawn_id]
ھڪڙي ٽچ فائل جي سڃاڻپ ڪندڙ کي واپس ڏئي ٿو جيڪو اصل اسپون جي سڃاڻپ ڪندو آھي. فائل جي سڃاڻپ ڪندڙ کي انهي جي طور تي استعمال ڪري سگهجي ٿو جيڪڏهن اهو ٽيلڪ جي کليل حڪم طرفان کوليو ويو هو. (اسپون id کي استعمال نه ڪرڻ گهرجي. ڪو انتظار ٿيڻ نه گهرجي.

اڻڄاتل پرچم جا پگهار اسپون ايڪ جي ذريعي رسائي لاء ڪنٽرول جي ذريعي ڇڏيل آهن. هڪ انتظار اسپون id تي معطل ٿيڻ گهرجي.

exp_pid [-i spawn_id]
انهي عمل جي عمل سان ملندڙ پروسيس جو ڪم موٽائي ٿو. جيڪڏهن -i پرچم استعمال ڪيو ويندو آهي، ته پٽي ڏنل ڏنل اسپون شدي جي برابر هوندو آهي.

exp_send
موڪلڻ لاء هڪ عرف آهي.

exp_send_error
موڪليو_error لاء هڪ عرف آهي.

exp_send_log
موڪليو_log جي لاء هڪ عرف آهي.

exp_send_tty
موڪلڻ لاء هڪ عرف آهي.

exp_send_user
موڪليو_user لاء هڪ عرف آهي.

exp_version [[-exit] version]
ڪارائتو آهي ته اهو رسم الخط جي موجوده نسخ سان صحيح آهي.

ڪوبه دليلن سان، توقع جو موجوده نسخو موٽيو ويو آهي. اهو نسخو توهان جي رسم الخط ۾ وري انڪوڊ ڪيو ويندو. جيڪڏهن توهان اصل ۾ ڄاڻو ٿا ته توهان تازو ورزن جي خوبين کي استعمال نٿا ڪيو، توهان هڪ اڳوڻي نسخو بيان ڪري سگهو ٿا.

نسخن ۾ ٽن انگن طرفان جدا جدا انگن شامل آهن. پهريون نمبر وڏي انگ آھي. نسخن جي نسخن جي لکت لاء مختلف اهم نمبرن سان لکندڙ تقريبن ضرور ڪم نه ڪندو. واڌ وڌائڻ جيڪڏهن وڏي تعداد ۾ مکيه نه هجي ته هڪ غلطي موٽائي ٿي.

ٻيو نمبر گهٽ آهي. ھڪڙو نسخن لاء لکندڙ نسبتا وڏو نابري نمبر سان موجوده ورزن کان وٺي سگھي ٿو ڪجھھ نيون خصوصيت تي منحصر ڪري سگھي ٿو. ويڪرائيٽ جيڪڏهن وڏي انگ ميچ ۾ هڪ غلطي موٽائي ٿو، پر اسڪرپٽ معمولي نمبر اس کان وڌيڪ آهي جو ڊوڙندو Exppect .

ٽيون نمبر آھي، جيڪو ڊراما نسخن جي مقابلي ۾ ڪابه حصو ڪونھي. بهرحال، اهو وڌايو ويندو آهي جڏهن ته ڪاپي سافٽ ويئر ورهائڻ ڪنهن به طريقي سان تبديل ٿي وئي آهي، جهڙوڪ اضافي دستاويز يا اصلاح جي ذريعي. اهو هر نئين نئي نسخي تي 0 تي ريٽ ٿيو.

-تعليم جي پرچم سان، پرنٽ کي هڪ غلطي جي اميد آهي ۽ جيڪڏهن نسخ جي تاريخ کان ٻاهر آهي.

توقع [[پوپ] پي 1 جسم 1] ... [-وٽا] پني [bodyn]
انتظار ڪري ٿو جيستائين هڪ نموني عمل جي پيدائش سان ملندڙ نمونن مان هڪ، هڪ ڊگهو وقت جو عرصو گذري چڪو آهي يا ختم ٿيڻ واري فائل کي ڏٺو ويو آهي. اگر حتمي جسم خالي آهي، اهو ختم ڪري سگهجي ٿو.

آرڊر جي سڀ کان وڌيڪ اميد_ظر کان نموني ڪنهن ٻئي نمونن کان اڳ استعمال سان استعمال ڪيا ويا آهن. آرڊر ۾ سڀ کان وڌيڪ اميد واري پيٽ مان نمونن کي ڪنهن ٻئي نمونن جي طريقي سان استعمال ڪيو وڃي ٿو.

جيڪڏهن دليلون پوري اميدون بيان کي هڪ کان وڌيڪ لائن جي ضرورت هونديون آهن، سڀني دليلن کي هر هڪ "برتري" ۾ شامل ڪري سگهجي ٿو، جيئن هر لائين ختم ڪرڻ کان بچڻ کان بچي. هن هڪ صورت ۾، باهمي باوجود، عام طور تي Tcl متبادل اپيل ٿيندي.

جيڪڏهن هڪ نمونہ ڳولهندڙ لفظ آهي، انهي جي جسم جي آخري فائيل تي عمل ڪيو ويندو آهي. جيڪڏهن هڪ نمونہ لفظي وقت جو وقت آهي ، ساڳئي جسم کي وقت تي لڳايو ويو آهي. جيڪڏهن ڪوبه ٽائيم ڳجهي لفظ استعمال نه ڪيو ويو آهي، هڪ وقت جي وقت تي هڪ واضح نقل وارو عمل لاڳو ڪيو ويو آهي. ڊفالٽ ٽائيم ٽائيم 10 سيڪنڊ آهي پر مقرر ٿي سگھي ٿو، مثال طور 30 ​​تائين، حڪم "سيٽ ٽائيٽ 30" طرفان. هڪ لامحدود ٽائيم قيمت -1 طرفان نامزد ٿي سگھي ٿو. جيڪڏهن هڪ نمونہ لفظي ڊفالٽ آهي ، انهي جي جسم کي ڪنهن به وقت يا آخر جي فائل تي عمل ڪيو ويندو آهي.

جيڪڏهن هڪ نمونن سان ملندو آهي، انهي سان لاڳاپيل لاش جاري آهي. توقع جسم جي نتيجن کي موٽائي ٿو (يا خالي واري سٽ جو نتيجو ملائي نه هجي). انهي صورت ۾ متعدد نمونن جو ملندڙ، پهريون دفعو ظاهر ڪري هڪ جسم کي چونڊڻ لاء استعمال ڪيو ويندو آهي.

هر وقت نئين پيدا ٿيندڙ آمد، ان جي فهرست ۾ هر نموني جي مقابلي ۾ آهي. ان ڪري، توهان آخري نمون ٺاھڻ جي ضمانت جي ذريعي ڪنهن ميچ جي غير موجودگي جي جاچ ڪري سگھو ٿا جيڪي ڪجھه ضمانت ظاهر ٿي سگھن ٿيون، جهڙوڪ جلدي. حالتن ۾ جتي ڪو به تڪڙو نه آهي، توهان کي وقت جو استعمال ڪرڻ گهرجي (جهڙوڪ جيڪڏهن توهان دستياب طور تي گفتگو ڪيو هو).

نمونن ٽن طريقن سان بيان ڪيا ويا آهن. ڊفالٽ طور، نمونن جي طور تي طيل جي اسٽريٽ ميڊيڪل حڪم سان متعين ڪيو ويو آهي. (اهڙيون نمونن پڻ سي-شيل باقاعده بيانن سان عام طور تي آهن. هن -گال پرچم نمونن کي تحفظ ڏيڻ لاء استعمال ڪري سگهجن ٿيون جيڪا ٻي صورت ۾ ائين ڪرڻ کان جھلڻ جي نمائش سان ملن ٿيون. ڪنهن به طريقن سان شروع ٿي "-" هن طريقي سان محفوظ ڪيو وڃي. ("سڀئي" مستقبل جي اختيارن لاء محفوظ آهن.

مثال طور، هيٺ ڏنل ٽڪرا ھڪ ڪامياب لاگ ان لاء ڏسي ٿو. (ياد رهي ته حيرت واري جاء تي بيان ڪيل طريقيڪار جو طريقو پيش ڪيو ويو آهي).

توسان {مصروف {لڳائي مصروف \ n؛ exp_continue} ناڪام ٿي ويو "غلط پاسورڊ" بند ٿيل وقت ختم ٿيڻ بند ٿيل)

چوٿين نمونن تي Quotes ضروري آهن ڇاڪاڻ ته اهو هڪ جاء تي آهي، جيڪا ٻي صورت ۾ عمل کان نموني کي جدا ڪري سگهندي. ساڳئي عمل سان نموني (جهڙوڪ ٽيون ۽ چوٿين) جي ڪارناما ٻيهر لسٽ جي ضرورت هوندي آهي. اهو رجسٽر انداز جي طرز نموني استعمال ڪرڻ کان بچائي سگهجي ٿو (هيٺ ڏسو). گلوبل طرز جي نمونن ٺاهڻ تي وڌيڪ معلومات Tcl دستياب ۾ ڳولهي سگهجن ٿا.

رجسٽر طرز جي نمونن کي نحو جي نحوي پٺيان Tcl جي رجسٽر ڪيل (مختصر "" باقاعده اظهار "لاء) بيان ڪيو ويو. رجسٽر نمونن جا پرچم پيش ڪيا ويا آھن. پوئين مثال ريگ فيس جي طور تي رائج ڪري سگھجي ٿو:

توسان {مصروف {لڳائي مصروف \ n؛ exp_continue} -re "ناڪام ٿيل" غلط پاسورڊ "ڳنڍيل وقت ختم ٿيڻ بند ٿيل)

ٻنهي قسمن جي نمونن کي "اڻ ڄاڻايل" آهن. ان جو مطلب اهو آهي ته نمونن کي پوري سوراخ سان ملڻ جي ضرورت نه آهي، پر شروع ڪري ٿو ۽ سٿري ۾ ڪٿي به مچ کي ختم ڪري ٿو. استعمال ڪريو ^ ھڪڙو جملو جي شروعات سان، ۽ $ ختم ڪرڻ لاء ختم ڪريو. اهو نوٽ ڪريو ته توهان هڪ تار جي آخر تائين انتظار نه ڪندا، توهان جا ردعمل آسان طريقا جي وچ ۾ ختم ڪري سگهجن ٿيون جيئن اهي ٺاهيل عمل مان نڪتل آهن. جيتوڻيڪ اڃا صحيح نتيجن جي پيداوار، ان جو محصول غير نفيس نظر اچي ٿو. ان ڪري، $ جي استعمال جي حوصلہ افزائي ڪئي ويندي اگر توهان تار جي آخر ۾ اکرن کي بيان ڪري سگھو ٿا.

ياد رهي ته ڪيترن ئي ايڊيٽرن ۾، ^ ۽ $ ترتيب سان قطار جي شروعات ۽ پڇاڙيء سان ملائي ٿو. تنهن هوندي، ڇو جو اميد قطار نه پر مبني آهي، اهي ڪردارن کي ڊيٽا جي شروعات ۽ آخر سان (انهي لائنن جي مخالفت) سان گڏ هڻڻ جي نموني بفر ۾. (انهي تي، هيٺيون نوٽ ڏسو "سسٽم ھندوستان.")

بي -ايڪس پرچم کي "عين مطابق" سوراخ جي حيثيت سان ملائي وڃي ٿو. ڪا تفسير *، ^، وغيره وغيره ٺهرايو آهي (باقي عام طور تي Tcl ڪنوينشن اڃا به ڏسي سگهجي ٿو). بلڪل نمونن جھڙا آھن.

-ڪيڪس پرچم کي ٻاھرين جي وڏي اکر جي مقابلي ڪرڻ لاء ڄڻ ته اهي ننڍا اکر وارا هئا. اهو نمونو متاثر نه ٿيو آهي.

ٻاڦ پڙهڻ دوران، 2000 بائيٽ کان وڌيڪ اڳ ۾ بائبل کي "وساري" ڪري سگھجن ٿا. اهو فنڪشنل ميچيڪم ايمڪڪس سان تبديل ٿي سگهي ٿو. (ياد رهي ته گهڻو ڪري وڏي قدر قيمتن کي مٽيء سان سست ڪري سگهي ٿو.) اگر لسٽ فهرست مڪمل_بفر آهي، انهي لاش کي مسٽمائيڪڪس باڪس حاصل ٿي چڪو آهي ۽ ٻيو نمون ملن ٿا. مڪمل_buffer لفظي استعمال ٿيل هجي يا نه، استعمال ٿيل آهين اهي اميد__ (buffer) ڏانهن لکيل آهن.

جيڪڏھن لسٽ ليٽيل لفظ ڳجھو لفظ آھي، ۽ ناپسند ٿيل اجازت آھي ( remove_nulls ڪمن ذريعي)، ھڪڙي جسم جي ھڪڙي صورت ۾ ھوندو آھي جيڪڏھن اھو ASCII 0 ملائي آھي. اهو ممڪن نه آهي 0 باٽ ميٽ ذريعي عالمي يا ريگنيٽ نمونن ذريعي.

مٿي ملندڙ ھڪ نمونہ (يا ايوف يا مڪمل_بفرر)، ڪنھن مئل ملازمت ۽ اڳوڻي بي ايم ايل ۾ متغير expect_out (بفر) ۾ محفوظ آھي. 9 رجسٽرڊ سبسنگنگ ميچز تي متغيرات ۾ محفوظ ٿيل آهن expect_out (1، string) ذريعي expect_out (9، string) . جيڪڏهن اهو بيرغ هڪ نمونو کان اڳ استعمال ڪيو ويندو آهي، شروع ۽ ختم ٿيل انڊسٽس (10 جي ترتيبن جي لينج ۾ هڪ فارم ۾) 10 ڏيڍن جي لاء متغير ۾ محفوظ ٿيل_ (X، شروعات) ۽ اميد_out (X، آخر) جتي اي آهي عدد، بفر ۾ ذيلي فرسٽ پوزيشن سان ملندو آهي. 0 جيڪو مڪمل نمون سان ملائي ٿو جيڪو ڏيهان ڏي ٿو ۽ گلوبل جي نمونن لاء ۽ رجسٽريشن جي نمونن لاء تيار ڪيل آهي. مثال طور، جيڪڏهن ڪنهن پروسيس "abcdefgh \ n" جي پيداوار پيدا ڪئي آهي، ان جو نتيجو:

توقع "سي ڊي"

جيئن ته هيٺين بيان جاري ڪيو ويو آهي.

مقرر اميد_आउट (0، جملو) سي ڊي سي اميد_out (بفر) بي ايم سي

۽ "efgh \ n" ٻاھرڻ بفرر ۾ ڇڏي ويو آھي. جيڪڏهن هڪ پروسيس کي "ABbbcabkkkaka" ن پيدا ڪيو ويو، ان جو نتيجو:

توقع-ڪياسون-بي "ب (ب *). * (k +)"

جيئن ته هيٺين بيان جاري ڪيو ويو آهي.

مقرر اميد_out (0، شروع) 1 مقرر اميد_out (0، آخر) 10 سي اميد_out (0، سوراخ) بي بي بي سي ٽاکڪ سيٽ اميد_out (1، شروع) 2 سي اميد_ مقرر (1، آخر) 3 سي اميد_out (2، شروع) 10 سي اميد_out (2، آخر) 10 مقرر اميد_out (2، سوراخ) k سي اميد_out (بفر) ابوبڪربڪ

۽ "ا \ n" ٻاھرڻ واري بفرر ۾ ڇڏي ويو آھي. نمونہ "*" (and -re ". *") پروسيس کان وڌيڪ ٻاھر پڙهڻ کان بغير ٻاڦ واري بفر کي فوري ڪندو.

عام طور تي، ملائي ٻاھر ڪڍڻ جي اميد کان اندروني بفر کان رد ڪيو ويو آھي. اهو غير قومن جي منتقلي جي پرچم سان نموني جي نموني کي روڪڻ کان روڪيو وڃي ٿو. هي پرچم خاص طور تي استعمال ۾ مفيد آهي (۽ تجربو جي دوران سهولت لاء "نه" ڪري سگهجي ٿو).

اسپون id سان ملاوڻ واري شين سان لاڳاپيل (يا اليڪف يا مڪمل_بفر) expect_out (spawn_id) ۾ محفوظ ڪئي وئي آهي.

-timetime پرچم کي موجوده اميد واري جڳهه وقت قيمت جي قدر استعمال ڪرڻ بدران هيٺين قيمت کي استعمال ڪرڻ جو سبب بنائي ٿو.

ڊفالٽ جي طور تي، نمونن موجوده پروسيسنگ مان نڪرڻ جي باوجود ملائي رهيا آهن، جڏهن ته ان کي پرچم نالي اسپون_ڊ واري فهرست مان ظاهر ڪري ٿو، ڪنهن به هيٺين نموني جي خلاف ملائي (اگني کان وٺي). سپون_يد لسٽ يا وري هڪ سپائٽ اسپيس جدا ٿيل فهرست اسپون_يد جي هجي يا سپون_ئيڊ جي اهڙي فهرست لاء متغير حواله هجڻ گهرجي.

مثال طور، هيٺيون مثال موجوده پروسيس مان "ڳنڍيل" جي لاء انتظار ڪري ٿو، يا "مصروف"، "ناڪام" يا "غلط" پاسورڊ اسپون_ڊ کان $ proc2 جي نالي سان.

توقع رکندي {-i $ پرو2 مصروف {ڇڪيون پيون \ n؛ exp_continue} -re "ناڪام ٿيل" غلط پاسورڊ "ڳنڍيل وقت ختم ٿيڻ بند ٿيل)

گلوبل متغير جي قيمت ڪنهن_ اسپاون_id شايد ڪنهن اسپون_ڊين جي نمونائن کي استعمال ڪرڻ لاء استعمال ڪري سگهجي ٿي جيڪا موجوده اميد واري ڪم ۾ سڀني سڀني -i پرچم سان رکيو ويو آهي. Ai-flag جي ڪا به لاڳاپيل نموني سان (سپون_، فوري طور تي ٻئي -i جي طرفان) ٺاهيو ويو آهي ڪنهن به_spawn_id سان گڏ ساڳئي اميد واري حڪم ۾ ڪنهن ٻئي نمونن لاء دستياب آهي .

آي پرچم شايد هڪ عالمي متغير جو نالو ڏئي سگهي ٿو جنهن ۾ متغير اسپون آئيس جي لسٽ لاء پڙهي ويندي آهي. متغير هجي جڏهن اهو تبديلي هجي. هي اي او اي ماخذ تبديل ڪرڻ جو طريقو مهيا ڪري ٿو جڏهن حڪم ڪمان ۾ عمل ۾ آهي. اسپون امداد ڏنل طريقا مهيا ڪيا ويا آهن "اڻ سڌي" سپونڊ.

جهڙوڪ ڌڪڻ ۽ وڌوڪ ڪنٽرول ڊولپمينٽ ڪارڻ (يعني يعني، پرو ، پرو ) کي معمولي طريقي سان عمل ڪرڻو پوندو. آرڊر جي ٻاھرين جو پاڻ کي اميد ڏيڻ جي اجازت ڏيڻ جي بدران جاري رکڻ جي بدران جيئن عام طور تي ها.

اهو واضح چپس کان بچڻ لاء يا توقع جي بيانن کي بار بار ڪرڻ لاء مفيد آهي. ريليئن کي خودڪار ڪرڻ لاء هيٺين مثال هڪ ٽڪرا جو حصو آهي. Exp_continue هڪ ٻلو اميد واري بيان جي وضاحت ڪري ٿو (جلدي کي ڳولڻ لاء) جڏهن ته ريليين پاسورڊ کي ترجيح ڏني وڃي.

توهين: پاسورڊ: {stty -echo send_user "$ host ($) لاء $ host_lso:" expect_user -re "(. *) \ n" send_user "\ n" موڪل "$ expect_out (1، string) \ r" stty گونگو exp_continue} غلط درست {send_user "غلط ڳجھو لفظ يا اڪائونٽ \ n" نڪرڻ واري وقت "وقت جي وقت تائين [host_user" جو لاڳاپو $ ميز تائين گذريو ويو آهي \ n "نڪرڻ وارو" eof {send_user \ "هوسٽ لاء لاڳاپو ناڪام ٿي: $ expect_out (buffer)" نڪرڻ " re $ instpt}

مثال طور، هيٺ ڏنل ٽڪرا هڪ صارف جو هڪ رهنمائي ڪرڻ واري هڪ گائيڊ جي مدد ڪري سگھي ٿو جيڪا اڳوڻي خودڪار ٿيل آهي. هن حالت ۾، اهو اصطلاح خام موڊ ۾ رکيو ويندو آهي. جيڪڏهن صارف "+" کي دٻايو، هڪ متغير وڌي وئي آهي. جيڪڏهن "پي" دٻايو ويندو آهي، ڪيترن ئي واپسي عمل ۾ موڪلي وينديون آهن، شايد ان کي ڪجهه طريقي سان ڇڪيو وڃي، ۽ "مان" کي صارف کي پروسيس سان لهه وچڙ ڏئي سگهي ٿو. هر حالت ۾، exp_continue جي اجازت ڏئي ٿو ته موجوده ڪارڪردگي جي عمل کان پوء موجوده نمونن جي نموني جاري رکي.

خام چوري چوري اميد expect_after {ai user_spawn_id "p" {send "\ r \ r \ r"؛ exp_continue} "+" {incr foo؛ exp_continue} "i" {انيڪ؛ exp_continue} "خارج ڪريو" مان نڪتل

ڊفالٽ طرفان، exp_continue ٽائيم ٽائيم ٽائيم ٻيهر ريٽيو . ٽائمر کي ٻيهر شروع نه ٿيو، جيڪڏهن توضيق ٿيڻ تي -continue_timer پرچم سان سڏيو ويندو آهي.

اميد_after [expect_args]
انهي کان سواء ڪا به اميد آهي ته جيڪڏهن_ اميد آهي ته جيڪڏهن توقع ۽ اميد جي ٻن نمونن کي ملن ٿيون، توقع جي نموني استعمال ٿئي ٿي. وڌيڪ معلومات لاء اميد_be آرڊر ڏسو.

اميد_background [expect_args]
ساڳي دليلن کي توقع وٺندو آهي، پر اهو فوري طور تي واپس اچي ٿو. نمونن کي جانچيو ويندو آهي جڏهن به نئين انٽرويو اچي ٿي. نموني جو وقت ۽ طئي ٿيل بي معني expectbackback جي معني آهي ۽ خاموشيء سان رد ڪري رهيا آهن. ٻي صورت ۾، expect_background command expect_before ۽ توقع کان پوء توڻي وانگر اميدن جي صورت ۾ استعمال ڪندو آهي.

جڏهن اميد_background ڪارناما ويجهڙائي ڪئي پئي وڃي، ساڳئي اسپون جي پس منظر جي پروسيس کي روڪيو ويو آهي. جڏهن عمل مڪمل ٿئي ٿي پس منظر جي پروسيسنگ غير بند ٿيل آهي. جڏهن پس منظر پروسيسنگ کي بلاڪ ڪيو ويو آهي، اهو ممڪن آهي ته هڪ (پيشو) انهي ساڳن id تي توقع رکي .

امید ہے کہ امید کی توقع کرنے کے لئے ممکن نہیں ہے جب ایک expect_background غیر مسدود ہو . اميد جي ڪنهن خاص اسپون لاء expect_background کي ختم ڪيو ويو آهي نئين توقع واري بڪ کي ساڳيو اسپون id سان اعلان ڪندي. اميد واري بڪ ورڊ کي ڪو نمونن سان بيان ڪرڻ واري پسمنظر ۾ پس منظر ۾ نموني سان ملائي ڏيڻ جي صلاحيت کي ڏني وئي آهي.

hope_before [expect_args]
ساڳي دليلن کي توقع وٺندو آهي، پر اهو فوري طور تي واپس اچي ٿو. ساڳئي اسپون ڊي سان ڀرپاسي واري اميد واريون جوڙو ساڳيو اسپون مان ڪنهن به هيٺين امڪاني حڪم سان شامل ڪيا ويا آهن. جيڪڏهن هڪ نمونج مادو، اهو علاج ڪيو ويندو آهي ته اهو توقع جي حڪم ۾ خود مقرر ڪيو ويو آهي، ۽ منسلڪ جسم جي اميد واري حڪم جي سلسلي ۾ جاري آهي. جيڪڏهن ٻنهي طرفن جي توقع ۽ توقع مچائي سگھي ٿي، توڻي جو اندازو استعمال ٿيندو آهي.

جيڪڏهن ڪو نمونو بيان نه ڪيو ويو آهي، اسپون id ڪنهن به نمونن لاء چيڪ ناهي.

جيستائين اي - اي پرچم جي طرفان رد ڪئي وئي هجي، نمونن جو اندازو لڳايو ويو ته نمونن اسپون ايٽ جي خلاف ٺهڪندڙ وقت مقرر ڪيو ويو آهي جيڪو اڳڪٿي_ اڳ حڪم ڪيو ويو آهي (جڏهن ان جو نمونو ملائي نه هجي).

Theinfo flag جي توقع ٿيڻ_ڪڻ کان پهريان موجوده نمونن جي نمونن کي واپس آڻيندي ان کي نموني ملندي. ڊفالٽ طور، اها موجوده اسپون id تي رپورٽ ڪري ٿي. ھڪڙو اختياري سپون شناخت تصنيف جيڪا سپون شئي پر معلومات حاصل ڪري سگھي ٿي. مثال طور

expect_before -info -i $ proc

گهڻو ڪري هڪ سپون شئي جي وضاحت ڏنل ٿي سگهي ٿي. پرچم -يندد سڌو سڌي طرح اسپون ڏئي ٿو جيڪو صرف اڻ سڌي طرح وضاحتن مان اچي ٿو.

سپاون جي ID جي وضاحت جي بغير، پرچم "-all" کي سڀني سپونڊي ايڊمنسٽن جي رپورٽ ڪرڻ لاء "-فون" سبب ٿيندو.

انهي -info پرچم جي پيداوار جي توقع ٿيڻ جي دليل جي طور تي استعمال ڪري سگھجي ٿو.

اميد_tty [expect_args]
مثلا توقع آھي پر اھو اکرن کي / dev / tty مان پڙھي ٿو (يعني صارف کان ڪنٽرول). ڊفالٽ جي ذريعي، پکايا موڊ ۾ پڙهندي آهي. ان ڪري، قطار انهن کي ڏسڻ جي اميد لاء واپسي سان ختم ٿيڻ گهرجي. اهو سٽي ذريعي تبديل ٿي سگهي ٿي (هيٺيون اسٽيٽي حڪم ڏسو).

اميد_س [expect_args]
جهڙو توقع آھي پر اھو ان کي اسٽرن کان اکرن کي پڙھي ٿو (يعني استعمال ڪندڙ جي ڪنٽرول). ڊفالٽ جي ذريعي، پکايا موڊ ۾ پڙهندي آهي. ان ڪري، قطار انهن کي ڏسڻ جي اميد لاء واپسي سان ختم ٿيڻ گهرجي. اهو سٽي ذريعي تبديل ٿي سگهي ٿي (هيٺيون اسٽيٽي حڪم ڏسو).

ڪٽڪ
کي نئين پروسيس بڻائي ٿو. نئين عمل موجوده موجوده عمل جي صحيح ڪاپي آهي. ڪاميابي تي، ڪانٽو نئين (ٻار) جي عمل ڏانهن 0 موٽائي ٿو ۽ ٻار جي عمل کي پروسيس جي پروسيس کي والدين پروسيس ڏانهن موٽائي ٿو . ناڪامي تي (عموما وسيلن جي کوٽ جي سبب، مثال طور، ترڪي واري جاء، ياداشت)، والدين عمل جي واپسي کان واپسي -1، ۽ ٻار جو عمل پيدا نه ٿيو.

فورڪ ٿيل عمل نڪرڻ واري ڪمن ذريعي نڪرڻ ، صرف اصل عمل وانگر. فورڪ ٿيل عملن کي لاگ فائلن ۾ لکڻ جي اجازت آهي. جيڪڏهن توهان اڪثر عملن ۾ ڊيبنگنگ يا لاگنگ ناگزير نٿا ڪيون، نتيجو پريشان ٿي سگهي ٿو.

ڪجهه پيٽ منصوبن ڪيترن ئي پڙهندڙن ۽ اديبن پاران پريشان ٿي سگهي ٿو، جيتوڻيڪ ٿورو ئي. ان ڪري، ان کان بچڻ واري عمل کان اڳ سائيڪل لاء محفوظ آهي.

ميراث [string1 body1] ... [stringn [bodyn]]
صارف کي موجوده عمل جي ڪنٽرول ڏئي ٿو، انهي ڪري ته ڪنسٽروڪ موجوده عمل ڏانهن موڪلي رهيا آهن، ۽ موجوده عمل جي اسٽڊٽ ۽ اسٽينڊر واپس ايندا آهن.

اسٽرنگ-لاش جوڙو دليل دليل طور مقرر ڪيو وڃي ٿو، ان صورت ۾ جسم لڳايو ويندو آهي جڏهن ساڳيو string ۾ داخل ٿئي ٿي. (ڊفالٽ جي طور تي، اسٽرنگ موجوده عمل ڏانهن نه موڪليو ويو آهي.) جي ترجماني واري حڪم فرض ڪئي وئي آهي، حتمي جسم غائب آهي.

جيڪڏهن دلائل پوري اجنبي بيان کي هڪ کان وڌيڪ لڪير جي ضرورت هوندي، سڀني دليلن کي هر هڪ "بسمي" ۾ تبديل ڪري سگهجي ٿو ته هر لڪير کي ختم ڪرڻ کان بچڻ کان بچڻ لاء. هن هڪ صورت ۾، باهمي باوجود، عام طور تي Tcl متبادل اپيل ٿيندي.

مثال طور، هيٺ ڏنل حڪم ھيٺ ڏنل string-body pairs سان ٺاھيندو آھي: جڏھن ^ Z دٻايو ويندو آھي، توقع معطل آھي. (اس دوران ريج کي ٽرمين طريقن کي بحال ڪري ٿو.) جڏهن ^ اي تي دٻايو ويندو آهي، صارف ڏسي ٿو ته "توهان هڪ ڪنٽرول اي ٽائپ ڪيو آهي" ۽ اهو عمل موڪلي رهيو آهي ^ اي. جڏهن $ دٻايو ويندو آهي، صارف کي تاريخ ڏسي رهيو آهي. جڏهن ^ دڙي تي دٻايو ويندو آهي، نڪرڻ جي اميد آهي. جيڪڏهن "foo" داخل ٿيو آهي، صارف کي ڏسي "بار" ڏسي ٿو. جڏهن دٻايو ويندو آهي، توقع ڪندڙ مترجم هلندو هلندو.

سيٽ ايل ايلز \ 032 سيٽيڪل {-reset $$RLRLZ {exec قتل -STOP [pid]} \ 001 {send_user "توهان هڪ ڪنٽرول-اي ٽائپ ڪيو \ n"؛ "\ 001"} $ {send_user "جي تاريخ آھي [گھڙي جوڙجڪ [ڪلاڪ سيڪنڊ]]."} \ 003 نڪرڻ foo {send_user "bar"}.}

جملو ۾ جسم جوڙو، ڳاڙھي سان ملائي رهيا آهن جيڪي اهي دلائل طور درج ڪيا ويا آهن. ٻوٽين جو جزوي طور تي موجوده پروسيس کي باقي ايندڙ اچڻ ۾ پيش نه ڪيو ويو آهي. جيڪڏهن ڪردارن وارا وري داخل ٿي ويا آهن ته هاڻي ڪو ممڪن نه ٿي سگهيا، صرف سٽرنگ جو حصو اهو عمل ڏانهن موڪلي ويندي جيڪا شايد ممڪن نه ٿي سگھي. ان ڪري، اهڙيون جيڪي جزوي ميچين جي ذخيرو آهن بعد ۾ ملن ٿيون، جيڪڏهن اصلي قطع جيڪي ميل ٿيڻ جي ڪوشش ڪري رهي آهي.

ڊفالٽ سان، سٽيونٽي ڪارڊ سان سسٽم جي نموني صحيح آهي. (ان جي ابتڙ، اميد واري جڳهه عالمي بيتن جي نمونن وانگر ڊفالٽ استعمال ڪندو آهي.) هن -جندي پرچم نمونن کي تحفظ ڏيڻ لاء استعمال ڪري سگهجن ٿيون جيڪا ٻي صورت ۾ ائين ڪرڻ سان جڙيل ڌريون ملنديون. ڪنهن به طريقن سان شروع ٿي "-" هن طريقي سان محفوظ ڪيو وڃي. ("سڀئي" مستقبل جي اختيارن لاء محفوظ آهن.

ساڳئي پرچم کي اهو جملو قوتن جو رجسٽ طرز طرز جي طور تي تشريح ڪرڻ گهرجي. انهي حالت ۾، مفاصلي سان برائوزر ۾ ذخيرو ذخيرو محفوظ ٿيل طريقي سان محفوظ ٿيل آهن. اهو پرچم ساڳيو سهارو آهي.

نموني جو عمل هڪ عمل متعارف ڪرايو آهي جيڪو فائيل-فائيل تي عمل ڪري ٿو. الڳ الڳ نمونہ شايد منجهان پرچم جي پرچم جي پيروي ڪري سگھن ٿيون، انهي صورت ۾ اهو ملائي ويندي آهي، جڏهن ٻاڦ لکڻ جي شروعات ڪئي وئي هجي. ڊفالٽ اليڪفڪ ڪارڪردگي "واپسي" آهي، انهي ڪري هو ته سادگي سان رڳو EOF تي موٽي ويندي آهي.

نموني جو وقت مقرر ٿيڻ وقت (سيڪنڊن ۾) ۽ ڪارڪردگي متعارف ڪرايو ويو آهي جيڪو بعد ۾ ڪابه لکت لاء ڪو اکر پڙهي ويو آهي. وقت جي نمونن ۾ سڀ کان تازي ڪيل مخصوص عمل تي لاڳو ٿئي ٿو. اتي جو غير مقرر ٿيل وقت وارو ناهي. خاص متغير "وقت" ( اميد جي حڪم سان استعمال ٿيل) هن وقت تي في الحال اثر نه آهي.

مثال طور، هيٺين بيانن کي استعمال ڪندڙ آٽيڪلوٽ ڪرڻ لاء استعمال ٿي سگهي ٿو جيڪو ڪنهن ڪلاڪ لاء ڪجهه به نه لکندو آهي پر جيڪو اڃا تائين باقاعده سسٽم پيغام ملندو آهي.

انٽرويو $ user_spawn_id ٽائيم 3600 موٽڻ -output \ $ spawn_id

جيڪڏهن اهو نمونہ لفظي غلط آهي ، ۽ نوالس جي اجازت ڏنل آهي ( removal_nulls command جي ذريعي)، ساڳيو جسم هڪ ئي ڪيو ويو آهي جيڪڏهن هڪ ASCII 0 ملائي وئي آهي. اهو ممڪن نه آهي 0 باٽ ميٽ ذريعي عالمي يا ريگنيٽ نمونن ذريعي.

پرچم -يوريٽ سان هڪ نمونہ کي روڪڻ واري ڪيفيت متغير interact_out (spawn_id) سبب سپونڊ کي مقرر ڪيو وڃي ٿو جيڪا نموني سان ملائي (يا ايوف).

جهڙوڪ ڌڪڻ ۽ وڌوڪ ڪنٽرول ڊولپمينٽ ڪارڻ (يعني يعني، پرو ، پرو ) کي معمولي طريقي سان عمل ڪرڻو پوندو. جڏهن ته واپسيء جي واپسي کي واپسيء ۾ واپسي جي وچ ۾ مداخلت ڪري ٿي، جڏهن ته پنهنجي ڪالر ۾ واپسي جي سبب سان مداخلت ڪرڻ ۾ مداخلت جو سبب بڻائيندو. مثال طور، جيڪڏهن "پرو foo" سادات سڏيندو آهي جنهن کي پوء عمل جي وچ ۾ مداخلت وڌايو ويندو آهي، پرو فلو واپس هوندو. (هن جو مطلب آهي ته جيڪڏهن مربوط ڪميونٽي سان مترجم واپسي سان واپسي ٽائيپ ٽائيپ جاري رکڻ جي سبب بنائي ويندي، جڏهن ته ان سان گڏ انٽرنٽ کي واپسيء جي واپسي ڏانهن واپسي جي سبب بنائي ويندي.)

وقتي دوران، خام موڊ استعمال ٿئي ٿي ته جيئن سڀئي اکر موجوده عمل ڏانهن گذري ويندا. جيڪڏهن موجوده عمل نوڪري ڪنٽرول سگنل کي پڪڙي نه سگهيو، جيڪڏهن اهو روڪي سگنل موڪليو ويو (ڊفالٽ ^ Z) طرفان. ان کي شروع ڪرڻ لاء، جاري سگنل موڪليو (جهڙوڪ "مارڻ -CONT"). جيڪڏهن توهان واقعي هڪ SIGSTOP کي اهڙي طريقي سان موڪلڻ چاهيو ٿا (^ Z) طرفان، پهرين سيش سپاهڻ سمجهيو ۽ پوء توهان جي پروگرام هلائڻ. ٻئي طرف، جيڪڏهن توهان هڪ SIGSTOP کي پاڻ ڏانهن متوجه ڪرڻ چاهيو، پهريون سڏ مترجم (شايد شايد فرار ٿيڻ واري شخص کي استعمال ڪندي)، ۽ پوء ^ ز پريس ڪريو.

اسٽرنگ-لاش جوڙو ترجمان مترجم ۾ داخل ٿيڻ کان بچڻ لاء ۽ آڌار تي حڪم جاري ڪرڻ لاء شاههينڊ طور استعمال ڪري سگهجي ٿو. اڳوڻو ٽرمينل موڊ استعمال ڪيو ويندو آهي جڏهن ته جملو جسم جي جسم جو لاش جاري ٿيڻ آهي.

رفتار لاء، عملن کي خام طريقي سان ڊفالٽ سان عمل ڪري ٿو. پيش ڪيل پرچم ٽرمين کي ريٽرمينٽ کي ريٽيڪل کي مٽايو ويو هو ان کان اڳ وارو (عمدي، پکاو موڊ). ياد رهي ته اهي اکر جڏهن اهو موٽايا ويندا هئا ته گم ٿي ويندي هجي (ڪجهه سسٽم تي ٽرمينل ڊرائيور جي بدقسمتي خصوصيت). استعمال ڪرڻ جو صرف سبب اهو آهي ته توهان جي عمل پکايا موڊ ۾ هلندڙ تي منحصر آهي.

گونگو پرچم کي اھڙا اکر موڪلي ٿو جن کي ھيٺ ڏنل طريقن سان عمل ڪرڻ واري ھڪڙي کي واپس ملندي جيڪا انھن کي ٺاھيو ويو آھي ان کي ھر ڪردار پڙھندو آھي. اهو شايد ڪارائتو ٿي سگهي ٿو جڏهن صارف جزوي طور تي ٽائپ ڪيل نمونن کان موٽڻ جي ضرورت آهي.

جيڪڏهن هڪ نموناز گونجي رهيو آهي پر آخرڪار ميچ ۾ ناڪام ٿي وينديون آهن، ڪردارن کي چرچا ڪم ڏانهن موڪلي وينديون آهن. جيڪڏهن سرسري عمل وري انهن کي مشغول ڪري ٿو، ته صارف اکر ٻه ڀيرا ڏسڻ ۾ ايندا. گونگو اهو ئي ممڪن آهي ته صارف نموني مڪمل ڪرڻ لاء ممڪن ناهي جتي حالتن ۾. مثال طور، هيٺين حصول Rftp، ريورسسوف فوٽوپ اسڪرپٽ، جتي صارف کي گراهڪي طور تي ڊيٽابيس حاصل ڪرڻ، رکڻ، يا رکڻ، يا ~ g، ~ p، يا ~ l داخل ڪرڻ لاء اشارو ڪيو ويندو آهي. اهي عام فيپ جي حڪم کان تمام گهڻو پري آهن، جيڪي صارف کي ڪنهن ٻئي قسم جي قسم جي ڀڃڪڙي ڪرڻ جي ممڪن ناهي، غلطي طور تي، اهو شايد انهي جو نتيجو رڳو نظر انداز ڪري سگهندو.

انجمن (-وڪيو ~ g {getcurdirectory 1} چيچو ~ getcurdirectory 0} چيچي ~ p {putcurdirectory}}

Thenobuffer flag ان اکر کي موڪلي ٿو جنھن ۾ ٻاھر ٿيڻ واري مرحلي تي ھيٺ ڏنل نمونن سان اھڙا اکر پڙھندا آھن.

اهو مفيد آهي جڏهن توهان هڪ پروگرام ڪرڻ چاهيندا ته جيئن نموني واپس گونجيو . مثال طور، هيٺين ماڻهن کي ڊيلنگ ڪرڻ (نگراني طرز جو موڊيم) مانيٽر ڪرڻ لاء استعمال ٿي سگهي ٿي. هر وقت "آد" ڏٺو ويو آهي رسم الخط لڪير جي باقي لکندو آهي.

[log_umber {} {انيڪڪٽ-انوفرير -re "(. *) \ r" موٽڻ $ لاگ ان رکندو آهي "[گھٽي فارميٽ [ڪلاڪ سيڪنڊن]]: ڊيگهه $ interact_out (1، string)"} انيڪيڪر -nobuffer "atd" lognumber

وقتي دوران، log_user جو اڳوڻو استعمال کي نظرانداز ڪيو ويو آهي. خاص طور تي، رابطا پنهنجي ٻاڦ کي لاگ ان ٿيڻ تي مجبور ڪندو (معياري پيداوار ڏانهن موڪليو ويو). ڇاڪاڻ ته اها پڪ ڪئي وئي آهي ته صارف حيران ڪندڙ نه آهي.

پرچم ڪنهن به هيٺيان ڪي اهم جسم جو ٺاهيل هجڻ جي ڪري موجوده عمل جي پيداوار تي لاڳو ٿئي ٿو . اهو ڪارائتو ٿي سگهي ٿو، مثال طور، جڏهن ٽائيٽ سيشن دوران ناپسنديده خط موڪليندا آهن جيڪي لشڪر سان ڊيلنگ ڪندا.

ڊفالٽ جي طور تي، وقفي جي صارف صارفين کي اسٽن لکڻ جي اميد رکي ٿو ۽ پڙهڻ واري عمل جي اسٽوري کي پاڻ ڏانهن. پرچم ("صارف" لاء) صارف جي طور تي ان دليل جي نالي سان پروسيس نظر ٺاهي ٿو (جيڪو ڪنهن جو ٺاهيل id هجڻ ضروري آهي).

هي ٻه لاڳاپا عمل جي بغير واضح لوپ استعمال ڪرڻ کان سواء گڏ ٿيڻ جي اجازت ڏئي ٿي. امداد ڏيڻ ۾ مدد ڏيڻ لاء، تشخيص جاچڻ هميشه هميشه ڏاڪڻ وارا (يا ڪجهه لاگنگ ۽ ڊيگنگ ڄاڻ بابت اسٽوريج). ساڳئي سبب لاء، مترجم ڪمن وسيلي اسٽن کان پڙهي سگهندا.

مثال طور، هيٺ ڏنل ٽڪرا هڪ لاگ ان جي عمل پيدا ڪري ٿو. پوء اهو صارف ڊيل (نه ڏيکاريل) آهي، ۽ نيٺ هڪ ٻئي سان ڳنڍيندو آهي. يقينن، ڪنهن به عمل جي لاگ ان لاء متبادل ٿي سگهي ٿي. مثال طور، هڪ شيل، صارف کي اڪائونٽ ۽ پاس ورڊ جي فراهمي جي بغير ڪم ڪرڻ جي اجازت ڏيندو.

استعمال ڪندڙ سان لاگ ان ڪريو لاگ ان $ انون $ spawn_id اسپون ٽپ موڊم کي ڊيٽابيس مان استعمال ڪري سگھن ٿا.

گھڻن عملن جي ٻاھر کي موڪلڻ لاء، ھڪڙو اسپون پرچم پاران ھر اسپون آئڊ لسٽ لسٽ ڪريو . محصول جي هڪ گروپ لاء انٽيپشن اسپون آڊ هڪ -انوپ پرچم پاران اڳ ڏنل اسپون ايڪ جي ترتيب سان طئي ڪري سگهجي ٿي. (ٻئي پائپ ۽ آئوٽ شايد ساڳئي صورت ۾ ائي پرچم جي اميد واري آرڊر ۾ وٺن، سواء ڪنهن به_spawn_id انفالڪ ۾ صحيح نه آهي.) سڀ هيٺ ڏنل جغرافيات ۽ سوراخ (يا نمونن) هڪ ٻئي تائين هن ايپ تي لاڳو ٿين ٿا. ان پٽ جي شڪل ظاهر ٿئي ٿي. جيڪڏهن ڪوئي -آئوٽ نظر اچن ٿا، -وڪٽي جو مطلب آهي "-وڪيو $ user_spawn_id -output". (اهڙي طرح، نمونن سان جيڪي نل ڪري نه سگھندا آهن.) جيڪڏهن هڪ انٽيٽ ڏنل هجي، اهو صارف $_spawn_id ختم ڪري ٿو. جيڪڏهن هڪ ٻيو پنو مقرر ڪيو ويو آهي، اهو $ spawn_id مٿي ڪيو ويو آهي. اضافي اضافو ڦڙا بيان ڪيا وڃن ٿيون.

ٻن پروپيلٽي انٽيپشن کي ان جي ٻاھران کي $ spawn_id ۽ $ user_spawn_id مقرر ڪيو ويو (ڊسڪ ۾) اڳوڻي طريقا عمل ڪندو. جيڪڏهن هڪ آئوٽ پرچم ظاهر نٿو ڪري ته پرچم پرچم سان، انهي عمل جي ڪردارن کي رد ڪري ڇڏيو آهي.

آئي - پرچم موجوده اسپون_يد لاء متبادل جي طور تي متعارف ڪرايو آهي جڏهن ڪو ٻيو -نل ۽ آئوٽائو جاگرن استعمال نه ڪيو ويندو آهي. A -i پرچم ھڪڙو ھڪڙو پرچم آھي.

اهو ممڪن آهي ته اڻ سڌي طرح اسپون آڊ استعمال ڪرڻ واري عمل کي تبديل ڪرڻ لاء. (اڻ سڌي اسپائون امڪاني حڪم جي حصي ۾ بيان ڪيل آهن.) اڻ سڌي طرح اسپائي -i، -u، -input، يا -انڊو پرچم سان بيان ڪيا وڃن.

ترجمي ڪندڙ [args]
صارف ۽ انسپيڪٽ ۽ ٽيل حڪم جي لاء وقتي طور تي اشارو ڪيو وڃي ٿو. هر حڪم جو نتيجو ڇپيل آهي.

جهڙوڪ ڌڪڻ ۽ وڌوڪ ڪنٽرول ڊولپمينٽ ڪارڻ (يعني يعني، پرو ، پرو ) کي معمولي طريقي سان عمل ڪرڻو پوندو. بهرحال موٽڻ سبب، ترجمان کي واپسيء ڏانهن واپسي ڏيڻ لاء مترجم سبب، جڏهن ته انڊرڊر کي پنهنجي ڪالري ۾ واپسي جي سبب ڏيڻ جي مترجم جي سبب ڪري ٿو. مثال طور، جيڪڏهن "پرو foo" کي ترجمان جو نالو سڏيو ويندو آهي ، جنهن کان پوء هن عمل جي وچ ۾ مداخلت وڌائڻ ، پرو ايف جي موٽائي ڇڏي. نڪو حڪمن لاء تڪميل جاري رکڻ لاء ڪو ٻيو حڪم مترجم مترجم ڪري ٿو.

ڊفالٽ طور، ان ۾ ترت ٻن عدد شامل آھن. پهريون Integer تشخيص اسٽوري جي کوٽائي بيان ڪري ٿو (يعني ڪيترا ڀيرا Tcl_Eval ڪيترا سڏيو ويو آهي). ٻيو انوڪار Tcl تاريخ جي سڃاڻپ ڪندڙ آهي. انهي کي تڪليف مقرر ڪري سگهجي ٿو جنهن کي "prompt1" سڏيو ويندو آهي، جنهن جي موٽڻ جي قيمت ايندڙ فوري طور تي هوندو. جيڪڏهن بيان بيان ٿيل آهي لکي، پارسي، بٿايون، يا برائوٽس، هڪ سيڪنڊڪ پروموٽ (ڊفالٽ جي ڊسڪشن + +> ") نئين لائن تي جاري ڪئي وئي آهي. ثانوي ترڪيء کي "پروپٽ 2" جي نالي جي عمل جي طريقيڪار کي مقرر ڪري سگهجي ٿو.

ترجمان جي دوران، پکا موڊ استعمال ٿيل آهي، جيتوڻيڪ اهو سڏيندڙ خام موڊ استعمال ڪندي هئي.

جيڪڏهن اسٽين بند ٿي ويندو آهي، مترجم جي واپسي جي واپسيء تائين پهچندي جيستائين اهو ئي پرچم استعمال ٿيل آهي، انهي صورت ۾ ايندڙ دليلن تي بحث ڪيو ويندو آهي.

log_file [args] [[-a] فائل
جيڪڏهن هڪ فائيل نالي مهيا ڪئي وئي آهي، log_file فائل ۾ ( سيٽ جي شروعات) انهي سيشن جي نقل و نسخ کي رڪارڊ ڪندو. جيڪڏهن لاگ ان نه ڏنو ويو ته log_file رڪارڊ کي بند ڪندي. ڪنهن به اڳوڻو لاگ فائل بند ڪيو ويو آهي.

ڪنهن جي نالي جو نالو، هڪ ٽچ فائل جي سڃاڻپ ڪندڙ کي -پن يا -لويولو پرچم استعمال ڪندي مهيا ڪري سگهجي ٿي. هي سپون حڪم سان ملندڙ آهي. (وڌيڪ معلومات لاء اسپون ڏسو.)

الف- پرچم قوتن کي لاگ ان ٿيڻ جو اشارو ڪيو ويو جيڪو log_user حڪم سان دٻايو ويو.

ڊفالٽ ذريعي، log_file حڪم انهن کي ڇڪڻ بجاء پراڻي فائيلون تائين پهچائيندو آهي ، انهي جي سهولت کي بند ڪرڻ بند ڪرڻ ۽ هڪ سيشن ۾ ڪيترائي دفعا تي. فائلن کي ٽوڙڻ لاء، -noappend flag استعمال ڪريو.

هن -info پرچم کي واپس ڏيڻ جي لاگ ان جي لاگ ان ٿيل تازي غير ڄاڻ دليلن جي وضاحت ڏنل آهي.

لاگ_user -info | 0 | 1
ڊفالٽ جي ذريعي، اسٽڊيٽ تي ڊيٽابيس موڪلڻ / توقع ڪندو آهي (۽ جيڪڏهن هڪ لاگ ان جي لاگ ان). اسٽود ڪرڻ جي لاگ ان حڪم "log_user 0" ذريعي معذور آهي ۽ "log_user 1" پاران رد ڪيو ويو آهي. لاگ ان کي لاگ ان ڪرڻ ۾ بدلايو ويو آهي.

ڏنل -انفلوڊ پرچم کي ڏنل تازي غير ڄاڻيل دليلن جي وضاحت جي واپسي کي لاگ_ ڪرڻ جي لاگ ان ڪري ٿو.

match_max [-d] [-i spawn_id] [سائيز]
بفر جي سائيز (بٽس ۾) کي طئي ڪري ٿو . ڪنهن به سائيز جي دليل سان، موجوده ماپ واپس ڪيو ويو آهي.

-d پرچم سان، ڊفالٽ سائيز مقرر ٿيل آهي. (ابتدائي ڊفالٽ 2000 آهي.) هن -i پرچم سان، سائيز نالي نالي اسپون جي لاء مقرر ڪيل آهي، ٻي صورت ۾ اهو موجوده عمل لاء مقرر ڪيو ويو آهي.

وڌيڪ پروگرام [آرڪائيو] [- # spawn_id] [- # spawn_id] [...] پروگرام [args]
جاري پروگرامن پروگرام جي جاء تي "پروگرام ٺاھيندڙ" جاري ڪيو آھي، جيڪو ختم ڪري ٿو. هڪ ننگي هفين دليل دليلن کي هائيفين جي حڪم جي نالي سان سامهون رکندو آهي ڄڻ ته اهو لاگ ان شيل هو. سڀ اسپون_ بند کانسواء بند آهن جيڪي انهن دليلن جي نالي سان رکيو ويو آهي. اھي اھي نامزد ڪيل فائل جي سڃاڻپ ڪندڙ آھن.

Spawn_ids ورثي ۾ نئين پروگرام جي فائل جي سڃاڻپ ڪندڙ کي نقشي ۾ ڇڪيو ويو آهي. مثال طور، هيٺيون لائن شطرنج هلندو آهي ۽ انهي کي موجوده طريقي سان ڪنٽرول ڏئي ٿو.

اوطاق -0 $ سپاون_id -1 $ spawn_id -2 $ سپونڊ شائس

اهو وڌيڪ "ڪارڪردگي" کان وڌيڪ موثر آهي، جڏهن ته، اميد واري عمل سان عمل ڪرڻ جي صلاحيت کي قرباني ڪري ٿو ڇو ته اميد واري عمل کان وڌيڪ قابو ۾ ڪونهي.

نوٽ ڪيو ته ڪو به سنڀالڻ وارو ٽرمينل مهيا ناهي. ان ڪري، جيڪڏهن توهان معياري انٽ کي ڊسڪني يا ريپ ڪرڻ، پروگرام جيڪي ڪم ڪنٽرول (گول، لاگ ان، وغيره) ڪم صحيح طرح ڪم نه ڪندا.

صداقت [-d] [-i spawn_id] [اهميت]
واضح ڪيو وڃي ٿو ته جهڙا برقرار رکيا وڃن يا انهن جي مرحلي مان نڪرڻ کان ٻاهر ڪڍيو وڃي. جيڪڏهن صفر صفا آهي، جهڙا ڦريو ويو آهي، ٻي صورت ۾ اهو نه ڪڍيو ويو آهي. ڪوبه قدر نه هجڻ سان، موجوده قيمت واپس آيو آهي.

-d پرچم سان، اڳوڻي برابريت جو قدر مقرر ڪيو ويو آهي. (ابتدائي ڊفالٽ 1 آهي، يعني، جهڙي بيٺل نه آهي.) پرچم سان، جهڙي قدر نالي نالي اسپون id لاء مقرر ڪئي وئي آهي ٻي صورت ۾ اهو موجوده عمل لاء مقرر ڪيو ويو آهي.

remove_nulls [-d] [-i spawn_id] [قيمت]
اهو واضح ڪري ٿو ته آيا ناپسن کي برقرار رکڻ يا فوري طريقن جي ٻاھرين کان ختم ٿيڻ کان اڳ هٽايو ويو آهي ته متغير expect_out يا interact_out ۾ نموني جي نمائش. جيڪڏهن قيمتي آهي 1، نالس ختم ٿي ويون آهن. جيڪڏهن قيمت 0 آهي، نوپس ختم نه آهن. ڪوبه قدر نه هجڻ سان، موجوده قيمت واپس آيو آهي.

-d پرچم سان، مقرر ٿيل قيمت مقرر ٿيل آهي. (ابتدائي ڊفالٽ 1 آهي، يعني، ننڊ ختم ٿي ويندي آهي.) -ي- پرچم سان، اها قدر نالي نالي اسپون id لاء هوندي آهي، ٻي صورت ۾ اهو موجوده عمل لاء مقرر ڪيل آهي.

ڇا يا نولس ختم ٿي وڃن ٿا، اميد ڪنديون ته نال باڪس لاگ ۽ اسٽڊٽ تائين.

ڦهٽو
موجوده عمل کي سسٽم موڪلي ٿو . مثال طور، حڪم

موڪليو "دنيا هيلو"

خطرن کي، خطوڙ کي موجوده پروسيس ڏانهن موڪلي ٿو. (Tcl ۾ ھڪڙو پرنف- بيئر حڪم شامل آھي ( شڪل جي نالي سان) جنھن کي ارادي طور تي پيچيده وارڊ ٺاھڻ ٺاھيو وڃي ٿو.)

اکر مڪمل طور تي موڪليا ويا آهن جڏهن ته موٽڻ واري شخصيت جي موڪل نه هوندي جيستائين لڪير-بذير ٿيل انڪارن سان ڪردارن اکرن کي نه پڙهي سگهندا. ھڪڙو موٽڻ وارو لفظ ظاھر آھي "\ r".

ان - پرچم فوجي ايندڙ دليلن کي ان جي پرچم جي هڪ جغرافيه جي طور تي بيان ڪيو ويندو. ڪنهن به طريقي سان اڳيان چئي سگهجي ٿو "-" يا نه اهو اصل ۾ ڪنهن پرچم وانگر ظاهر ٿئي ٿو. اهو هڪ قابل اعتماد ميکانيزم مهيا ڪري ٿو جيڪو اڻڄاتل طريقو جهڙوڪ جغرافيه وارين طرحن جي مٿان ڇڪايو وڃي ٿو. ("سڀئي" مستقبل جي اختيارن لاء محفوظ آهن.

-i پرچم اعلان ڪري ٿو ته اهو جملو نالو نالو اسپون ڏانهن موڪليو وڃي ٿو. جيڪڏهن spawn_id صارف_spawn_id آهي، ۽ ٽرمين خام موڊ ۾ هوندو آهي، string ۾ نون لائنون واپسي-نيون لائن وارين ترجمن ۾ ترجمو ڪيا وڃن ٿيون، اهي ظاهر ٿيندا آهن ته اهي ٽرمين پکايا موڊ ۾ هئا. هن ڦل جو ترجمو ھن ترجمي کي ناھي.

خالي ڪيل پرچم نيل اکرن ۾ (0 بيتن). ڊفالٽ سان، هڪڙو سولو موڪليو ويو آهي. هڪ انٽرويو ڪيتري نموني کي موڪلڻ لاء اشارو پيش ڪندي سگھي ٿو.

هن -برڪ پرچم هڪ وقف حالت پيدا ڪري ٿي. اهو صرف احساس آهي ته اسپون id "ٽونٽ-کول" ذريعي ذريعي ٽائيٽل ڊوائيس ڏانهن وڌايو آهي. جيڪڏهن توهان ڪنهن پروسيس کي پروپائي ڇڏيو آهي، توهان کي ٽوڪ ٺاهڻ لاء ٽپ جي ڪانفرنس کي استعمال ڪرڻ گهرجي.

-اس جي پرچم فوجن کي "سست" سان موڪلي سگهجي ٿو، تنهنڪري عام حالتن کان بچاء جتي ڪمپيوٽر هڪ ان پٽ جي آئوٽ کي ظاهر ڪري ٿو جيڪا انساني لاء ٺهيل هئي، جيڪو ڪڏهن به ساڳيو بفر نه لکندو آهي. هي پيٽ متغير "send_slow" جي قيمت تي ڪنٽرول آهي جنهن کي ٻه عنصر لسٽ وٺندو آهي. پهريون عنصر هڪ انوڪار آهي جيڪو بيتن جي تعداد کي جوهر ۾ موڪلڻ لاء بيان ڪري ٿو. ٻيو عنصر اهڙو حقيقي نمبر آهي جيڪو سيڪنڊن جو تعداد بيان ڪري ٿو جنهن جي ذريعي ائٽمڪ موڪلي موڪليا وڃن. مثال طور، "set send_low {10 .001}" ملائي سگهندي "موڪلن وارا" 1 مليسڪڊ سان ٻڌل هر 10 حروفن جي وچ ۾ موڪليو.

پرچم قوتن کي ٻاھر ڪڍڻ (ڪجهه عرصو) انسان جي اصل ٽائپنگ وانگر. انسانن وانگر انسانن وانگر دير سان ظاهر ٿيندي. (الگورتھم هڪ ويبيل ڊويزن تي ٻڌل آهي، اهڙي خاص ايپليڪيشن کي ترتيب ڏيڻ ۾ ترميمن سان.) هن پيٽ ۾ "متحد" غير قومن "جي قدر جي ڪنٽرول تي قبضو ڪيو ويو آهي جيڪو پنج عنصر لسٽ وٺندو آهي. پهرين ٻه عناصر سيڪنڊن جي وچ ۾ اوسط مداخلت واري وقت آهن. پهرين پھريان ڊفالٽ استعمال ڪيو ويندو آھي. ٻيو لفظ لفظ ختم ڪرڻ تي استعمال ٿيندو آهي، ذرا ذخيرو ٺهڪائڻ لاء، جيڪو ڪڏهن ڪڏهن هن ٽرانسينشن ۾ واقع ٿيندي. ٽيون پيٽرولر ۾ مختلف حالتن جو هڪ چڪر آهي، جتي 1 ۾ ڪافي آهي، 1 معقول حد کان متغير آهي، ۽ 10 ڪافي آهي. انفراسٹرس 0 تائين انفینٹی آهن. آخري ٻه پيراگراف آھن، ترتيب سان، گھٽ ۾ گھٽ ۽ وڌ ۾ گھٽ مداخلت واري وقت. گھٽ ۾ گهٽ ۽ وڌ ۾ آخري ۽ "ڪلپ" حتمي وقت استعمال ٿيل آهن. آخري اوسط کي ڏنل سراسري کان ڪافي ٿي سگهي ٿو جيڪڏهن گهٽ ۾ گهٽ ۽ وڌ ۾ وڌ ڪل ويلون.

مثال طور، هيٺ ڏنل حڪم هڪ تيز ۽ مسلسل مسلسل لکندو آهي:

send_human سيٽ ڪريو .1 .1 .3 1 .05 2} موڪليو -h "مان بکيو آهيان، مانچھان ڪريو."

جڏهن لڌي هڻڻ بعد هيٺيان وڌيڪ موزون ٿي سگهي ٿي.

سيٽ ڪريو_منومن .4 .4 .2 .5 100} موڪليو -h "سٺائي پارٽي جي ڍڪ رات!"

ياد رهي ته غلطيون سمجهه جهڙا نه هوندا آهن، اگر توهان غلطي جي غلطي ۽ سڌارن سان ڳنڍيل دليلن ۾ پنهنجو پاڻ کي غلطي جي صورتحال قائم ڪري سگهو ٿا.

نال اکرن کي موڪلڻ لاء پرچم موڪلڻ، برڪ موڪلڻ لاء، سست ٻاڦ کي زبردستي ۽ انساني طرز جي پيداوار لاء هڪ الڳ طور تي خاص آهن. صرف ھڪڙي ھڪڙي آخري آخري استعمال ڪئي ويندي. ان کان علاوه، ڪو جماعتي دليلن جي نالن يا ٽوٽ موڪلڻ لاء پرچم سان بيان نٿو ڪري سگهجي.

اهو هڪ سٺو خيال آهي ته اڳ ۾ پهريون دفعو هڪ عمل کان گذران ڏانهن موڪلڻ لاء. اميد ته عمل کي شروع ڪرڻ جو انتظار ڪنداسين، جڏهن موڪل نه ٿي سگهي. خاص طور تي، جيڪڏهن پهريون موڪلڻ مڪمل ٿيڻ کان اڳ مڪمل ٿئي ٿو، توهان پنهنجي ڊيٽا کي نظراندازي ڪرڻ واري خطري کي هلائيندا آهيو. ڪهڙن حالتن ۾ جتي سٽيلڪ پروگرامن جو ڪوبه ابتدائي تڪميل پيش نٿو ڪري، توهان اڳ ۾ ئي دير سان موڪلي سگهو ٿا:

# هيڪسرن کي ظاهر ڪرڻ کان بچڻ لاء هٽيندڙ اشارو ڏيڻ کان بچڻ لاء، # هن سسٽم ڌارين پاسورڊ لاء ترجيح نٿو ڏئي. # سپون telnet very.secure.gov نیند سپاون مکمل کرنے کے عمل کے 5 سیکنڈ لاء انتظار ڪريو 5 send password \ r

exp_send هڪ عرف جي موڪل لاء آهي. جيڪڏهن توهان ٽڪي ماحول ۾ اميد جي ڪاپي يا ڪجهه ٻئي قسم جي استعمال ڪري رهيا آهيو، موڪل موڪليو ٽڪي هڪ مختلف مقصد لاء طئي ڪيل آهي. exp_send ماحول جي وچ ۾ مطابقت لاء مهيا ڪيل آهي. ساڳي طرح جهڙا ٻين معتبر جي ٻين حڪمن لاء حڪم ڏنل آهن.

موڪليو_error [-flags] string
جهڙوڪ موڪليندڙ آهي ، انهي کان سواء ان کي موجوده پروسيس کان بجليء جي ڪڍڻ لاء موڪليو ويو آهي.

send_log [string] string
جهڙوڪ موڪليو ويو آهي ، سواء اهو جملو صرف لاگ فائل ڏانهن موڪليو ويو آهي ( log_file .) ڏسو ته جيڪڏهن ڪوبه لاگ ان فائل کوليو ويندو آهي ته دلائل کي نظر انداز ڪيو ويو آهي.

موڪلڻ_tty [-flags] string
جهڙوڪ موڪليندڙ آھي ، سواء ان جي ٻاھران کي موجوده عمل کان بجلي ڏانھن موڪلي ويندي آھي.

send_user [-flags] string
جهڙوڪ موڪليندڙ آهي ، انهي کان سواء ان کي موجوده عمل کان بغير اسٽاڪ کي موڪليو ويو آهي.

ننڊ سيڪنڊ
هن سيڪنڊن جي سيڪنڊن جي لاء سمي لپي جي ڪري ٿو. سيڪنڊن جو هڪ عددي تعداد ٿي سگهي ٿو. مداخلت (۽ ٽڪي واقعا جيڪڏهن توهان ايڪسپيڪ استعمال ڪري رهيا آهيو) پروسيس تي عمل ڪيو ويندو آهي.

اسپون [args] پروگرام [args]
تخليق ڪيو هڪ نئين عمل "پروگرام دليل" هلائي ٿو. ان جو اسٽوڊن، اسٽاٽو ۽ ڏاڪڻ جي توقع سان ڳنڍيل آھي، ان ڪري اھي اھي ٻئي معائن واري حڪم سان پڙھندا ۽ لکندا آھن. ڪنيڪشن بند ٿيڻ سان ڀڄي وڃي ٿي يا جيڪڏهن اهو عمل پاڻ فائل جي سڃاڻپ ڪندڙن مان ڪنهن کي بند ڪري ٿو.

جڏهن هڪ عمل سپون طرفان شروع ٿئي ٿي ، متغير سپاون_id هڪ بيان ڪندڙ ڏانهن آهي انهي عمل ڏانهن اشارو ڪري. اسپون_ڊ پاران بيان ڪيل عمل کي "موجوده عمل " سمجهي وڃي ٿو. اسپون_ڊ پڙهي سگهي ٿي يا لکيل هجي، اثر ۾ نوڪري سنڀال مهيا ڪن ٿا.

user_spawn_id ھڪ عالمي متغير آھي جيڪو بيان ڪندڙ آھي جنھن کي صارف ڏانهن اشارو آھي. مثال طور، جڏهن سپون_يد هن قيمت تي مقرر ڪيو ويندو آهي، توقع رويي جي اميد وانگر expect_user .

. error_spawn_id هڪ گلوبل متغير آهي جيڪو بيان ڪندڙ آهي جنهن کي معياري غلطي ڏانهن اشارو آهي. مثال طور، جڏهن سپون_يد هن قيمت تي مقرر ڪيو ويو آهي، رويي موڪليندا جهڙوڪ send_error .

tty_spawn_id ھڪ عالمي متغير آھي جيڪو ھڪڙي بيان ڪندڙ آھي جنھن کي / شيطان / ٽٻٽ ڏئي ٿي. جيڪڏهن / dev / tty موجود نه آهي (جهڙوڪ هڪ ڪنڊو، يا يا ڪچ لچڪ ۾ )، پوء tty_spawn_id بيان نه ڪيو ويو آهي. هي آزمائشي طور تي آزمائي سگھي ٿو:

جيڪڏهن {{info vars tty_spawn_id]} {# / dev / tty موجود آهي} ٻئي {# / dev / tty موجود نه آهي # شايد شايد ڪنڊ، بيچ، يا اسڪرپٽ ۾ هجي)

يونڪس پروسيس جي ايمٽ واپس ڏئي ٿو. جيڪڏهن ڪوبه عمل نه اچاريو ويو آهي، 0 موٽي وئي آهي. متغير سپاون_ ٻان (غلام، نالو) پيٽي غلام ڊيوائس جو نالو مقرر ڪيو ويو آهي.

ڊفالٽ سان، سپون حڪم نام ۽ دليل ٺاهي ٿو. هن -نووانوڊو پرچم هن کان ڪم ڪري ڇڏيندو آهي.

منڍ واري پرچم کي ٺاهيل پروسيس کي واپس آڻڻ لاء ڪنسول ٻاھر ڪڍڻ جي ڪري ٿو. اهو سڀ سسٽم تي سهڪار نه آهي.

اندروني طور، اسپون هڪ پيٽ استعمال ڪندو آهي، انهي جي شروعات وانگر صارف جي ٽٽي وانگر. اهو وڌيڪ شروعاتي آهي انهي ڪري ته سڀئي سيٽنگون "بلڪل" آهن (اسٽيت (1) موجب. جيڪڏهن متغير stty_init بيان ڪئي وئي آهي، ته اها وڌيڪ ترتيبن جي اسٽائ دليلن جي انداز ۾ تشريح ڪئي وئي آهي. مثال طور، "اسٽيٽ اسٽيتينٽ کي خام" قائم ڪنداسين وڌيڪ اڳتي وڌڻ وارا عمل جي اصطلاحن کي خام موڊ شروع ڪرڻ لاء. -nottycopy skips صارف جي ٽالي جي بنياد تي شروعاتي. -تنٽينٽ کي " حقيقي " شروعات ۾ رکيل آهي.

عام طور تي، اسپون کي گهٽ ڪرڻ لاء ٿوري وقت وٺندو آهي. جيڪڏهن توهان سپون نوٽيس آهي ته هڪ خاص وقت کڻڻ، اهو شايد ممڪن آهي ته پيٽ جي ڀڃڪڙي آهي. ptys تي ٽيسٽ جا ڪيترائي نمبر هلائي رهيا آهن جيڪي ريٽرننگ عملن سان داخلا ڏيڻ کان بچڻ. (هنن 10 سيڪنڊن تي پابندي پيٽي وٺو.) ڊوڙي ڊوڙي سان ڊي ايڪس اختيار سان ظاهر ڪندو ته جيڪڏهن ڪا خاص رياستن ۾ ڪيترين ئي پنڌن کي منهن ڏيڻو آهي. جيڪڏهن توهان انهن پيٽن سان ڳنڍيل پروٽين کي مارڻ نه ٿا چاهيو، توهان جي صرف پڙهائي ٻيهر ربوٽ ٿيندي.

جيڪڏهن پروگرام ڪاميابي سان ڪامياب نه ٿي سگهي ڇاڪاڻ ته عمل (2) ناڪام ٿيندو (مثال طور تي جڏهن جڏهن پروگرام موجود ناهي)، هڪ غلط پيغام ايندڙ انٽيڪٽس طرفان واپس ويندي يا اميد ڪيو ويندو آهي ته جيئن پروگرام هلائي سگهيو آهي ۽ غلطي جي طور تي غلطي پيدا ڪري سگھن. اهو رويو سپون جي عمل جي فطري نتيجو آهي. اندروني طور تي، سپون فورڪ، جنهن جي پيروي عمل کي اصل توقع جي عمل سان گفتگو ڪرڻ جو ڪو طريقو ناهي، سواء اسپون_ڊ ذريعي رابطي سان.

هن کولڻ جي نتيجي ۾ ايندڙ دليلن کي Tcl فائل جي سڃاڻپ ڪندڙ جي طور تي تشريح ڪيو ويندو آهي (يعني، جيڪو کوليو ويو طرفان واپس.) اسپون id وري استعمال ڪري سگهجي ٿي ته اهو هڪ خراب عمل آهي . (فائل جي سڃاڻپ ڪندڙ کي وڌيڪ استعمال نه ڪرڻ گهرجي.) اهو توهان کي پچ جي استعمال کانسواء خام ڊوائيسز، فائلون، ۽ پائيپ لائينز وانگر علاج جي اجازت ڏئي ٿي. اشارو ڪيو ويو آھي ظاھر ٿيڻ وارو ڪوبه عمل ھوندو آھي. جڏهن سرسري عمل سان ڳنڍيل بند آهي، تنهنڪري Tcl فائل جي سڃاڻپ ڪندڙ آهي. -انيوو کولو پرچم جهليل آهي انهي کان سواء، انهي کان بچايو ويو آهي ته اسپون id بند ٿيڻ کان پوء به فائل کي سڃاڻپ ڪندڙ کي کولڻ کان کليل ڇڏي وڃي.

خالي پرچمي سببن کي پچائڻ لاء پيٽي تي عمل نه ڪيو ويو آهي. اشارو ڪيو ويو آھي ظاھر ٿيڻ وارو ڪوبه عمل ھوندو آھي. Spawn_id عام طور تي مقرر ڪئي وئي آهي.

متغير سپاون_ ٻان (غلام، ايف ڊي) کي پيٽي غلام سان ملندڙ هڪ فائيل سڃاڻڻ وارو آهي. اهو استعمال "بند بند ڪرڻ" بند ڪري سگهجي ٿو.

اچار واري عمل جي نالن کي نظرانداز ڪرڻ لاء -جنگريز پرچم نالا هڪ سگنل. ٻي صورت ۾، سگنل ڊفالٽ جو رويي وٺن ٿا. سگنل نالي سان پيچرا آرڊر جي نالي سان رکيو ويو آهي، سواء سواء هر سگنل کي الڳ پرچم جي ضرورت هوندي آهي.

ڏڪڻ جي سطح
جاري ٿيڻ کان اڳ ڇپيل بيانن جي ڪري ٿو. (Tcl جو پتو لڳائڻ وارو نشان ڀروسي وار.) سطح جي اشارو ڏي ٿو ته ڪال اسٽاڪ کي ٽڪر ۾ ڪيترو پري آھي. مثال طور، هيٺيان حڪم ڪالون جي پهرين 4 سطحن کي ڇڪڻ دوران توقع رکندو آهي ، پر ان کان سواء ٻيو ڪوبه ناهي.

توقع-سي "4" تحليل "رسم الخط

Theinfo flag جي سبب ڏنل تازي غير ڄاڻيل دليلن جي وضاحت کي واپس ڏيڻ جي داڻا سبب آهي.

اسٽال دليل
تبديليون ٽرمينل طريقن سان گڏوگڏ خارجي اسٽيت ڪمن کي.

ڊفالٽ ذريعي، ڪنٽرول ٽرمينل کي پهچايو ويندو آهي. ٻيون ٽرمينل "حڪم" جي جڳهه جي طور تي پوزيشن جي واپسي جي درخواستن کي گڏ ڪندي پهچائي سگهجي ٿو. جيڪڏهن ڪا به حيثيت طلب نه ڪئي وئي آهي ۽ ڪنٽرول ٽرمين کي پهچايو ويندو آهي، خام ۽ گونگ خاصيت جي پوئين حيثيت هڪ فارم ۾ واپس اچي وڃن ٿيون جيڪو بعد ۾ ٿي سگهي ٿو حڪم موجب استعمال ڪيو ويو آهي.

مثال طور، دليلن کي خام يا ذخيري ٽرمين کي خام موڊ ۾ رکندو آهي. دلائل يا پکايا پٽيل ٽڪيل طريقي ۾ رکيل آهن. دلائل گونج ۽ گونج مستقل طور تي گونج ۽ ڪوونڪو موڊ ۾ وجھي ٿو.

هيٺيون مثال بيان ڪري ٿو ته عارضي طور تي گونج ڪيئن ڪرڻ جي قابل. اهو ان ۾ داخل ٿيل پاسورڊ کان بچڻ لاء ٻي صورت ۾ خودڪار لکت ۾ استعمال ٿي سگهي ٿو. (وڌيڪ بحث ڏسو هن کان هيٺ ڏنل ٽڪرا هيٺ ڏنل.)

stty -echo send_user "پاسورڊ:" expect_user -re "(. *) \ n" پاسورڊ $ expect_out مقرر ڪريو (1، string) اسٽوي گونج

سسٽم جو دليل
ڏي ٿو آرڪشن (1) ان پٽ جي طور تي، جيئن ته اهو ٽرمينل کان ڪمانڊر طور تي لکندو هو. اميد آهي ته شيل تائين ختم ٿئي ٿي. ش کان واپسي جي حيثيت سان هلندڙ طريقي سان عمل ڪيو ويو آهي جيڪي عمل کي پنهنجي واپسي جي واپسي کي هٽايو.

عملدرآمد ڪرڻ جي برعڪس جيڪو اسٽيلن کي رد ڪري ٿو ۽ اسڪرپٽ تي رکڻ وارو، سسٽم ڪو به ريٽائٽيشن انجام نٿو ڏئي (جيڪو خود پاڻ کان ظاهر ڪيل آهي). ان ڪري، اهو پروگرام استعمال ڪرڻ ممڪن آهي جيڪو سڌي طرح / dev / tty سان ڳالهائڻ گهرجي. ساڳئي سببن لاء، نظام جي نتيجن کي لاگ ان ۾ رڪارڊ نه ڪيو ويو آهي.

ٽائيم ٽاپ [args]
هڪ ٽائيم ٽاپ ڪوبه دليلن سان، ايجچ کان پهرين سيڪنڊن جو تعداد واپس آيو آهي.

انفارميشن پرچم جو ھڪڙو سلسلو متعارف ڪرايو آھي جنھن جي موٽ ڪئي وئي آھي پر برائوزر لاء POSIX قواعد جي مطابق متبادل متبادل. مثال طور، مختصر طور تي هفتي جي ڏينهن جو نالو (يعني، Sat) جي متبادل آهي. ٻيا آهن:

آخري آخري هفتي جو نالو٪ A وڏي هفتي جو نالو٪ B ڪروڙ واري مهيني جو نالو٪ B سڄو مهيني نالو٪ سي جي تاريخ جو وقت آھي: Wed آڪٽوبر 6 11:45:56 1993 ع ڏينھن مھيني (01-31٪ H ڪلاڪ (00-23)٪ ڪلاڪ (01-12)٪ جي ڏينهن (001-366)٪ م مهيني (01-12)٪ م منٽ (00-59)٪ پي يا سوم سيڪنڊ (00-61) ٪ u ڏينهن (1-7، سومر هفتي جو پهريون ڏينهن)٪ يو هفتي (پهريون ڀيرو آچر، هفتي جو پهريون ڏينهن آهي) V وي (01-53، ISO 8601 انداز)٪ W ڏينهن (0- 6)٪ و هفتي (00-53، پهرين پير هفتي جو پهريون ڏينهن آهي) x x ڄاڻايل وقت: Wed، 6 آڪٽوبر 1993 ع واري زماني ۾ هن وقت: 23:59:59٪ y سال (00-99) ٪ سال ڄاڻايل سال ۾: 1993٪ اي زي ٽائم زون (يا ٻيو ڪو به فيصل نه هجي) ٪٪ هڪ بيئر سيڪڙو نشاني

ٻيا٪ وضاحتن ۾ تبديل ٿيل آھن. ٻين اکرن ذريعي اڻ ڳڻي هوندي. صرف سي مقامي جڳهه جي حمايت ڪئي وئي آهي.

-اسورڊز پرچم ايجاد کان پهرين سيڪنڊن جي تعريف ڪئي آهي انهي کان پوء انهي جي چڪاس لاء استعمال ڪيو وڃي. ٻي صورت ۾، موجوده وقت استعمال ٿيندو آهي.

GMTgzone کي استعمال ڪرڻ لاء -gmt پرچم قوت ٽائمسٽپپ پي ايل. ڪنهن پرچم سان، مڪاني ٽائم زون استعمال ٿيندو آهي.

جاچ [[حڪم] سگنل]
ڏنل حڪم کي ڪنهن به ڏنل سگنل جي مستقبل جي وصولي تي عمل ڪرڻ جي ڪري. اهو حڪم عالمي دائري ۾ جاري آهي. جيڪڏهن حڪم غير حاضر آهي، ته سگنل عمل واپس اچي ٿو. جيڪڏهن حڪم وارو جملو SIG_IGN آهي، سگنل کي نظر انداز ڪيو ويو آهي. جيڪڏهن آرڊر وارو جملو SIG_DFL آهي، اهو سگنل سسٽم ڊفالٽ جو نتيجو آهي. سگنل يا ته هڪ اشارو يا سگنل جي هڪ فهرست آهي. سگنل سگنل (3) مطابق عددي طور تي يا نموني طور تي ٿي سگھي ٿو. "SIG" جافٽ ختم ٿي سگھن ٿا.

ڪوبه دليلن (يا دليل ڏيڻ وارو نڀاڳو) سان گڏ، پيچرو وقت تي عملدرآمد جا پيچرو آرڊر جي سگنل نمبر واپس ڏئي ٿو.

ڪوڊ ڪوڊ جي هر ڪوڊ جي جڳهه تي واپسي جو واپسي ڪوڊ استعمال ڪندو آهي جڏهن اصلي طور تي هلائڻ شروع ڪيو ويو.

هن -interp پرچم اهو ئي سبب آهي ته جرير قرار ڏنو ويو تڏهن مقابلو شروع ڪرڻ واري وقت تي ترجمان جي استعمال سان تشخيص جي استعمال سان جائزو وٺندي.

ان نالي جي پرچم کي پيچيده ڪنڊ جو سبب بنائي ٿو، جيڪو هن وقت تي عمل ٿيڻ واري پيچرو نام جي سگنل نام کي واپس آڻيندو آهي.

-ڪسڪس پرچم کي پيچرو حڪم جو سبب بنائڻ جو وڏو سگنل نمبر جيڪو واپس ڪري سگھجي ٿو.

مثال طور، حڪم "پيچرو {send_user" گهڻو ڪري! "} SIGINT" ڇا ٿيندو "اوچو!" هر وقت صارف کي دٻايو ^ سي.

ڊفالٽ جي طور تي، SIGINT (جو عام طور تي ^ سي) دٻاء سان ٺاهي سگهجي ٿو ۽ سبب SIGTERM سبب نڪرڻ جي اميد آهي. اهو هيٺ ڏنل نمونو آهي، جيڪو ڊفالٽ طرفان ٺهيل آهي جڏهن توقع شروع ٿئي ٿي.

پيچرو نڪرڻ {SIGINT SIGTERM}

جيڪڏهن توهان ڊيگگر شروع ڪرڻ لاء -D پرچم استعمال ڪندا، SIGINT انٽرويو ڊيبگر کي شروع ڪرڻ لاء تيار ڪئي وئي آهي. ھي ھيٺ ڏنل نمونو جي ڪري آھي.

trap {exp_debug 1} SIGINT

ڊيگر جا پيپر تبديل ٿيل ماحول جي قابل EXPECT_DEBUG_INIT کي نئين جاچ ڪنڊر تي ترتيب ڏئي سگھجي ٿو.

توهان شايد، توهان جي رسم الخط تي پيچرو حڪمن کي شامل ڪندي، انهن مان صرف تي مٿي ڪري سگھو ٿا. خاص طور تي، جيڪڏهن توهان وٽ پنهنجو "فرش نڪرڻ واري سگنل" آهي، اهو ڊاگر جي پيچ کي ختم ڪري ڇڏيندو. اهو مفيد آهي جيڪڏهن توهان صارفين کي ڊاڪٽرن ۾ حاصل ڪرڻ کان روڪڻ چاهيندا.

جيڪڏهن توهان SIGINT تي توهان جي پنهنجي پيچري کي وضاحت ڪرڻ چاهيو ٿا پر تڏهن به هلندڙ ڊوگر کي ڇڪايو، استعمال ڪريو:

جيڪڏهن {! [exp_debug]} {ٽريپ آفريٽ SIGINT}

ٻيو ته، توهان ڪجهه ٻئي سگنل استعمال ڪندي ڊاگر کي ٽوپي سگهو ٿا.

فلپ توهان کي سگنل آر ايم جي عمل کي ختم ڪرڻ جي اجازت نه ڏيندو، جيئن هن کي اميد رکڻ لاء اندروني طور تي استعمال ڪيو ويندو. ڊسڪلي ڪمن سيٽ SIGALRM کي SIG_IGN (نظرانداز ڪيو). توهان انهي کي ٻيهر قابل ڪري سگهو ٿا جئين ته توهان ان کان پوء سپون حڪم ڪمن جي دوران بند ڪيو.

وڌيڪ ڄاڻ لاء سگنل (3) ڏسو.

انتظار ڪريو
دير تائين ٻاري واري عمل (يا موجوده عمل جو ڪو به نالو نه آهي) ختم ڪري ٿو.

عام طور تي انتظار ڪنديون چار چار اشارن جي فهرست موٽائي ٿو. پهرين انٽرويو اهو عمل جو پگهار آهي جيڪو انتظار ڪري رهيو هو. ٻيو انوڪار جو ساڳيو اسپون بت آهي. ٽيون انسٽگر 1- هڪ جيڪڏهن آپريٽنگ سسٽم جي غلطي پيدا ٿي، يا 0 ٻي صورت ۾. جيڪڏهن ٽيون ٽيلر 0 هو، چوٿين انٽگر سرسري عمل طرفان واپس اچي ويو آهي. جيڪڏهن ٽئين انٽرگر -1 هو، چوٿين انٽگر آپريٽنگ سسٽم طرفان اڻڄاتل سيٽ جو قدر آهي. عالمي متغير غلطي ڪيڊ پڻ مقرر ڪئي وئي آهي.

واپسي قدر جي آخر ۾ اضافي عناصر شايد انتظار کان ويٺا هوندا. ھڪڙو اختياري پنجون عنصر ھڪڙي قسم جي معلومات کي سڃاڻي ٿو. في الحال، هن عنصر لاء رڳو ممڪن قيمت چائلڊ ڪليل آهي جنهن ۾ ايندڙ ٻه اقدار سي-طرز سگنل جو نالو آهن ۽ هڪ مختصر قصو بيان.

Ai پرچم نالي عمل جو نالو نامنامو اسپون_ين جي انتظار ڪرڻ جو اعلان ڪري ٿو (نه پروسيس id). هڪ SIGCHLD هولر جي اندر، اهو ممڪن آهي ته ڪنهن به پئسي وارو عمل اسپون id -1 استعمال ڪندي.

The -waitait flag جي فوري طور تي هڪ ڪامياب انتظار جي اشاري سان فوري طور تي واپسي جو انتظار ڪري ٿو. جڏهن طريقيڪار ختم ٿئي (بعد ۾)، اهو واضح انتظار جي ضرورت خودڪار طور تي غائب ٿيندو.

انتظار جو حڪم پڻ استعمال ڪري سگهجي ٿو دليلن جي استعمال سان ڪوٺڻ واري عمل جو انتظار "-i -1". سپارن عملن سان ان جي استعمال جي برخلاف، هي حڪم ڪنهن به وقت تي عمل ڪري سگهجي ٿو. هتي ڪو به قابو نه آهي جنهن تي عمل ڪهڙي طريقي سان آهي. جڏهن ته، موٽڻ جي قيمت پروسيس جي سڃاڻپ لاء چڪاس ٿي سگھي ٿو.

لائبريري

اميد ظاهر ڪرڻ لاء لکت لاء ٻه تعمير-لائبريري خودڪار طريقي سان ڄاڻي ٿو. ھي بيان ڪيل آھي ڊارونين ۾ ڏنل آھي_gibrary ۽ exp_exec_library. ٻئي هڪ جيتري فائدي کي استعمال ڪرڻ جو مطلب آهي جيڪا ٻين لکتن طرفان استعمال ڪري سگهجي ٿي.

exp_library جو فن تعمير، آزاد فائيلون. exp_exec_library تي تعميراتي منحصر فائلون. توھان جي سسٽم تي منحصر آھي، ٻئي ڊائريڪٽرن کي مڪمل طور تي خالي ٿي سگھي ٿو. فائل $ exp_exec_library / cat-buffers جي وجود کي واضع ڪري ٿو ته توهان جي / بن / بلي بفر ڊفالٽ ذريعي.

PRETTY-PRINTING

ھڪڙو ريگھيل تعريف خوبصورت ڇپائيء جي اميد واري لکت لاء موجود آھي. معياري تقسيم سان فراهم ڪيل وگند جي تعريف صحيح انداز ۾ نصب ڪيو ويو آهي، توهان ان کي استعمال ڪري سگهو ٿا:

vgrind-ڊگھي فائل

EXPLPLES

اهو ڪيتريون ئي ظاهر نه ٿي ڪري ته هر شي کي گڏ ڪرڻ سان گڏوگڏ انسان جو صفحو بيان ڪري ٿو. مان توهان کي پڙهڻ لاء مشغول ۽ مثال ڏيڻ جي اميد واري ڊويزن جي مثال ڊاريڪٽري ۾ مشغول ڪرڻ جي لاء. انهن مان ڪجهه حقيقي پروگرام آهن. ٻيا صرف ڪجهه خاص طريقن جي وضاحت ڪن ٿا، ۽ ڪجهه هڪڙو تڪڙو تڪڙو آهي. INSTALL فائل ان پروگرامن جي تڪڙو جائزو حاصل ڪري ٿو.

توقع مقالا (ڏسو SEE ALSO) پڻ ڪارائتو آھن. جڏهن ته ڪجهه مقالا استعمال سان اڳوڻي نسخن سان لاڳاپيل مطابقت سان گڏ، گڏوگڏ معتبر اڃا تائين صحيح آهن ۽ هن صفحي جي ڀيٽ ۾ تمام گهڻو تفصيل سان وڃو.

ڪيٿيون

توسيعن کي اميد جي حڪم جي نالن سان گڏ ڪري سگھي ٿو. مثال طور، موڪليو مڪمل طور تي مختلف مقصد لاء Tk جي ذريعي بيان ڪئي وئي آهي. انهي سببن لاء، سڀ کان وڌيڪ احمدي طور تي "Exp_XXXX" پڻ موجود آهن. آرڊر ۽ متغيرات "اختتام" سان "شروعات"، "بين"، "اسپون"، ۽ "وقت" تي نڀاڳ آهن. وڌايل حڪم نامن جو استعمال ڪريو جيڪڏهن توهان ماحول جي وچ ۾ مطابقت جي ضرورت آهي.

توقع بلڪه بجليء جي لبرل نظر وٺن. خاص طور تي، متغير پروگرام جي ڪمن جي ترتيب سان پڙھندڙ ​​پهريون ڀيرو مقامي دائري کان طلب ڪيو ويندو، ۽ نه ئي، عالمي دائري ۾. مثال طور، هن کي هر طريقيڪار ۾ "گلوبل ٽائيمائيٽ" جي جڳهه کي رکڻ جي ضرورت آهي جيڪو توهان لکي ٿو ته اميد جي استعمال ڪندي. ٻئي طرف، لکتيل لکجي هميشه هميشه دائري ۾ آهن (جيستائين "عالمي" حڪم جاري نه ڪيو ويندو آهي). هن سببن جو سڀ کان وڏو عام مسئلو آهي جڏهن پروسيسنگ ۾ سپون کي ختم ڪيو ويندو آهي. پروسيس کان ٻاهر، اسپون_يد وڌيڪ ڪونهي، تنهنڪري سرد عمل صرف اسپيڊنگ جي ڪري ئي پهچ لائق نه آهي. اهڙي قسم جي هڪ طريقي سان "گلوبل سپونڊ_" کي شامل ڪريو.

جيڪڏهن توهان ضرب فضائي صلاحيت (يعني توهان جي سسٽم کي نه چونڊيو آهي (BSD *. *)، راء (SVR 2 2) ۽ نه برابر هڪٻئي جي حمايت ڪندو آهي، توقع رڳو وقت ۾ هڪ واحد عمل کي قابو ڪرڻ جي قابل هوندو. انهي حالت ۾، سپون_ سي مقرر ڪرڻ جي ڪوشش نه ڪريو، ۽ نه ئي توهان سپون ٿيل عمل هلائڻ دوران عمل کي عمل سان عمل ڪرڻ گهرجي. ان کان علاوه، توهان ساڳئي وقت ڪيترن ئي عملن کان (توڻي استعمال ڪندڙ صارف شامل) کان نه موٽندا سين.

ٽرمينل پيٽرنٽرن ۾ وڏو اثر اسڪرپٽ تي ٿي سگھي ٿو. مثال طور، جيڪڏهن ڪنهن رسم الخط کي گونج ڪرڻ لاء لکيو ويو آهي، ته اها گونگا بند ٿي ويندي آهي. انهي سببن لاء، طاقتن جي ٽينڪ پيٽروليمن کي توقع سان ڊفالٽ جي طور تي. بدقسمتي سان، هي ٻيون پروگرامن لاء ناپسنديده شيون ٺاهي سگهن ٿا. مثال طور، ايم ايز شيل کي "معمولي" ميپنگ تبديل ڪرڻ چاهيندا آهن: نئين لڪيرن کي نوانرن جي بدران نئين لڪير تي نقشو ٺاهي وئي آهي. هي هڪ کي ان لائن کي تبديل ڪرڻ لاء ايمڪ استعمال ڪرڻ جي اجازت ڏئي ٿو. بدقسمتي سان، توقع ممڪن نه ٿي سگهيا اهو.

توهان درخواست ڪري سگھو ٿا ته اميد واري ٽرمين پيٽرولن جي ڊفالٽ سيٽنگ کي مٿي نه وڌايو، پر انهي وقت جي ماحول لاء لکيت لکندي جڏهن توهان کي ڏاڍي محتاط ٿيڻ گهرجي. emacs جي صورت ۾، گونج وانگر ختم ٿيڻ ۽ ختم ٿيڻ واري نقشن تي منحصر ٿئي.

اهو حڪم آهي ته قبول دلائل هڪ واحد فهرست ۾ چريل آهي ( توقع وارين قسمن ۽ وقتي ) هڪ فيصلي کي استعمال ڪرڻ لاء استعمال ڪن ٿيون ته اهو فهرست اصل ۾ هڪ دليل يا گهڻ آهي. ايراضي اهو صرف ان صورت ۾ ناڪام ٿي سگهي ٿو جڏهن لسٽ اصل ۾ هڪ اڪيلو دليل پيش ڪري ٿي، جيڪي انهن جي وچ ۾ غير وائيس اسپيڪر اکرن سان گڏ ڪيترن ئي متحرڪ آهن. اها ڪافي ناقابل بيان لڳي ٿي، پر هڪ دليل دليلن کي صرف هڪ دليلي طور تي نافذ ڪرڻ لاء دليل "-بندوب" استعمال ٿي سگهي ٿو. اهو شايد ممڪن ٿي مشين ٺاهيل توقع ڪوڊ سان استعمال ڪيو وڃي. اهڙي طرح، هڪ اڪيلو دليلن کي هتان جي ڪيترن ئي نمونن / ڪارناما کي هٿي ڏيڻ جي قوت ڏئي ٿو.

BUGS

حقيقت ۾ اهو پروگرام "جنسي" ("Smart Exec" يا "موڪليو-Expect") جي نالي سان پرکشش هو، پر سٺو احساس (يا شايد شايد صرف پرائيٽنيزم) غالب ٿي.

ڪجهه سسٽم تي، جڏهن هڪ شيل کي وڌايو ويندو آهي، اهو ٽالي تائين رسائي نه ٿي سگهيا پر جيترو به هلندو آهي. ان جو مطلب اهو آهي ته توهان جي سسٽم کي ڪنٽرولنگ ٽائيٽي حاصل ڪرڻ لاء هڪ ميکانيزم آهي جنهن جي اميد جي باري ۾ ڄاڻ ناهي. مهرباني ڪري اهو معلوم ڪريو اهو ڇا آهي، ۽ هي معلومات مون ڏانهن واپس موڪليو.

الٽرڪس 4.1 (گھٽ ۾ گهٽ ۾ گهٽ تازا ورزن) جي مٿان مٿي ڏنل 1000000 وقت جي برابر هجڻ جي برابر 0.

ڊجيٽل يونيڪس 4.0A (۽ شايد شايد ٻيا نسخ) جيڪڏهن توهان SIGCHLD هولر کي وضاحت ڪيو ته پيٽي مختص ڪرڻ کان انڪار ڪيو. وڌيڪ ڄاڻ لاء گرايو صفحي ڏسو

ايئرڪس 6.0 صحيح پيٽين اجازن کي هٿ نٿو ڏئي، انهي ڪري ته جيڪڏهن ڪنهن ٻئي جي طرفان استعمال ڪيل پيٽي کي مختص ڪرڻ جي توقع آهي، اهو ناڪام ٿيندو. ايڪسڪسس 6.1 تائين اپڊيٽ ڪريو.

Telnet (تصديق صرف SunOS 4.1.2 جي تحت) لڪي آھي جيڪڏھن TERM مقرر نه آھي. اهو سي اين جي، سي ۽ سيگ سکرٽ ۾، هڪ هيٺيون مسئلو آهي، جيڪو TERM وضاحت نٿو ڪري سگهجي. ان ڪري، توھان کي اھو واضح طور تي مقرر ڪرڻ گھرجي - عام طور تي غير مناسب آھي. اهو صرف ڪجهه ڪرڻ لاء مقرر ڪيو ويو آهي! هيٺيان شايد اڪثر ڪيسن جي لاء ڪافي آهي.

سيف (TERM) vt100

ٽپڻي (تصديق صرف BSDI بي ايس ايس / او ايس 3.1 3.1 i386 تحت) هرايو ته SHELL ۽ HOME مقرر نه آهن. اهو سي اين جي، سي ۽ سيگ جي لکيت ۾، جيڪو هنن ماحول جي متغير کي بيان نٿو ڪري سگهيو آهي. ان ڪري، توھان انھن کي واضح طور تي مقرر ڪيو وڃي ٿو - عام طور تي غير ضروري آھي. اهو صرف ڪجهه ڪرڻ لاء مقرر ڪيو ويو آهي! هيٺيان شايد اڪثر ڪيسن جي لاء ڪافي آهي.

سي اي ايل (SHELL) / بن / سي سيور (HOME) / usr / local / bin مقرر ڪريو

ڪجهه پيٽين جي پليٽين تي ڊزائين ڪيل آهن انهي ڪري ته ڪنيڪشن فائيل بيان ڪندڙ بند ٿيڻ کان پوء 10 کان 15 سيڪنڊن کانپوء (اصل نمبر تي عملدرآمد تي منحصر آهي). اهڙيء طرح جيئن پروگرامن وانگر

ننڊ جي ننڊ ۾ 20 متوقع

ناڪام ٿيندو. هن کان بچڻ لاء، غير متعامل پروگرامن کي عمل ڪرڻ سان سپون کان بغير دعوت ڏيو . اهڙين حالتن تي تصور ڪرڻ جا قابل آهن، عملي طور تي، مون ڪڏهن به اهڙي صورتحال ۾ نه آئي آهي، انهي عمل جي ڪري واقعي حقيقي انفارميشن پروگرام جو آخري نتيجه ختم ٿي ويندي.

ٻئي طرف، ڪائي يونيڪوس ptys فائيل بيان ڪيل دستاويز کي بند ڪرڻ کان پوء فوري طور تي ڪو به پڙهيل فوري طور تي اڇلائي ڇڏيو. مون هن کي ٻڌايو آهي ڪري کي ۽ اهي هڪ نموني تي ڪم ڪري رهيا آهن.

ڪڏهن ڪڏهن تڪڙو ۽ هڪ جواب جي وچ ۾ دير جي ضرورت هوندي آهي، جهڙوڪ جڏهن ته ٽائيلي انفارميشن UART سيٽنگون يا د پيل پيل / بند بټونو ته د لټون په واسطه د UART سيسټمونو سره سمون لري. عام طور تي، اهو سڀ ڪجهه ضروري آهي ته ٻه يا ٻه لاء سمهڻ لاء. هڪ وڌيڪ مضبوط ٽيڪنڪ ٻيهر ڪوشش ڪرڻ آهي جڏهن ته هارڊويئر ان پٽ وصول ڪرڻ لاء تيار آهي. هيٺيون مثال ٻنهي حڪمتن کي استعمال ڪري ٿو.

"رفتار 9600 \ ر" موڪلڻ سمهڻ 1 اميد {وقتت {send "\ r"؛ exp_continue} $ prompt}

trap-code ڪنهن به حڪم سان ڪم نه ڪندي جنهن کي ٽليڪ جي واقعن لوپ ۾ ملندو آهي، جهڙوڪ ننڊ. مسئلو اهو آهي ته واقعي لوپ ۾، Tcl واري واپسي ڪوڊس اسسن سي واقعي جي هٿ کان وٺي ڇڏيندو آهي. ھڪڙي ڪارڪردگي کي پي ايل ڪوڊ ۾ ھڪڙي پرچم مقرر ڪرڻ آھي. پوء حڪم جي فوري طور تي فورا پرچم چيڪ ڪريو (يعني، ننڊ).

اميد_background حڪم عام طور تي وقت جي دلائل کي نظر انداز ڪري ٿو ۽ عام وقت جي وقت جو تصور ناهي.

& # 34؛ EXPECT HINTS & # 34؛

هتي ڪجھه شين جي اميد آهي ته شايد غير غير برابري ٿي سگهي ٿي. ھن حصي کي ڪجھ شيون ھڪڙي صلاحين سان گڏ ڪرڻ جي ڪوشش ڪري ٿي.

هڪ عام اميد جو مسئلو اهو آهي ته شيل جي اشارن کي سڃاڻڻ لاء. تنهن ڪري اهي مختلف ماڻهن ۽ مختلف گولن طرفان مختلف طور تي ڪسٽم ڪيا ويا آهن، پورٽ ايٽميٽنگ رولوين کي بغير تڪليف ڄاڻڻ کان ڏکيو ٿي سگهي ٿو. هڪ مناسب ڪنٽرول هجڻ لاء صارفين کي باقاعده اظهار جو اسٽور جيڪو انهن جي تڪڙي (خاص طور تي، ان جي آخر ۾) ماحولياتي متحرڪ EXPECT_PROMPT ۾ بيان ڪري ٿو. ڪوڊ جيان هيٺيان استعمال ڪري سگهجن ٿيون. جيڪڏهن EXPECT_PROMPT موجود ناهي، ڪوڊ ڪوڊ صحيح طور تي ڪم ڪرڻ جو سٺو موقعو آهي.

سڌارو مقرر ڪريو "(٪ | # | \\ $) $"؛ # ڊفالٽ تڪميل ڪيچ {سيٽ پروپٽ $ اين (EXPECT_PROMPT)} expect -re $ instpt

مان توهان کي توجهه ڏيارڻ جي تڪليف لکڻ جو حوالو ڪري ٿو جيڪو توهان کي ڏسڻ جي اميد جي آخر ۾ شامل آهي. هن سڄي شي کي ڏسڻ کان اڳ سوال جو جواب ڏيڻ جي امڪان کان بچائي ٿو. اضافي طور تي، انهن کي مڪمل طور تي ڏسي وڃڻ کان اڳ توهان شايد جوابن جا جواب حاصل ڪري سگهندا، جيڪڏهن توهان شروعاتي جواب ڏيو، توهان جو جواب شايد وچ جي سوال جي وچ ۾ گنجائش وي. ٻين لفظن ۾، نتيجن جي ڪچهري صحيح هوندي، پر ڇنڊ ڇاڻ نظر اچي ٿي.

گهڻو ڪري انهن جي آخر ۾ هڪ خلائي ڪردار شامل آهي. مثال طور، ايف ٽي پي کان فوري 'f'، 't'، 'p'، '>' ۽. انهي کي تڪڙو مچڻ لاء، توهان کي انهن هر هڪ کي اکرن لاء اڪائونٽ ڏيڻ گهرجي. اهو هڪ عام غلطي آهي جنهن کي خالي ڪرڻ شامل نه آهي. واضح طور تي خالي ڪريو.

جيڪڏهن توهان فارم * * فارم جي نموني استعمال ڪريو، * * حاصل ڪيل سڀني شين کي ايڪس جي آخر کان حاصل ڪيل آخري شيء تائين. هي آواز ناقابل آهي پر ڪجهه ڪجهه ڪري سگهجن ٿا ڇاڪاڻ ته لفظ "آخري شيء" موصول ٿي سگهي ٿي ڪمپيوٽر جي رفتار ۽ ڪنيٽل ۽ ڊوائيس ڊرائيور جي ٻئي اي اي جي پروسيسنگ جي لحاظ کان مختلف هوندا آهن.

خاص طور تي، انسان جيڪي پروگرام جي وڏي پيماني ۾ پهچندا آهن (ان وقت تائين) ڏسڻ ۾ اچن ٿا، جڏهن حقيقت ۾ سڀ کان وڌيڪ پروگرامن ۾ هڪ وقت ۾ ٻاڦ هڪ هڪ ليڪ پيدا ڪري ٿي. اهو معاملو سمجهيو آهي، * * اڳوڻو پيراگراف جي نموني ۾ صرف موجوده لائن جي آخر سان ملن ٿيون جيتوڻيڪ وڌيڪ لڳي ٿو، ڇاڪاڻ ته د ميچ جو وقت جيڪا सबै उत्पादन प्राप्त भएको थियो.

توقع نه آهي ته وڌيڪ پيداوار آنديون آهن جيستائين توهان جو اندازو خاص طور تي ان جي حساب ۾ ناهي.

جيتوڻيڪ قطار تي مدار ٿيل بفرنگ تي منحصر بغير ناهي. نه رڳو پروگرامن ۾ انهن کي بفيرنگ جي قسم بابت واعدو ئي نه ڪري سگھن ٿا، پر سسٽم مسمار ٻاھرين لائين اسٽاڪ کي ٽوڪ ڪري سگهي ٿو، انهي ڪري اهي نظر انداز سان بيٺل هنڌن تي لڪيرون. ان ڪري، جيڪڏهن توهان لکڻ جي آخري نمونن جي آخري تڪليف کي ظاهر ڪري سگهو ٿا، ته اهو ڪرڻ وارين طريقو آهي.

جيڪڏهن توهان پروسيس جي آخري پوسٽ ۾ هڪ نمونہ جي انتظار ۾ آهيو ۽ پروگرام انهي جي بدران ٻي شيء ٻيٽ ڪري ٿي، ته توهان ان وقت جي ڳولا واري ڳولا سان گڏ ڳولڻ جي قابل نه هوندا. ان جو سبب اهو آهي ته اميد رکي نه سگهندو، ان جي بدران اهو هڪ اشارو ظاهر ٿيندو. انهي جي بدران استعمال ڪريو. اڃا بهتر، ٻنهي جو استعمال ڪريو. انهي طريقي سان اهو لڪير هميشه ڀرسان منتقل ٿي ويو آهي، توهان کي پاڻ کي تبديل ڪرڻ جي ضرورت نه هوندي.

نيويلون عام طور تي واپسي واپسيء ۾ تبديل ٿي ويا آهن، ليڪن فائيل منسلڪ جڏهن ٽرمينل ڊرائيور طرفان ڊيٽابيس. ان ڪري، جيڪڏهن توهان اهڙي نموني چاهيو ته واضح طور تي ٻه لائينون، مان، چون، printf ("foo \ nbar") سان ملن ٿا، توهان کي نموني استعمال ڪرڻ گهرجي "foo \ r \ nbar".

جڏهن ته ساڳئي ترجمي ۾ صارف کان پڙهڻ، وسيلي expect_user ذريعي. انهي حالت ۾، جڏهن توهان واپسي کي دٻايو، اهو هڪ نئون لائن کي ترجمو ڪيو ويندو. جيڪڏهن توقع آهي ته ڪنهن پروگرام ۾ جيڪو گذري ٿو اهو خام موڊ (ٺهڪندڙ ٽيلٽ) وانگر آهي، اتي هڪ مسئلو ٿي ويندو آهي، جيئن پروگرام هڪ سچي موٽڻ جي اميد رکي ٿو. (ڪجهه پروگرامن اصل ۾ معافي وارا آهن ته اهي خودڪار پاڻ ڏانهن موٽڻ لاء نئينون ترجمو ڪنديون، پر گهڻو ڪري نه سگهندا.) بدقسمتي سان، اهو پروگرام ڳولڻ جو ڪو طريقو نه خام موڊ ۾ رکندو آهي.

بلڪه واپسيء سان نوان لائنن کي هٿان بحال ڪرڻ کان، حل ڪرڻ جو حڪم "خام چوري" آهي، جيڪو ترجمي کي بند ڪندو. اڃا به، انهي جو مطلب اهو ٿيو ته توهان کي پڪي واري لائن واري تبديلي خاصيت نه هوندي.

سادگي طور تي توهان جي ٽرمين کي خام موڊ تي ٺهڪيندو آهي انهي ڪري اهو مسئلو پيدا نه ٿيندو.

اهو عام طور تي مفيد آهي ته پاسورڊ (يا ٻيون نجي معلومات) جي متوقع لکتون ۾ ذخيرو ڪرڻ لاء. اهو سفارش ناهي ته ڪنهن به شيء تي ڪمپيوٽر تي ذخيرو ٿيل آهي هر ڪنهن جي رسائي لاء حساس آهي. ان ڪري، هڪ رسم الخط مان پاسورڊس لاء ان کي تيزيء سان اڳتي وڌندي هڪ لفظي مفهوم آهي جو لفظي طور تي لفظي طور تي. حالانڪه، ڪڏهن ڪڏهن اهڙي امڪان صرف امڪان آهي.

بدقسمتي سان، يونڪسڪس فائيل سسٽم اسڪرپٽ ٺاهڻ جو ڪوبه سڌو طريقو ناهي جيڪو قابل عمل کانسواء ناجائز آهي. سسٽم جيڪي شيل لکت سيٽنگجي جي مدد ڪري سگھن ٿا انهن کي هيٺيون طور تي هن ريت نقل ڪري ٿو:

معمولي طور تي متوقع اسڪرپٽ (جيڪو پوشيل ڊيٽا شامل آهي) ٺاهيو. ان جي اجازت ڏيو 750 (-rwxr-x ---) ۽ ھڪڙي قابل اعتماد گروپ جي ملڪيت ھجي، يعني ھڪڙو گروپ جيڪو پڙھڻ جي اجازت آھي. جيڪڏھن ضروري ھجي ته، ھن مقصد لاء ھڪ نئون گروپ ٺاھيو. اڳيون، اجازت ڏيو / بن / ٽي لپي جي اجازت سان 2751 (-rwxr-s - x) اڳوڻي گروپ جي طرفان.

نتيجو هڪ رسم الخط آهي جيڪا شايد ڪنهن طرفان عمل (۽ پڙهو) ٿي سگهي ٿي. جڏهن سڏبو ته، اهو توقع لپي هلندو آهي .

& # 34؛ ڏسو ۽ سارو 34؛

Tcl (3)، libexpect (3)
"تفسير جي ڳولا: خودڪار بين الاقوامي وقتي پروگرامن لاء هڪ ٽليڪ ٽولي تي ٻڌل ٽوڪڪٽ" ڊان ليبس، ص 602، اي ايس بي بي 1-56592-090-2، O'Reily، اور ايسوسيٽسس، 1995.
"اميد آهي: انتشار جي غيرقانوني حالتن جو علاج" ڊان ليزس، سمر 1990 ع واري يونيسيس ڪانفرنس، ائيميم، ڪيليفورنيا، جون 11-15، 1990 واري ڪارروائي جون ترتيبون.
I. "ڊان ليبس پاران، ڪارپوريشن 1990 USENIX Large Installation Systems Administration ڪانفرنس، Colorado Springs، Colorado، October 17-19، 1990، 1990 ۾ پروسيسنگ سسٽم کي خودڪار ڪرڻ جي اميد جو استعمال ڪندي.
I. "Tcl: هڪ ايجاد قابل حڪم ڪمان ٻولي" جان اوستر هاٽ پاران، سياري جي 1990 واري يونينيڪس ڪانفرنس جي ڪارڪردگي، واشنگٽن، ڊي سي، 22-22، 1990 ع .. آء "اميد: انسائيڪلوٽس پروگرام ڪنٽرولنگ پروگرامز" ڊان ليبز پاران، ڪمپيوٽرن سيٽنگون ، وائي. 4، نمبر 2، يونيورسٽيء جي ڪيليفورنيا پريس جرنل، نومبر 1991 ع.. "ريگريشن ٽيسڪنگ ۽ ڪنوينشن ٽريننگ انٽرويو پروگرامن"، ڊن ليبس، موسم گرما 1992 يو ايسينڪس ڪانفرنس جو ڪارڻ، پي. 135-144، سين سينٽيو، TX، جون 12-15، 1992.. آء "ڪائيٽائيٽ سان ڳنڍڻ وارو بين الاقوامي پليٽيڪل پروگرام"، ڊن ليبس پاران، سافٽ ويئر، مشق ۽ تجربو، جان ولي ۽ سنز، ويسٽ سي سيڪس، انگلينڊ، ڪال.

23، نمبر 5، مئي، 1993.. آء "Tcl ايپليڪيشنز لاء هڪ ديگر"، ڊان ليبس پاران، 1993 Tcl / Tk ورکشاپ، برکلي، سي، جون 10-11، 1993 جي ڪارروائي جو عمل.

AUTHOR

ڊان ليزس، نيشنل انسٽيٽيوٽ آف معيار ۽ ٽيڪنالاجي

ACKNOWLEDGMENTS

Tcl لاء جان اوستر هاٿ جو شڪر، ۽ سکاٽ پيسلي لاء انسپائريشن. روب سيوائي جي اميد جي خود مختياري جوڙجڪ جي لاء مهرباني.

ھسٽري فائل فائل جي توقع جي ارتقاء بابت گهڻو ڪري ٿو . اهو دلچسپ پڙهڻ چاهي ٿو ۽ توهان کي هن سافٽويئر ڏانهن وڌيڪ معلومات ڏئي سگهي ٿي. ان جي ذڪر ڪيل ماڻهن جو شڪرانو جيڪو مون کي غلط فيڪل موڪليو ۽ ٻين مدد ڏني.

توقع جي ڊيزائن ۽ عمل درآمد آمريڪا جي حڪومت طرفان ادا ڪئي وئي آهي ۽ تنهن ڪري عوامي ڊومين ۾. بهرحال ليکڪ ۽ NIST ڪريڊٽ پسند ڪندو هو ته جيڪڏهن هن پروگرام ۽ دستاويز يا ان جا حصا استعمال ڪيا وڃن.