باش سب شیلز

Bash Sb Shylz



بعض اوقات، اس کے لیے آپ کو پس منظر میں ایک یا زیادہ کمانڈز یا اسکرپٹ چلانے کی ضرورت ہوتی ہے۔ یہ کام تمام کمانڈز یا اسکرپٹ کو اسکرپٹ فائل میں لکھ کر اور ایمپرسینڈ (&) کا استعمال کرتے ہوئے فائل کو ایگزیکیوٹ کرکے یا موجودہ شیل سے سب شیل میں کمانڈز یا اسکرپٹس کو ایگزیکٹ کرکے کیا جاسکتا ہے۔ ذیلی شیل کو $() یا بیک ٹِکس (`) کے ساتھ منسلک کرکے متعدد کمانڈز یا اسکرپٹس پر عمل درآمد کرنے کے لیے استعمال کیا جا سکتا ہے۔ Bash subshell استعمال کرنے کے طریقے اس ٹیوٹوریل میں دکھائے گئے ہیں۔

سب شیل کی مختلف مثالیں۔

ذیلی شیل میں اسکرپٹ کو چلانے کے مختلف طریقے ٹیوٹوریل کے اس حصے میں دکھائے گئے ہیں۔

مثال 1: سنگل اقتباس اور ڈبل اقتباس کا استعمال کرتے ہوئے سب شیل پر عمل کریں۔

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







#!/bin/bash

# سب شیل میں `تاریخ` کمانڈ پرنٹ کریں۔

بازگشت 'آج ہے 'تاریخ' '

# سٹرنگ متغیر کی وضاحت کریں۔

strVal = 'باش سب شیل'

# واحد کوٹس کا استعمال کرتے ہوئے سب شیل میں متغیر کو پرنٹ کریں۔

بازگشت 'سنگل اقتباسات کی پیداوار:' '$(echo $strVal)'

# ڈبل کوٹس کا استعمال کرتے ہوئے سب شیل میں متغیر کو پرنٹ کریں۔

بازگشت 'ڈبل کوٹس کی پیداوار:' ' $(echo $strVal) '

اسکرپٹ پر عمل کرنے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوتا ہے۔ سب شیل اسکرپٹ کو سٹرنگ کے طور پر پرنٹ کیا جاتا ہے جب اسے سنگل کوٹس کے ساتھ بند کیا جاتا ہے۔ سب شیل اسکرپٹ کو اس وقت عمل میں لایا جاتا ہے جب اسے ڈبل کوٹس کے ساتھ منسلک کیا جاتا ہے:





مثال 2: سب شیل کا استعمال کرتے ہوئے مخصوص ایکسٹینشن کی تمام فائلیں تلاش کریں۔

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





#!/bin/bash

بازگشت -n 'فائل کی توسیع کا نام درج کریں:'

# فائل ایکسٹینشن کا نام لیں جسے تلاش کیا جائے گا۔

پڑھیں ext

# ان پٹ ویلیو چیک کریں۔

اگر [ [ $ext == '' ] ] ; پھر

#پرنٹ کی غلطی کا پیغام

بازگشت 'کوئی توسیع نہیں دی گئی ہے۔'

اور

بازگشت 'فائل ناموں کے ساتھ $ext توسیع:'

# دی گئی توسیع کے ساتھ تمام فائل نام پرنٹ کریں۔

بازگشت ' $( echo `ls *.$ext` ) '

ہونا

'txt' ان پٹ کے ساتھ اسکرپٹ کو چلانے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوتا ہے۔ آؤٹ پٹ کے مطابق، موجودہ مقام پر تین ٹیکسٹ فائلیں موجود ہیں:



اسکرپٹ کو خالی قیمت کے ساتھ چلانے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوتا ہے:

مثال 3: سب شیل میں ریاضی کے اظہار کو انجام دیں۔

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

#!/bin/bash

# پیرنٹ شیل متغیر کی وضاحت کریں۔

نمبر = 10

# پیرنٹ شیل کے متغیر کی بنیاد پر نتیجہ پرنٹ کریں۔

( ( نتیجہ = $نمبر + 5 ) )

بازگشت 'کا مجموعہ $نمبر +5= $نتیجہ '

# پیرنٹ شیل کے اسی نام کے ساتھ سب شیل متغیر بنائیں

( نمبر = بیس ; ( ( نتیجہ = $نمبر + 10 ) ) ; بازگشت 'کا مجموعہ $نمبر +5= $نتیجہ ' )

# پیرنٹ شیل کے متغیر کی بنیاد پر نتیجہ دوبارہ پرنٹ کریں۔

بازگشت 'کا مجموعہ $نمبر +5= $نتیجہ '

اسکرپٹ پر عمل کرنے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوتا ہے۔ پہلا اور آخری آؤٹ پٹ مین شیل کا نتیجہ دکھاتا ہے۔ دوسرا آؤٹ پٹ سب شیل کا نتیجہ دکھاتا ہے۔ مین شیل کے متغیر کو ذیلی شیل کے متغیر سے تبدیل نہیں کیا گیا ہے:

مثال 4: سب شیل میں ایک سے زیادہ کمانڈز پر عمل کریں۔

درج ذیل اسکرپٹ کے ساتھ ایک Bash فائل بنائیں جو 'echo' کمانڈ کی آؤٹ پٹ کو 'sed' کمانڈ میں بھیجتی ہے جو مماثل سٹرنگ ویلیو کو دوسری سٹرنگ سے بدل دیتی ہے۔ 'ایکو' کمانڈ کا آؤٹ پٹ 'جاوا اسکرپٹ' ہے۔ لہذا، اس قدر کا موازنہ 'جاوا' اور 'جاوا اسکرپٹ' سے کیا جاتا ہے۔ اگر کوئی مماثلت پائی جاتی ہے تو، مماثل اسٹرنگ کو 'قسم' سٹرنگ سے بدل دیا جاتا ہے۔

#!/bin/bash

# تار کی قدر کی وضاحت کریں۔

strVal = 'جاوا اسکرپٹ'

# اصل سٹرنگ ویلیو پرنٹ کریں۔

بازگشت 'سٹرنگ ویلیو: $strVal '

# سب شیل ویلیو پرنٹ کریں۔

بازگشت -n 'سب شیل ویلیو:'

بازگشت ' $(echo $strVal | sed 's|Java|JavaScript Type|') '

اسکرپٹ پر عمل کرنے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوتا ہے۔ آؤٹ پٹ کے مطابق، 'جاوا' سٹرنگ کو 'ٹائپ' سٹرنگ سے بدل دیا گیا ہے۔ سب شیل کا آؤٹ پٹ 'جاوا اسکرپٹ ٹائپ اسکرپٹ' ہے:


نتیجہ

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