لینکس میں شیل سکرپٹ کیسے چلائیں [ابتدائیہ کے لیے ضروری وضاحت]

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

لینکس میں شیل اسکرپٹ چلانے کے دو طریقے ہیں۔ آپ استعمال کر سکتے ہیں:

bash script.sh

یا آپ شیل اسکرپٹ کو اس طرح چلا سکتے ہیں:



ونڈوز کے لیے بہترین ٹرمینل ایمولیٹر
./script.sh

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

میں چیزوں کو ہر ممکن حد تک پیچیدہ بنانے کے لیے اس ایک لائن شیل اسکرپٹ کا استعمال کرنے جا رہا ہوں:

[email protected] :~/Scripts$ cat hello.sh echo 'Hello World!'

طریقہ 1: شیل کی دلیل کے طور پر فائل کو پاس کر کے شیل اسکرپٹ کو چلانا۔

پہلے طریقے میں شیل پر دلیل کے طور پر اسکرپٹ فائل کا نام شامل کرنا شامل ہے۔

اس بات پر غور کرتے ہوئے کہ bash ڈیفالٹ شیل ہے ، آپ اس طرح اسکرپٹ چلا سکتے ہیں:

bash hello.sh

کیا آپ اس طریقہ کار کا فائدہ جانتے ہیں؟ آپ کے سکرپٹ کو عملدرآمد کی اجازت کی ضرورت نہیں ہے۔ . تیز اور آسان کاموں کے لیے بہت آسان۔

ایک شیل اسکرپٹ لینکس چل رہا ہے۔

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

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

بطور اسکرپٹ ٹیکسٹ فائل چلانا۔

اس نقطہ نظر میں ، آپ نے واضح طور پر بتایا کہ آپ bash کو بطور ترجمان استعمال کرنا چاہتے ہیں۔ سکرپٹ کے لیے

شیل صرف ایک پروگرام ہے اور بش اس کا نفاذ ہے۔ اس طرح کے دوسرے گولے پروگرام ہیں جیسے ksh ، zsh ، وغیرہ اگر آپ کے پاس دوسرے گولے نصب ہیں تو آپ اسے bash کے بجائے بھی استعمال کر سکتے ہیں۔

مثال کے طور پر ، میں نے zsh انسٹال کیا اور اسی اسکرپٹ کو چلانے کے لیے استعمال کیا:

Zsh کے ساتھ شیل اسکرپٹ پر عمل کریں۔

تجویز کردہ پڑھیں:

لینکس میں ایک سے زیادہ کمانڈ چلائیں۔

دوسری ڈائریکٹری میں شیل اسکرپٹ چل رہا ہے۔

اس سے پہلے/ اسکرپٹ اہم ہے (جب آپ اسکرپٹ جیسی ڈائریکٹری میں ہوں)

جب آپ ایک ہی ڈائریکٹری میں ہوں تو آپ اسکرپٹ کا نام کیوں استعمال نہیں کرسکتے ہیں؟ اس کی وجہ یہ ہے کہ آپ کے لینکس سسٹم ایگزیکیوٹیبلز کو کچھ منتخب ڈائریکٹریوں میں چلانے کے لیے تلاش کرتے ہیں جو PATH متغیر میں متعین ہیں۔

میرے سسٹم کے لیے PATH متغیر کی قدر یہ ہے:

[email protected] :~$ echo $PATH /home/abhishek/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

اس کا مطلب یہ ہے کہ درج ذیل ڈائریکٹریوں میں سے کسی ایک میں عملدرآمد کی اجازت والی کوئی بھی فائل سسٹم میں کہیں سے بھی چلائی جا سکتی ہے۔

  • /home/abhishek/.local/bin
  • /usr/local/sbin
  • /usr/local/bin
  • /usr/sbin
  • /usr/bin
  • /sbin
  • /am
  • /usr/کھیل
  • /usr/local/games
  • /سنیپ/بن۔

لینکس کمانڈز جیسے بائنریز یا قابل عمل فائلیں جیسے ls ، cat وغیرہ ان ڈائریکٹریوں میں سے ایک میں واقع ہیں۔ یہی وجہ ہے کہ آپ ان کمانڈز کو اپنے سسٹم پر کہیں سے بھی صرف ان کے ناموں کے استعمال سے چلا سکتے ہیں۔ دیکھیں ، ls کمانڈ /usr /bin ڈائریکٹری میں واقع ہے۔

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

زیادہ تر شیل اسکرپٹس میں #کیوں ہوتا ہے؟ /bin/bash شیل اسکرپٹس کے آغاز میں؟

یاد رکھیں کہ میں نے کیسے بتایا کہ شیل صرف ایک پروگرام ہے اور گولوں کے مختلف نفاذ ہیں۔

ایڈوب فلیش پلیئر اپ ڈیٹ پاپ اپس کو کیسے روکا جائے۔

جب آپ #استعمال کرتے ہیں! /bin/bash ، آپ وضاحت کر رہے ہیں کہ سکرپٹ بطور مترجم چلنا ہے۔ اگر آپ ایسا نہیں کرتے ہیں اور اسکرپٹ کو ./script.sh انداز میں چلاتے ہیں تو ، یہ عام طور پر جو بھی شیل آپ چلا رہے ہیں اس کے ساتھ چلایا جاتا ہے۔

کیا اس سے فرق پڑتا ہے؟ یہ کر سکتا تھا۔ ملاحظہ کریں ، زیادہ تر شیل نحو ہر قسم کے شیل میں عام ہے لیکن کچھ مختلف ہو سکتے ہیں۔

مثال کے طور پر ، array رویہ bash اور zsh شیلوں میں مختلف ہے۔ zsh میں ، سرنی انڈیکس 0 کے بجائے 1 سے شروع ہوتا ہے۔

بش بمقابلہ Zsh

#کا استعمال کرتے ہوئے! /bin/bash اس بات کی نشاندہی کرتا ہے کہ اسکرپٹ باش شیل اسکرپٹ ہے اور اسے بش کے ساتھ بطور مترجم چلایا جانا چاہیے قطع نظر اس نظام کے جو شیل استعمال ہو رہا ہے۔ اگر آپ zsh مخصوص نحو استعمال کر رہے ہیں تو ، آپ #شامل کرکے اس کی نشاندہی کر سکتے ہیں کہ یہ zsh اسکرپٹ ہے! /bin/zsh اسکرپٹ کی پہلی لائن کے طور پر۔

#کے درمیان خلا! /bin/bash کوئی فرق نہیں پڑتا۔ آپ #!/bin/bash بھی استعمال کر سکتے ہیں۔

کیا یہ مددگار تھا؟

مجھے امید ہے کہ اس مضمون نے آپ کے لینکس علم میں اضافہ کیا ہے۔ اگر آپ کے پاس ابھی بھی سوالات یا تجاویز ہیں تو براہ کرم ایک تبصرہ کریں۔

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

اگر آپ بش سکرپٹ سیکھنے میں دلچسپی رکھتے ہیں تو ہمارے پاس ہے۔ پوری باش بیگنر سیریز۔ ہماری sysadmin پر مبنی ویب سائٹ پر۔ لینکس ہینڈ بک۔ . اگر آپ چاہیں تو آپ بھی کر سکتے ہیں۔ لینکس ہینڈ بک کو سپورٹ کرنے کے لیے اضافی مشقوں کے ساتھ ای بک خریدیں۔ .


جیسا کہ آپ نے پڑھا ہے؟ براہ کرم اسے دوسروں کے ساتھ شیئر کریں۔

دلچسپ مضامین

اوبنٹو لینکس میں یو ایس بی یا ایسڈی کارڈ کو کیسے فارمیٹ کیا جائے۔

اوبنٹو لینکس میں یو ایس بی یا ایسڈی کارڈ کو کیسے فارمیٹ کیا جائے۔

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

نیفیلم رینسم ویئر نے گھوسٹ کی اسناد کو غلط استعمال کیا

نیفیلم رینسم ویئر نے گھوسٹ کی اسناد کو غلط استعمال کیا

نیفیلم رینسم ویئر نے گھوسٹ کی اسناد کو غلط استعمال کیا

GalliumOS: Chromebooks کے لیے لینکس کی تقسیم۔

GalliumOS: Chromebooks کے لیے لینکس کی تقسیم۔

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

سیس مینیو ڈیل وائرس

سیس مینیو ڈیل وائرس

SysMenu.dll وائرس کو انسٹال کرنے کا طریقہ - وائرس کو ختم کرنے کی ہدایات (تازہ کاری)

ERR_CONNECTION_TIMED_OUT

ERR_CONNECTION_TIMED_OUT

ERR_CONNECTION_TIMED_OUT

سیکیورٹی سافٹ ویئر اگلا بڑا میلویئر ہدف بن سکتا ہے

سیکیورٹی سافٹ ویئر اگلا بڑا میلویئر ہدف بن سکتا ہے

سیکیورٹی سافٹ ویئر اگلا بڑا میلویئر ہدف بن سکتا ہے

آپریٹنگ سسٹم کی شکل میں نگگر رینسم ویئر کو کیسے دور کریں؟

آپریٹنگ سسٹم کی شکل میں نگگر رینسم ویئر کو کیسے دور کریں؟

نیگر رینسم ویئر کو کیسے دور کریں - وائرس سے ہٹانے کے اقدامات (تازہ کاری)

ایڈویئر (میک) انسٹال کرنے کے لئے 'ڈبل کلک کریں'

ایڈویئر (میک) انسٹال کرنے کے لئے 'ڈبل کلک کریں'

ایڈویئر (میک) کو 'انسٹال کرنے کے لئے ڈبل کلک' سے کیسے چھٹکارا حاصل کریں - وائرس سے ہٹانے کے رہنما (اپ ڈیٹ)

کھیل ہی کھیل میںفن نیٹ ورک ایڈویئر

کھیل ہی کھیل میںفن نیٹ ورک ایڈویئر

گیمفن نیٹ ورک ایڈویئر انسٹال کرنے کا طریقہ - وائرس سے ہٹانے کی ہدایت (تازہ کاری)

کمپیکٹٹیلرونر.کس کیا ہے؟

کمپیکٹٹیلرونر.کس کیا ہے؟

کمپیکٹٹیلرونر.کس کیا ہے؟


اقسام