شیل اسکرپٹنگ کیا ہے اور آپ اسے کیوں استعمال کریں۔

شیل اسکرپٹنگ کیا ہے اور آپ اسے کیوں استعمال کریں۔

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





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





1. شیل کی تاریخ

1970 کی دہائی میں یونکس کے ساتھ شروع کرتے ہوئے ، ایک شیل پروگرام تھا جسے ' V6 شیل۔ کین تھامسن نے تیار کیا۔ یہ ایک انٹرایکٹو شیل تھا اور سکرپٹنگ کی صلاحیت کا فقدان تھا۔





اس کے بعد تھا بورن شیل۔ 1977 میں اور آج کے لیے بطور ڈیفالٹ شیل استعمال میں ہے۔ جڑ کھاتہ. اس شیل نے اسکرپٹنگ کی صلاحیتوں کو شامل کیا جو سالوں کے دوران عملی طور پر انتہائی مفید ثابت ہوئی ہے۔

1980 کی دہائی میں شیل کی مزید ترقی نے شیل کی بہت سی مختلف حالتوں کو جنم دیا ، جن میں سے سب سے زیادہ مقبول تھے۔ سی شیل۔ اور کارن شیل۔ . ان گولوں میں سے ہر ایک اپنا اپنا نحو لاتا ہے جو کہ بعض صورتوں میں اصل خول سے بالکل مختلف تھا۔



آج کے سب سے مشہور گولوں میں سے ایک ہے۔ باش شیل۔ . بش کا مطلب ہے۔ بورن-اگین شیل۔ اور اصل بورن شیل کی ایک بہت بہتر شکل ہے۔

گرافک ٹی خریدنے کے لیے بہترین جگہ

اس آرٹیکل میں ، ہم شیل سکرپٹنگ کے لیے بیان کرتے ہیں۔ باش شیل .





2. ایک شیل سکرپٹ پر عملدرآمد

آپ شیل اسکرپٹ کو کس طرح انجام دیتے ہیں؟ سادہ۔ شیل کی دلیل کے طور پر صرف اسکرپٹ کا راستہ پاس کریں:

ایک نمونہ شیل اسکرپٹ:





echo 'hello world'

اسے مندرجہ ذیل طریقے سے چلائیں:

$ bash hello.sh
# prints
hello world

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

شیل اسکرپٹ کو براہ راست بطور کمانڈ چلانے کا ایک اور طریقہ ہے۔ درج ذیل لائن داخل کریں ( ہیش بینگ اعلان) آپ کے شیل اسکرپٹ کی پہلی لائن کے طور پر۔

لیپ ٹاپ پر نئی ہارڈ ڈرائیو انسٹال کرنے کا طریقہ
#!/bin/bash

اس تبدیلی کے ساتھ ، ہماری سادہ شیل اسکرپٹ اب ہے:

#!/bin/bash
echo 'hello world'

اب ، آپ کو اسکرپٹ فائل کو قابل عمل بنانے کی ضرورت ہے:

$ chmod +x hello.sh

اس مقام پر ، آپ واضح طور پر شیل کا حوالہ دیئے بغیر اسکرپٹ فائل کو براہ راست انجام دے سکتے ہیں۔

$ hello.sh
# prints
hello world

آئیے اب شیل سکرپٹ استعمال کرنے کے کچھ فوائد دیکھیں۔

3. ٹاسک آٹومیشن۔

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

  • فائل یا فولڈر کو روزانہ آرکائیو اور اپ لوڈ کریں۔ کلاؤڈ سٹوریج کی سہولت جیسے S3.
  • لاگ فائلوں کو کمپریس کریں جو روزانہ بڑھتی ہیں۔
  • اسٹاک کی قیمتیں حاصل کریں ، حاصل کردہ ڈیٹا کی تجزیہ کریں ، اور کچھ شرائط پوری ہونے پر ای میل یا ایس ایم ایس کو متحرک کریں (بہت زیادہ یا بہت کم قیمتیں)۔

4. ایک سے زیادہ کمانڈوں کو یکجا کرنا۔

بار بار کاموں کو خودکار کرنے کے علاوہ ، آپ کو یہ بھی فائدہ مند معلوم ہو سکتا ہے کہ آپ ایک ہی کمانڈ میں کمانڈز کے متعدد تسلسل کو جوڑ سکتے ہیں۔ ایک ہی کمانڈ کو یاد رکھنا ایک سے زیادہ کمانڈز کے مقابلے میں بہت آسان ہے ، اس حکم کا ذکر نہ کرنا جس میں ان پر عملدرآمد ہونا چاہیے۔

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

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

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
if [ '$PS1' ]; then
if [ '$BASH' ] && [ '$BASH' != '/bin/sh' ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='h:w$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ '`id -u`' -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
# The default umask is now handled by pam_umask.
# See pam_umask(8) and /etc/login.defs.
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi

5. ترقی کرنا آسان ہے۔

C/C ++ میں لکھے گئے باقاعدہ پروگرام کے اندر شیل سکرپٹ کی طرح ایکشن کرنا ممکن ہے۔ تاہم ، C/C ++ پروگرام کے مقابلے میں شیل اسکرپٹ لکھنا اور ڈیبگ کرنا کہیں زیادہ آسان ہے۔ خاص طور پر سسٹم ایڈمنسٹریشن کے کاموں کے لیے جن میں بیرونی کمانڈز پر عملدرآمد ، فائلوں اور ڈائریکٹریوں کو بنانا اور ہٹانا ، آؤٹ پٹ ری ڈائریکٹ کرنا وغیرہ شامل ہیں۔

C/C ++ پروگرام بہت نچلے درجے کے آپریشن کے لیے بہتر ہوتے ہیں ، جیسے سسٹم کالز کی درخواست ، ڈیٹا ڈھانچے میں ہیرا پھیری وغیرہ۔

6. شفافیت

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

باقاعدہ پروگراموں کے بجائے شیل سکرپٹ کے ساتھ مسائل کی تشخیص کرنا بہت آسان ہے کیونکہ آپ سورس کوڈ دیکھ سکتے ہیں۔ کیا وہ اسکرپٹ ناکام ہو رہا ہے کیونکہ ڈائریکٹری موجود نہیں ہے؟ آپ سکرپٹ کوڈ میں دیکھ سکتے ہیں اور ڈائریکٹری بنا سکتے ہیں (حالانکہ اچھی طرز عمل والی شیل اسکرپٹ کو چیک کرنا چاہیے اور اس طرح کی غلطیوں سے بچنے کے لیے بنانا چاہیے)۔

7. پورٹیبل

TO شیل سکرپٹ دوسرے یونکس اور یونکس جیسے آپریٹنگ سسٹم میں منتقل کیا جا سکتا ہے اور اس پر عمل درآمد کیا جا سکتا ہے (اگر شیل خود موجود ہو)۔ یہاں تک کہ جب شیل اسکرپٹ کو مختلف آرکیٹیکچرز جیسے x86 ، MIPS ، سپارک ، وغیرہ سے منتقل کرتے ہوئے ، شیل اسکرپٹس C/C ++ پروگراموں سے کہیں زیادہ پورٹیبل ہوتے ہیں۔

C/C ++ پروگرام کو دوسرے سسٹم میں منتقل اور استعمال کرنے کا واحد طریقہ یہ ہے کہ سورس کوڈ کاپی کریں ، پروگرام بنائیں ، اور اسے چلانے کی کوشش کریں۔ تب بھی ، یہ توقع کے مطابق کام نہیں کرسکتا اگر یہ فن تعمیر سے متعلق کوڈ استعمال کرتا ہے۔

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

ایس 21 الٹرا بمقابلہ 12 پرو میکس۔
بانٹیں بانٹیں ٹویٹ ای میل۔ اپنے ورچوئل باکس لینکس مشینوں کو سپر چارج کرنے کے 5 نکات۔

ورچوئل مشینوں کی پیش کردہ ناقص کارکردگی سے تنگ آ چکے ہو؟ اپنی ورچوئل باکس کی کارکردگی کو بڑھانے کے لیے آپ کو یہ کرنا چاہیے۔

اگلا پڑھیں۔
متعلقہ موضوعات۔
  • پروگرامنگ۔
  • لینکس باش شیل۔
مصنف کے بارے میں جے سریدھر۔(17 مضامین شائع ہوئے) جے سریدھر سے مزید

ہماری نیوز لیٹر کو سبسکرائب کریں

ٹیک ٹپس ، جائزے ، مفت ای بکس ، اور خصوصی سودوں کے لیے ہمارے نیوز لیٹر میں شامل ہوں!

سبسکرائب کرنے کے لیے یہاں کلک کریں۔