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

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

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

نحو اور استعمال

فائلوں

چیک کرنے کے لیے کہ آیا کوئی فائل موجود ہے۔، درج ذیل نحو کا استعمال کریں:

[-f]

تاثرات [-f] 0 لوٹاتا ہے، یعنی کامیابی اگر موجود ہے، اور اگر یہ موجود نہیں ہے تو یہ غیر صفر کی حیثیت لوٹاتا ہے۔ عام طور پر، اس میں شرط کے طور پر استعمال ہوتا ہے۔ اگر بیان

اگر [ -f ] پھر fi

لوٹی ہوئی قدر کی نفی کرنے کے لیے، صرف اس سے پہلے -f ایک نفی آپریٹر کے ساتھ (!).

اگر [ ! -f] پھر فائی۔

اس صورت میں، شرط کو مطمئن کرے گا اگر فائل موجود نہیں ہے، جیسا کہ واپس کی گئی غیر صفر حیثیت (غلط) کی نفی کی جائے گی اور اسے 0 (سچ) سمجھا جائے گا۔

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

ڈائریکٹریز

اسی طرح کا نحو جو فائلوں کی جانچ پڑتال کے لیے استعمال ہوتا ہے ڈائرکٹریوں کی جانچ پڑتال کے لیے استعمال ہوتا ہے۔

[-d]

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

اگر [ -d ] پھر fi

واپس کی گئی حیثیت کی نفی کرنے کے لیے، اس سے پہلے -d ایک نفی آپریٹر کے ساتھ (!).

اگر [ ! -d] پھر fi

اگر ڈائریکٹری موجود نہیں ہے تو اس صورت میں شرط (سٹیٹس 0) کو پورا کرے گی، اور اگر ڈائرکٹری موجود ہے تو ناکام ہو جائے گی (سٹیٹس نان زیرو)۔

جیسا کہ فائلوں کے لیے پہلے ذکر کیا گیا ہے، اگر چیک کی جانے والی ڈائرکٹری کسی اور مقام پر موجود ہے نہ کہ موجودہ ڈائرکٹری میں، تو ڈائرکٹری کے نام کی بجائے پوری ڈائرکٹری کا راستہ داخل کرنے کی ضرورت ہے۔

💡 بریکٹ نحو ( [...] یہاں استعمال کیا جاتا ہے اصل میں ایک لینکس کمانڈ کہا جاتا ہے پرکھ. اختیارات -f اور -d اس کمانڈ کی خصوصیات ہیں۔ مزید معلومات کے لیے، ٹیسٹ کا دستی صفحہ دیکھیں ( آدمی ٹیسٹ ).

باش اسکرپٹ سے چیک کریں۔

مندرجہ بالا مثالوں میں، ہم نے نحو کو براہ راست ٹرمینل پر استعمال کیا ہے۔ شیل جب بھی کسی لوپ کا سامنا کرتا ہے، یا مشروط بیان (اگر ہمارے معاملے میں)، یہ پرامپٹ کو جاری رکھتا ہے اور صارف کو جاری بلاک میں داخل کرنے دیتا ہے۔

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

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

اجازت دینے کے لیے اس فائل کے لیے چلائیں:

chmod +x test.sh

آخر میں، فائل کو چلانے کے لیے، رن:

./test.sh