لینکس کی توقع کمانڈ

Lynks Ky Twq Kman



باش اسکرپٹس کاموں کی آٹومیشن کو ایک آسان چیز بناتی ہیں۔ ایسے متعدد طریقے ہیں جہاں آپ وقت اور محنت کو بچانے کے لیے مختلف دہرائے جانے والے کاموں کو خودکار کر سکتے ہیں، بشمول ان کاموں کو خودکار بنانا جن کے لیے صارف کے ان پٹ کی ضرورت ہوتی ہے۔ اس کے علاوہ، لینکس اسکرپٹس کا استعمال کرتے ہوئے آسانی سے کام کرنے کے لیے 'توقع' جیسی کمانڈز پیش کرتا ہے۔

لینکس 'expect' کمانڈ آپ کو یہ کنٹرول کرنے دیتی ہے کہ اسکرپٹس کو کس طرح کام کرنے کے لیے صارف کے ان پٹ کی ضرورت ہوتی ہے۔ اگر آپ کے اسکرپٹ کو عمل درآمد جاری رکھنے کے لیے صارف کے ان پٹ کی ضرورت ہے، تو اس بات کا ایک طریقہ موجود ہے کہ آپ 'expect' کمانڈ کا استعمال کرتے ہوئے اس تعامل کو کیسے کنٹرول کر سکتے ہیں۔







لینکس ایکسپیکٹ کمانڈ کے ساتھ شروعات کرنا

لینکس 'متوقع' کمانڈ آپ کے سسٹم پر انسٹال نہیں ہوتا ہے۔ تاہم، آپ اسے انسٹال کرنے کے لیے مختلف طریقے استعمال کر سکتے ہیں۔ ہمارے کیس کے لیے، ہم درج ذیل کمانڈ کا استعمال کرتے ہوئے اسے انسٹال کرنے کے لیے 'apt' آپشن استعمال کر رہے ہیں:



$ sudo مناسب انسٹال کریں توقع



عمل مکمل ہونے کے بعد، توقع کے ورژن کو چیک کریں تاکہ اس بات کی تصدیق کی جا سکے کہ انسٹالیشن کامیاب تھی۔





آپ کے لینکس پر معلومات دستیاب ہونے کے بعد، اگلی چیز یہ سیکھ رہی ہے کہ انٹرایکٹو کاموں کو خودکار کرنے کے لیے اسے کیسے استعمال کیا جائے۔



سب سے پہلے، آئیے یہ دیکھنے کے لیے ایک سادہ Bash اسکرپٹ بنائیں کہ یہ انٹرایکٹو طریقے سے کیسے چلے گا۔ ہمارا اسکرپٹ صارف کو کچھ تفصیلات داخل کرنے کا اشارہ کرتا ہے، اور یہ تب ہی چل سکتا ہے جب صارف کا ان پٹ پڑھ لیا جائے۔

اپنی پسند کے ٹیکسٹ ایڈیٹر کا استعمال کرتے ہوئے باش اسکرپٹ بنائیں۔ ایک بار جب آپ نے اپنا اسکرپٹ کوڈ لکھ لیا تو ٹیکسٹ ایڈیٹر کو محفوظ کریں اور باہر نکلیں۔

آپ کو اسکرپٹ فائل کو قابل عمل بنانا ہوگا۔ اس کے لیے درج ذیل نحو کا استعمال کریں اور اسے اپنی ٹارگٹ اسکرپٹ فائل کے ساتھ ملائیں:

$ sudo chmod +x < فائل >

اسکرپٹ کو چلانے کے لیے، اسکرپٹ کے نام کے بعد './' کمانڈ استعمال کریں۔ نوٹ کریں کہ اسکرپٹ کس طرح صارف کے ان پٹ کے لیے اشارہ کرتا ہے اور صرف اس وقت جاری رہ سکتا ہے جب ہم ان پٹ ٹائپ کرتے ہیں۔

جب آپ اس طرح کے انٹرایکٹو سیشن کو خودکار بنانا چاہتے ہیں، تو آپ کو مطلوبہ ان پٹ بھیجنے کے لیے 'expect' کمانڈ کا استعمال کرنا چاہیے، بجائے اس کے کہ صارف کو ان پٹ بھیجنا پڑے۔

اس سے پہلے کہ ہم دیکھیں کہ 'متوقع' کمانڈ کیسے کام میں آتی ہے، 'کون سا' کمانڈ استعمال کرکے اس کے مقام کا پتہ لگائیں۔ اس راستے کو نوٹ کریں جہاں 'expect' کمانڈ موجود ہے جیسا کہ 'expect' اسکرپٹ لکھتے وقت آپ کو اس کی ضرورت ہوگی۔

اس صورت میں، 'expect' کو /usr/bin/expect مقام میں محفوظ کیا جاتا ہے۔

دوبارہ، اپنا ٹیکسٹ ایڈیٹر کھولیں اور ایک اور اسکرپٹ بنائیں۔ اس بار، اسے ایک متوقع اسکرپٹ کے طور پر شناخت کرنے کے لیے '.exp' ایکسٹینشن کے ساتھ محفوظ کریں۔ چار اہم کمانڈز ہیں جو آپ اپنی متوقع اسکرپٹ لکھتے وقت استعمال کرسکتے ہیں:

  1. انڈے - یہ ایک نیا عمل شروع کرتا ہے اور اس اسکرپٹ کو شروع کرنے کے لیے شامل کیا جاتا ہے جسے آپ انٹرایکٹو سیکشنز کو خودکار کرنا چاہتے ہیں۔
  2. بھیجیں - یہ مطلوبہ جواب بھیجتا ہے جو بصورت دیگر صارف داخل کرے گا۔
  3. توقع - یہ ٹارگٹ اسکرپٹ میں لائن دکھاتا ہے جو آؤٹ پٹ کا انتظار کر رہی ہے۔
  4. بات چیت - یہ پروگرام کے ساتھ بات چیت شروع کرتا ہے۔

اس معاملے کے لیے، ہمارے پاس ہماری 'متوقع' اسکرپٹ ہے جیسا کہ درج ذیل میں دکھایا گیا ہے۔ ہم نے ہدف کے اسکرپٹ پر روشنی ڈالی اور 'توقع' کے اختیارات دیئے اور انہیں کیا جواب ملے گا۔

آخری لائن اسکرپٹ کے اختتام کو ظاہر کرتی ہے اور جب بھی آپ 'متوقع' اسکرپٹ لکھ رہے ہوں تو اسے شامل کرنا ضروری ہے۔ 'expect' اسکرپٹ کو 'chmod' کا استعمال کرتے ہوئے قابل عمل بنائیں۔

آخر میں، اسکرپٹ چلائیں اور دیکھیں کہ کیا ہوتا ہے۔ صارف کو مطلوبہ ان پٹ ڈال کر اسکرپٹ کے ساتھ تعامل کرنے کی ضرورت کے بجائے، ہم نے 'متوقع' اسکرپٹ میں بھیجی گئی اقدار کو صارف کے جوابات کے طور پر شامل کیا جاتا ہے۔ اس طرح، آپ انٹرایکٹو یوزر ان پٹس کو خودکار کرنے کا انتظام کرتے ہیں۔

فرض کریں کہ آپ ان اقدار کے لیے متغیرات کے ساتھ کام کرنے کو ترجیح دیتے ہیں جو آپ صارف کے ان پٹ کے طور پر حاصل کرنا چاہتے ہیں۔ یہ بھی ممکن ہے. ہدف متغیرات اور ان کی قدروں کو متعین کریں، پھر متغیر کا نام طلب کریں تاکہ اسے صارف کے متوقع ان پٹ کے طور پر بھیجیں۔ درج ذیل مثال پر ایک نظر ڈالیں:

جب آپ اس ترمیم شدہ اسکرپٹ کو دوبارہ چلاتے ہیں، تب بھی آپ ایک ہی مقصد حاصل کرتے ہیں، صرف یہ کہ آپ نے اس بار متغیرات کا استعمال کیا ہے۔

Autoexpect کے ساتھ کام کرنا

آپ 'autoexpect' کمانڈ کا استعمال کرتے ہوئے 'expect' اسکرپٹ بنانے سے بچ سکتے ہیں۔ یہ کیسے کام کرتا ہے کہ آپ 'autoexpect' کمانڈ چلاتے ہیں اس کے بعد اسکرپٹ جس کے لیے آپ 'expect' اسکرپٹ بنانا چاہتے ہیں۔

مثال کے طور پر، ہماری ابتدائی اسکرپٹ 'sample.sh' ہے۔ اس کے لیے، ہم درج ذیل کمانڈ کے ساتھ 'autoexpect' استعمال کرتے ہیں:

$ خود بخود متوقع / نمونہ ش

ایک بار جب آپ اسے چلاتے ہیں تو، 'script.sh' نام کے تحت ایک نئی 'expect' اسکرپٹ خود بخود بن جاتی ہے، اور آپ کو صارف کے ان پٹ کے لیے متوقع جوابات دینے کے لیے کہا جائے گا۔

آپ کو صرف تخلیق کردہ اسکرپٹ کو چلانے کی ضرورت ہے، اور آپ 'متوقع' اسکرپٹ کو دستی طور پر بنانے کی ضرورت کو ختم کرکے عمل کو آسان بناتے ہیں۔

نتیجہ

Bash اسکرپٹ بناتے وقت 'expect' کمانڈ انٹرایکٹو یوزر ان پٹس کو خودکار کرنے میں مدد کرتی ہے۔ ایک بار جب آپ اسے متوقع قدروں کے ساتھ دے دیتے ہیں، تو آپ کا اسکرپٹ بغیر رکے چلے گا، اگرچہ صارف کا ان پٹ درکار ہے۔ ہم نے 'متوقع' کمانڈ کے ساتھ کام کرنے کی ایک مثال دیکھی ہے، بشمول خود بخود آٹو ایکسپیکٹ پروگرام کا استعمال کرتے ہوئے 'متوقع' اسکرپٹ کیسے تیار کیا جائے۔ یہی ہے!