کیسے چیک کریں کہ فائل bash میں موجود ہے یا نہیں۔

How Check If File Exists Bash



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

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

1) ٹرمینل میں فائل کا نام درج کر کے:







سب سے پہلے ، ہمیں باش سکرپٹ فائل بنانے کی ضرورت ہے ، نیچے دی گئی کمانڈ استعمال کریں:



$چھوناtestfile.sh

میں نے جو فائل بنائی ہے اس کا نام testfile.sh ہے ، .sh توسیع شیل اسکرپٹ فائل کی طرف اشارہ کرتی ہے۔







کسی بھی ٹیکسٹ ایڈیٹر میں testfile.sh کھولیں۔ پھر سکرپٹ لکھیں ، محفوظ دبائیں اسے محفوظ کریں.

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



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

ذیل میں سکرپٹ لکھیں:

#!/bin/bash
باہر پھینک دیا 'اپنا فائل نام درج کریں'
پڑھیںنئی فائل 1۔
اگر [ '$ newfile1' ]
پھر
باہر پھینک دیا 'فائل مل گئی'
اور
باہر پھینک دیا 'فائل نہیں ملی'
ہو

ٹرمینل پر واپس جائیں اور آؤٹ پٹ پرنٹ کرنے کے لیے فائل چلائیں:

./filename.sh

اجازت سے انکار کا پیغام ٹرمینل میں دکھایا جائے گا۔

نیچے دی گئی کمانڈ پر عمل کرکے اسے قابل عمل بنائیں:

$chmod+ x testfile.sh

فائل کا نام درج کریں ، اور یہ آؤٹ پٹ پرنٹ کرے گا:

2) اسکرپٹ لکھتے وقت فائل کا نام درج کر کے:
اسکرپٹ لکھتے وقت فائل کا نام دے کر فائل ڈھونڈنے کا دوسرا طریقہ۔ ہمارے پاس فائل کی دستیابی کو چیک کرنے کے تین طریقے ہیں۔ پہلا ٹیسٹ کمانڈ استعمال کر رہا ہے ، دوسرا استعمال کر رہا ہے اگر مربع بریکٹ میں ایکسپریشن کے ساتھ ، اور تیسرا بھی ہے لیکن اگر ڈبل مربع بریکٹ کے ساتھ جیسا کہ نیچے دیا گیا ہے:

  1. ٹیسٹ ایکسپریشن
  2. اگر [اظہار]
  3. اگر [[اظہار]]

آئیے اسے مثالوں سے سمجھتے ہیں:

1) ٹیسٹ [اظہار]
دی گئی اسکرپٹ کو کاپی کریں اور اسے ایڈیٹر میں پیسٹ کریں ، اسے محفوظ کریں:

#!/bin/bash
فائل کا نام= فائل 1۔
اگر پرکھ '$ filename'؛
پھر
باہر پھینک دیا '$ فائلمل گیا ہے.'
اور
باہر پھینک دیا '$ فائلنہیں ملا '
ہو

آؤٹ پٹ:

چونکہ میری ڈائرکٹری میں ایسی کوئی فائل نہیں ہے ، اس لیے کوڈ ظاہر کرتا ہے کہ فائل نہیں ملا پیغام ہے۔

2) اگر [اظہار]

فائل موجود ہے یا نہیں یہ چیک کرنے کے لیے درج ذیل اسکرپٹ کو کاپی کریں:

#!/bin/bash
فائل کا نام= myfile.txt
اگر [ '$ filename' ]؛
پھر
باہر پھینک دیا '$ filenameمل گیا ہے.'
اور
باہر پھینک دیا 'فائل کا نام نہیں ملا'
ہو

آؤٹ پٹ:

3) اگر [[اظہار]]

نیچے لکھے ہوئے اسکرپٹ کو کاپی کریں اور اسے ٹرمینل پر پیسٹ کریں:

#!/bin/bash
فائل کا نام= ٹیسٹ فائل
اگر [[ '$ filename' ]]؛
پھر
باہر پھینک دیا '$ filenameمل گیا ہے.'
اور
باہر پھینک دیا '$ filenameنہیں ملا '
ہو

آؤٹ پٹ:

ڈائریکٹری چیک کرنے کے لیے:

3) اسکرپٹ لکھتے وقت ڈائریکٹری کا نام درج کرکے۔

کا استعمال کرتے ہیں -ڈی ایک ڈائریکٹری کے وجود کو چیک کرنے کے لیے پرچم۔

نیچے دی گئی اسکرپٹ میں ، dir11 وہ متغیر ہے جس میں آپ فائل کو محفوظ کرتے ہیں جسے آپ ڈھونڈ رہے ہیں۔ اس مثال میں ، میں چیک کرنا چاہتا ہوں کہ ڈائریکٹری کا نام testDir موجود ہے یا نہیں۔

#!/bin/bash
dir11= ٹیسٹ ڈائر۔
اگر [ -ڈی '$ 11' ]
پھر
باہر پھینک دیا 'ڈائریکٹری مل گئی ہے'
اور
باہر پھینک دیا 'ڈائریکٹری نہیں ملی'
ہو

آؤٹ پٹ:

2) ٹرمینل میں فائل کا نام درج کر کے:
جب آپ ٹرمینل میں کمانڈ چلاتے ہیں تاکہ چیک کریں کہ ڈائرکٹری موجود ہے یا نہیں ، آپ کو ڈائریکٹری کا نام درج کرنا ہوگا جس کی آپ تلاش کر رہے ہیں:

#!/bin/bash
باہر پھینک دیا اپنی ڈائریکٹری کا نام ٹائپ کریں۔
پڑھیںدیر 1۔
اگر [ -ڈی 'دیر 1' ]
پھر
باہر پھینک دیا 'ڈائریکٹری مل گئی ہے'
اور
باہر پھینک دیا 'ڈائریکٹری نہیں ملی'
ہو

آؤٹ پٹ:

if بیان کو استعمال کیے بغیر فائل کی جانچ کرنا:

ٹیسٹ کمانڈ if بیان کے بغیر عمل میں لایا جا سکتا ہے۔ یہ صرف اس صورت میں آؤٹ پٹ ظاہر کرے گا جب فائل موجود ہو ورنہ ، کوئی پیداوار نہیں ہوگی:

اسکرپٹ لکھیں:

  1. پرکھ myfile.txt&& باہر پھینک دیا 'فائل مل گئی ہے'

  2. [ myfile.txt] && باہر پھینک دیا '$ فائلمل گیا ہے۔ '

  3. [[ myfile.txt]] && باہر پھینک دیا '$ فائلمل گیا ہے۔ '

آؤٹ پٹ:

if بیان کو استعمال کیے بغیر ڈائریکٹری کو چیک کرنا:

ڈائریکٹری موجود ہے یا نہیں اس کو چیک کرنے کے لیے درج ذیل بیانات کا استعمال کریں:

  1. [[ -ڈیٹیسٹ ڈائر]] && باہر پھینک دیا 'ڈائریکٹری موجود ہے'

  2. ) [ -ڈیٹیسٹ ڈائر] && باہر پھینک دیا 'ڈائریکٹری موجود ہے'

آؤٹ پٹ:

متعدد فائلوں/ڈائریکٹریوں کی جانچ پڑتال:

1) اگر بیانات کے ساتھ متعدد فائلوں کی جانچ پڑتال:
مختلف فائلوں کے وجود کو چیک کرنے کے لیے -a جھنڈا استعمال کریں بجائے اس کے کہ گھریلو بیانات استعمال کریں:

#!/bin/bash
اگر [ new_file.txt-کو newfile.txt]؛پھر
باہر پھینک دیا 'دونوں فائلیں موجود ہیں۔'
ہو

دوسرا طریقہ یہ ہے:

#!/bin/bash
اگر [[ new_file.txt&& newfile.txt]]؛پھر
باہر پھینک دیا 'دونوں فائلیں موجود ہیں۔'
ہو

آؤٹ پٹ:

2) if بیان استعمال کیے بغیر متعدد فائلوں کی جانچ کرنا:
ایک سے زیادہ فائلوں کو بیک وقت چیک کرنے کے لیے درج ذیل بیان کا استعمال کریں 1 بغیر اس کے:

  1. [[ new_file.txt&& newfile.txt]] && باہر پھینک دیادونوں فائلیں باہر نکل جاتی ہیں۔

  2. [[ new_file.txt&& newfile.txt]] && باہر پھینک دیادونوں فائلیں باہر نکل جاتی ہیں۔

آؤٹ پٹ:

نتیجہ:

اس آرٹیکل میں دکھایا گیا ہے کہ فائل یا ڈائریکٹری چیک کرنے کے لیے بش سکرپٹنگ کا استعمال کیسے کریں۔ ہم نے فائل کی دستیابی چیک کرنے کے لیے مختلف آپشنز استعمال کیے۔ سب سے پہلے ، ہم مختلف جھنڈوں کے ساتھ ٹیسٹ کمانڈ استعمال کرتے ہیں۔ پھر ہم نے استعمال کیا تو if ، nested if-else ، اور if بیانات کے بغیر فائل یا ڈائریکٹری چیک کرنے کے لیے۔ ہم نے یہ بھی دیکھا کہ متعدد فائلوں یا ڈائریکٹریوں کو کیسے چیک کیا جائے۔