باش متغیر میں کمانڈ کیسے چلائیں؟

Bash How Execute Command Variable



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

نوٹ: ذیل میں دکھائے گئے تمام منظرنامے اوبنٹو 20.04 پر کئے گئے ہیں۔ تاہم ، وہ لینکس کے کسی بھی دوسرے ذائقہ کے ساتھ بالکل اسی طرح کام کریں گے۔







بش میں ایک متغیر میں کمانڈ کو انجام دینے کا طریقہ:

بش میں ایک متغیر میں کمانڈ کو انجام دینے کے طریقے کو ظاہر کرنے کے لیے ، ہم آپ کے سامنے تین مختلف منظرنامے پیش کریں گے جو کہ درج ذیل ہیں۔



ایک متغیر میں محفوظ کردہ ایکو کمانڈ پر عمل کرنا:

یہ سب سے آسان منظر ہے جس میں ہمارا مقصد ایکو کمانڈ پر عمل کرنا ہے جو ایک متغیر میں محفوظ ہے۔ ایسا کرنے کے لیے ، آپ کو درج ذیل اقدامات کے سلسلے پر عمل کرنا ہوگا۔



مرحلہ # 1: باش اسکرپٹ بنانا:

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





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



اس فائل میں باش سکرپٹ لکھنے کے لیے ، اسے کھولنے کے لیے اس پر ڈبل کلک کریں اور پھر نیچے دی گئی تصویر میں دکھایا گیا اسکرپٹ اپنی باش فائل میں ٹائپ کریں۔ یہاں ، اسکرپٹ کی پہلی لائن یعنی #!/bin/bash سے پتہ چلتا ہے کہ یہ فائل دراصل ایک باش فائل ہے۔ پھر ہم نے ٹیسٹ نامی ایک متغیر تخلیق کیا ہے اور اسے قیمت $ (ایکو ہائے وہاں!) تفویض کی ہے۔ جب بھی آپ کمانڈ کو کسی متغیر میں اسٹور کرنا چاہتے ہیں ، آپ کو اس کمانڈ کو $ علامت سے پہلے ٹائپ کرنا ہوگا۔ اس معاملے میں ، ہم ایکو کمانڈ کو ٹیسٹ متغیر میں اسٹور کرنا چاہتے تھے لہذا ہم نے صرف ایکو کمانڈ ٹائپ کیا ہے جس کے بعد بے ترتیب پیغام ہے اور اسے گول بریکٹ میں بند کر دیا ہے ، اور اس کے سامنے $ علامت رکھی ہے۔ تو اب ، اگر ہم اس ایکو کمانڈ پر عمل کرنا چاہتے ہیں تو ہمیں ٹیسٹ کے متغیر تک رسائی حاصل کرنی ہوگی۔ لہذا ، اس بات کی تصدیق کرنے کے لئے کہ آیا ٹیسٹ متغیر میں محفوظ کردہ ایکو کمانڈ کامیابی کے ساتھ چلائی جا سکتی ہے یا نہیں ، ہم نے ایک اور ایکو کمانڈ کا استعمال کرکے ٹرمینل پر ٹیسٹ متغیر کی پیداوار کو پرنٹ کیا ہے۔ اس اسکرپٹ کو ٹائپ کرنے کے بعد ، آپ کو اپنی فائل کو محفوظ کرنے اور اسے بند کرنے کی ضرورت ہے۔

مرحلہ # 2: ٹرمینل کے ذریعے باش سکرپٹ پر عمل کرنا:

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

لشکرCommandVar.sh

جب آپ اس کمانڈ پر عمل کرنے کے لیے انٹر کلید دبائیں گے تو آپ اپنے ٹرمینل پر درج ذیل آؤٹ پٹ دیکھ سکیں گے۔ یہاں ، آؤٹ پٹ کا نمایاں حصہ ایکو کمانڈ کا آؤٹ پٹ ہے جو ٹیسٹ متغیر میں محفوظ تھا۔

متغیر میں ذخیرہ کردہ سیک کمانڈ پر عمل کرنا:

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

مرحلہ # 1: اوپر تیار کردہ باش سکرپٹ میں ترمیم:

باش فائل جو آپ نے اوپر کے طریقہ کار میں بنائی ہے اسے کھولیں اور اس میں درج ذیل اسکرپٹ ٹائپ کریں۔ یہاں ، ہم نے ترتیب کے نام سے ایک متغیر بنایا ہے۔ ہمارا مقصد seq کمانڈ استعمال کرتے ہوئے 1 سے 10 تک کی تعداد پرنٹ کرنا ہے۔ ایسا کرنے کے لیے ، ہم نے تسلسل متغیر کو $ $ (seq 1 10) کی قیمت تفویض کی ہے۔ اگر آپ چاہیں تو آپ اپنی پسند کے نمبروں کی کوئی دوسری رینج بھی بتا سکتے ہیں۔ سیک کمانڈ کے بعد پہلا نمبر تسلسل کی نچلی حد کی نشاندہی کرتا ہے جبکہ دوسرا نمبر اوپری باؤنڈ سے مراد ہے۔ اس اسکرپٹ کو ٹائپ کرنے کے بعد ، اپنی فائل کو محفوظ کریں اور اسے بند کریں۔

مرحلہ # 2: ترمیم شدہ بش سکرپٹ کو ٹرمینل کے ذریعے انجام دینا:

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

متغیر میں ذخیرہ شدہ 'pwd' کمانڈ پر عملدرآمد:

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

مرحلہ # 1: اوپر تیار کردہ باش سکرپٹ میں ترمیم:

باش فائل کھولیں جس میں آپ نے ابھی ترمیم کی ہے اور پھر اس میں درج ذیل تصویر میں دکھایا گیا اسکرپٹ ٹائپ کریں۔ اس سکرپٹ میں ، ہم نے ایک متغیر بنایا ہے جس کا نام working_directory ہے اور اسے قیمت $ (pwd) تفویض کی ہے۔ پی ڈبلیو ڈی کمانڈ صرف اس کی آؤٹ پٹ یعنی موجودہ ورکنگ ڈائرکٹری کو ورکنگ ڈائرکٹری متغیر میں محفوظ کرے گی۔ اس بات کو یقینی بنانے کے لیے کہ pwd کمانڈ کو صحیح طریقے سے نافذ کیا گیا ہے یا نہیں ، ہم نے echo کمانڈ کا استعمال کرتے ہوئے ٹرمینل پر ورکنگ ڈائرکٹری متغیر کی قیمت پرنٹ کی ہے۔ اب اس فائل کو محفوظ کریں اور پھر اس میں ترمیم شدہ بش اسکرپٹ ٹائپ کرنے کے بعد اسے بند کردیں۔

مرحلہ # 2: ترمیم شدہ بش سکرپٹ کو ٹرمینل کے ذریعے انجام دینا:

اب اس باش سکرپٹ کو اسی انداز میں چلائیں جیسا کہ اوپر بیان کیا گیا ہے۔ اس باش اسکرپٹ کا آؤٹ پٹ آپ کو موجودہ ورکنگ ڈائرکٹری دکھائے گا۔ آؤٹ پٹ کا نمایاں حصہ در حقیقت pwd کمانڈ کا آؤٹ پٹ ہے۔

نتیجہ:

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