بش VS Zsh: اختلافات اور موازنہ۔

Bash Vs Zsh Differences



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

استعمال کرتے ہوئے ' سی ڈی ' کمانڈ

موجودہ ڈائریکٹری کو تبدیل کرنے کے لیے 'cd' کمانڈ بش اور Zsh شیل دونوں میں استعمال ہوتی ہے۔ وہ خصوصیت جس کے ذریعے فائلوں اور فولڈرز کو تلاش کرنے کے لیے ڈائریکٹریز کو بار بار تلاش کیا جاتا ہے اسے کہتے ہیں۔ بار بار راستے کی توسیع جس کی تائید صرف zsh سے ہوتی ہے۔ bash اور zsh شیل میں 'cd' کمانڈ کا استعمال یہاں دکھایا گیا ہے۔







بش۔

ڈائرکٹری کو تبدیل کرنے کے لیے آپ کو bash میں ڈائریکٹری کا مکمل راستہ ٹائپ کرنا پڑتا ہے اور بار بار راستے کی توسیع bash کے ذریعے تعاون یافتہ نہیں ہے۔



$سی ڈی کوڈ/ازگر۔



Zsh

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





٪ سی ڈیج

مثال کے طور پر ، اگر کوڈ فولڈر مل گیا ہے اور یہ ظاہر ہوگا۔ اگر آپ نے دوبارہ ٹائپ کیا۔ '/پی' پھر یہ فائلیں دکھائے گا اور فولڈر کا نام 'سے شروع ہوتا ہے p '.

٪ سی ڈیp



املا کی اصلاح۔

ہجے چیکر کسی بھی شیل کے لیے ایک بہت مفید خصوصیت ہے۔ صارفین اس فیچر کے ذریعے ٹائپنگ کی غلطی کو آسانی سے درست کر سکتے ہیں۔ اس فیچر کو دونوں نے سپورٹ کیا ہے۔ بش۔ اور Zsh لیکن ہجے کی اصلاح زیادہ مؤثر طریقے سے کی جا سکتی ہے۔ Zsh خول اس خصوصیت کا استعمال ذیل میں دونوں گولوں کے لیے دکھایا گیا ہے۔

بش۔

فرض کریں ، آپ ڈائریکٹری میں جانا چاہتے ہیں ‘ موسیقی 'لیکن آپ نے ٹائپ کیا ہے' مگک ' غلطی سے ، پھر بش شیل بطور ڈیفالٹ ہجے کی غلطی کا پتہ نہیں لگائے گا اور یہ ایک غلطی کا پیغام دکھائے گا: ایسی کوئی فائل یا ڈائریکٹری نہیں۔ .

$سی ڈیمگک۔

آپ کو اس قسم کے مسئلے کو درست کرنے کے لیے اسپیل چیکر کو فعال کرنا ہوگا۔ کھولیں ~/.bashrc ہجے چیکر کو فعال کرنے کے لیے لائن شامل کرنے کے لیے کسی بھی ایڈیٹر میں فائل کریں۔ یہاں ، نینو ایڈیٹر فائل میں ترمیم کے لیے استعمال ہوتا ہے۔

$نینو۔/.bashrc

فائل کے آخر میں درج ذیل لائن شامل کریں ، فائل کو محفوظ کریں اور بند کریں۔

دکانیں cdspell

اب ، تبدیلی کو مستقل طور پر تصدیق کرنے کے لیے درج ذیل کمانڈ چلائیں۔

$ذریعہ۔/.bashrc

اگر آپ اوپر چلاتے ہیں ' سی ڈی ' ٹرمینل سے ہجے کی غلطی کے ساتھ کمانڈ ، پھر یہ خود بخود فولڈر کا نام درست کر دے گا۔

$سی ڈیمگک۔

Zsh

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

٪ehco'ہیلو ورلڈ'

کھولیں ~/.zshrc کسی بھی ایڈیٹر میں فائل کریں اور فائل کے آخر میں درج ذیل لائنیں شامل کریں۔ پہلی لائن Zsh میں ہجے چیکر کو قابل بنائے گی۔ ہجے چیکر کی ڈیفالٹ آپشن ویلیوز ہیں ، [نیا] یہ اشارہ کرتا ہے نہیں ، ہاں ، اسقاط کریں اور ترمیم کریں۔ . دوسری لائن صارف کے لیے اختیارات کو زیادہ قابل فہم بنانے کے لیے پہلے سے طے شدہ اقدار کو تبدیل کر دے گی۔ یہاں ، نینو ایڈیٹر فائل میں ترمیم کے لیے استعمال ہوتا ہے۔

٪ نینو۔/.zshrc
سیٹ اپ درست
برآمد سپروپٹ۔='R کو٪ R سے درست کریں؟ [ہاں ، نہیں ، منسوخ ، ترمیم] '

فائل کو محفوظ کریں اور باہر نکلیں اور تبدیلی کو اپ ڈیٹ کرنے کے لیے درج ذیل کمانڈ چلائیں۔

٪ ذریعہ۔/.zshrc

دوبارہ پچھلی کمانڈ چلائیں اور آؤٹ پٹ چیک کریں۔ اب ، صارف کو آؤٹ پٹ کو درست کرنے کے اختیارات ملیں گے۔ اگر آپ y ٹائپ کریں گے تو ہجے خود بخود درست ہو جائیں گے۔

٪ehco'ہیلو ورلڈ'

اگر آپ رنگوں کا استعمال کرکے آؤٹ پٹ کو زیادہ موثر بنانا چاہتے ہیں تو رنگ کو فعال کرنے کے لیے zsh شیل سے درج ذیل کمانڈ چلائیں۔

٪آٹو لوڈ یو رنگ۔&&رنگ

اس کے بعد ، درج ذیل لائن کو شامل کریں۔ ~/.zshrc فائل پہلے کی طرح.

برآمد سپروپٹ۔='درست۔$ fg[سرخ]٪ R$ reset_color۔کو$ fg[سبز]٪ r$ reset_color۔؟
[ہاں ، نہیں ، منسوخ ، ترمیم] '

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

٪ehco'ہیلو ورلڈ'

تھیمز کا استعمال۔

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

بش۔

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

$سودو apt-get install جاؤ

انسٹال کرنے کے بعد۔ جاؤ ، کلون بنانے کے لیے درج ذیل کمانڈ چلائیں۔ باش۔ سانچے.

$گٹ کلون -گہرائی=https://github.com/باش۔/bash-it.git/.bash_it

انسٹال کرنے کے لیے درج ذیل کمانڈ چلائیں۔ باش۔ کلوننگ کے بعد ٹیمپلیٹ۔ دبائیں ' اور 'جب یہ بیک اپ رکھنے کے لیے کہے گا۔ ./.bash_profile یا ./.bashrc اور شامل کریں۔ اسے مار دو فائل کے آخر میں ٹیمپلیٹ۔

تنصیب کا عمل مکمل کرنے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔

اب ، اگر آپ کھولیں ~/.bashrc کسی بھی ایڈیٹر کا استعمال کرتے ہوئے فائل درج ذیل مواد پر مشتمل ہوگی۔ 'bobby' bash-it ٹیمپلیٹ کے لیے بطور ڈیفالٹ تھیم سیٹ ہے۔

شیل کی تازہ کاری کی تصدیق کے لیے درج ذیل کمانڈ چلائیں۔

$ذریعہ۔/.bashrc

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

بہت سے موضوعات دستیاب ہیں۔ اسے مار دو ٹیمپلیٹ ان ڈسپلے باش پرامپٹ کو مختلف طریقوں سے۔ ان میں سے ایک ہے ' حسد ' خیالیہ. اگر آپ اس تھیم کو سیٹ کرنا چاہتے ہیں تو کسی بھی ایڈیٹر کا استعمال کرکے open/.bashrc فائل کھولیں اور ' BASH_IT_THEME ’قدر‘ حسد '.

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

Zsh

بش کی طرح ، زیڈش شیل کے بہت سارے تھیمز ہیں۔ zsh موضوعات میں سے ایک ہے۔ اوہ مائی زش . zsh شیل کے لیے اس تھیم کو انسٹال کرنے کے لیے درج ذیل کمانڈ چلائیں۔

٪ ایسیچ -سی $ (curl -fsSL
https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh) '

تھیم انسٹال کرنے کے بعد ، دبائیں ' اور ' zsh کو ڈیفالٹ شیل بنانے کے لیے۔

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

اب ، اگر آپ open/.zshrc فائل کھولتے ہیں تو آپ کے لیے اندراجات دیکھیں گے۔ اوہ مائی زش سانچے. 'روبیرسیل' ٹیمپلیٹ کے لیے بطور ڈیفالٹ تھیم سیٹ ہے۔

تبدیلی کو مستقل طور پر برقرار رکھنے کے لیے ، آپ کو 'سورس' کمانڈ چلانی ہوگی۔

٪ ذریعہ۔/.zshrc

اگر آپ تھیم کو 'میں تبدیل کرنا چاہتے ہیں تیر 'پھر کسی بھی ایڈیٹر میں ~/.zshrc فائل کھولیں اور اس کی قیمت تبدیل کریں' ZSH_THEME 'کو 'تیر '.

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

٪ ذریعہ۔/.zshrc

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

وائلڈ کارڈ کی توسیع کا استعمال

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

بش۔

فرض کریں ، آپ کو 'ایکو' کمانڈ کا استعمال کرتے ہوئے موجودہ مقام کے توسیع 'لاگ' کے ساتھ تمام فائلیں تلاش کرنا ہوں گی۔ یہاں ، قدر ، ' *.log ’ متغیر کو تفویض کیا گیا ہے ، فائلوں جو تمام لاگ فائلوں کی فہرست ظاہر کرنے کے لیے 'ایکو' کمانڈ میں استعمال ہوتے ہیں۔

$ایل ایس
$فائلوں='*.log'
$باہر پھینک دیا $ فائلیں۔

Zsh

اگر آپ مندرجہ بالا احکامات کو zsh شیل میں چلاتے ہیں تو $ فائلوں کی قیمت لاگ فائل کی فہرست کے بجائے پرنٹ ہوگی کیونکہ وائلڈ کارڈ توسیع zsh شیل کے لیے بطور ڈیفالٹ فعال نہیں ہوتی ہے۔

٪ ایل ایس
٪ فائل='*.log'
٪ باہر پھینک دیا $ فائلیں۔

zsh کے لیے وائلڈ کارڈ کی توسیع کو فعال کرنے کے لیے درج ذیل کمانڈ چلائیں۔

٪ سیٹ یاGLOB_SUBST

اب ، اگر آپ پچھلے احکامات چلاتے ہیں تو لاگ فائلوں کی فہرست ظاہر ہوگی۔

نتیجہ

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