بش سکرپٹ کے اندر ٹیسٹ کی شرائط کا استعمال کیسے کریں

ٹیسٹ کا کمانڈر لینکس کمانڈ لائن پر ایک عنصر کا موازنہ کرنے کے لۓ استعمال کیا جاسکتا ہے لیکن اس میں عام طور پر بش شیل سکریپٹس میں مشروط بیانات کے طور پر استعمال کیا جاتا ہے جو منطق اور پروگرام کے بہاؤ کو کنٹرول کرتی ہے.

ایک بنیادی مثال

آپ ٹرمینل کھڑکی کھولنے سے صرف ان حکموں کی کوشش کر سکتے ہیں.

ٹیسٹ 1 -قصرت 2 اور گونج "ہاں" || گونگا "نہیں"

مندرجہ بالا مندرجہ بالا کمانڈ ٹوٹا جا سکتا ہے:

جوہر میں، کمانڈ 1 سے 2 کی موازنہ ہے اور وہ گونج "ہاں" بیان سے مماثلت رکھتا ہے جس میں "جی ہاں" دکھاتا ہے اور اگر وہ گونج سے نمٹنے نہیں کرتے ہیں تو "نہیں" کا بیان عملدرآمد کیا جاتا ہے جس میں "نہیں" دکھاتا ہے.

نمبرز کا موازنہ کریں

اگر آپ ان عناصر کا موازنہ کر رہے ہیں جو نمبرز کے طور پر آپ کو مندرجہ ذیل موازنہ کرنے والے آپریٹرز استعمال کر سکتے ہیں،

مثال:

ٹیسٹ 1 -قصرت 2 اور گونج "ہاں" || گونگا "نہیں"

(سکرین پر "نہیں" دکھاتا ہے کیونکہ 1 برابر نہیں ہے 2)

ٹیسٹ 1 -ج 2 اور گونج "ہاں" || گونگا "نہیں"

(سکرین پر "نہیں" دکھاتا ہے کیونکہ 1 زیادہ سے زیادہ یا برابر 2 نہیں ہے)

ٹیسٹ 1-جی ٹی 2 اور گونج "ہاں" || گونگا "نہیں"

(اسکرین پر "نہیں" دکھاتا ہے کیونکہ 1 سے زیادہ نہیں ہے)

ٹیسٹ 1-لی 2 اور گونج "ہاں" || گونگا "نہیں"

(اسکرین پر "ہاں" دکھاتا ہے کیونکہ 1 کم سے کم یا برابر ہے 2)

ٹیسٹ 1 -ٹٹ 2 اور گونج "ہاں" || گونگا "نہیں"

(اسکرین پر "ہاں" دکھاتا ہے کیونکہ 1 کم سے کم یا برابر ہے 2)

ٹیسٹ 1-ایک 2 اور گونگا "ہاں" || گونگا "نہیں"

(اسکرین پر "ہاں" دکھاتا ہے کیونکہ 1 برابر نہیں ہے 2)

متن کا موازنہ

اگر آپ ان عناصر کا موازنہ کر رہے ہیں جو تاروں کے طور پر آپ کو مندرجہ ذیل موازنہ کرنے والے آپریٹرز استعمال کر سکتے ہیں.

مثال:

ٹیسٹ "string1" = "string2" اور "گ" گونگا "نہیں"

(اسکرین پر "نہیں" دکھاتا ہے کیونکہ "string1" "string2" کے برابر نہیں ہے)

امتحان "string1"! = "string2" && echo "yes" || گونگا "نہیں"

(اسکرین پر "ہاں" دکھاتا ہے کیونکہ "string1" "string2" کے برابر نہیں ہے)

test -n "string1" اور "" "" "" "" گونگا. || گونگا "نہیں"

(اسکرین پر "ہاں" دکھاتا ہے کیونکہ "string1" میں صفر سے ایک تار لمبائی زیادہ ہے)

ٹیسٹ -Z "string1" اور "" "" جی ہاں "|| گونگا "نہیں"

(اسکرین پر "نہیں" دکھاتا ہے کیونکہ "string1" میں صفر سے ایک تار لمبائی زیادہ ہے)

فائلوں کا موازنہ

اگر آپ فائلوں کا موازنہ کر رہے ہیں تو آپ مندرجہ ذیل موازنہ آپریٹرز استعمال کرسکتے ہیں:

مثال:

ٹیسٹ / راستے / کرنے / file1 -n / path / to / file2 && echo "yes"

(اگر فائل 1 فائل 2 سے زیادہ ہے تو لفظ "ہاں" دکھایا جائے گا)

ٹیسٹ -e / path / to / file1 && echo "yes"

(اگر فائل 1 موجود ہے تو "ہاں" دکھایا جائے گا)

ٹیسٹ -O / راستے / کرنے / file1 اور گونج "ہاں"

(اگر آپ فائل 1 کا مالک ہو تو پھر "ہاں" لفظ دکھایا گیا ہے ")

اصطلاحات

ایک سے زیادہ شرائط کی موازنہ

اس طرح تک سب کچھ ایک دوسرے کے خلاف ایک چیز کا موازنہ کر رہا ہے لیکن اگر آپ دو حالتوں کا موازنہ کرنا چاہتے ہیں.

مثال کے طور پر، اگر جانور 4 ٹانگیں اور "مو" ہو تو شاید یہ ایک گائے ہے. 4 ٹانگوں کے لئے بس کی جانچ پڑتال اس بات کی ضمانت نہیں دیتا ہے کہ آپ کو ایک گائے ہے لیکن آواز کی جانچ پڑتال کرتا ہے.

ایک بار پھر دونوں شرائط کو جانچنے کے لئے مندرجہ ذیل بیان کا استعمال کریں:

ٹیسٹ 4 -قق 4-اے "مو" = "موو" اور گونج "یہ ایک گائے" ہے گونج "یہ ایک گائے نہیں ہے"

یہاں کا اہم حصہ اے اے کے لئے کھڑا ہے اور.

اسی ٹیسٹ کو انجام دینے کا ایک بہتر اور زیادہ عام استعمال کیا جاتا ہے اور یہ مندرجہ ذیل ہے:

ٹیسٹ 4 -قق 4 اور ٹیسٹ "مو" "=" مو "اور" گونج "ہے گونج "یہ ایک گائے نہیں ہے"

ایک اور ٹیسٹ جو آپ چاہتے ہو شاید دو بیانات کی موازنہ کر سکیں اور اگر یا تو صحیح پیداوار ایک تار ہے. مثال کے طور پر، اگر آپ یہ چیک کرنا چاہتے ہیں کہ "فائل 1.txt" کا نام موجود ہے یا "file1.doc" نامی فائل موجود ہے تو آپ مندرجہ ذیل کمانڈ استعمال کرسکتے ہیں.

test -e file1.txt -o -e file1.doc & echo "فائل 1 موجود ہے" || گونج "فائل 1 موجود نہیں ہے"

یہاں کا اہم حصہ یہ ہے جو اس کے لئے یا کھڑا ہے.

اسی ٹیسٹ کو انجام دینے کا ایک بہتر اور زیادہ عام استعمال کیا جاتا ہے اور یہ مندرجہ ذیل ہے:

ٹیسٹ-فائل فائل 1.txt || test -e file1.doc & echo "فائل 1 موجود ہے" || گونج "فائل 1 موجود نہیں ہے"

ٹیسٹ کی مطلوبہ الفاظ کو ختم کرنا

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

[ای فائل 1.txt] اور گونج "فائل 1 موجود ہے" || گونج "فائل 1 موجود نہیں ہے"

[اور] بنیادی طور پر ایک ہی ٹیسٹ کا مطلب ہے.

اب آپ جانتے ہیں کہ آپ اس طرح سے متعدد حالات کے مطابق بہتر بن سکتے ہیں.

[4 -قق 4] && ["مoo" = "مoo"] اور گونج "یہ ایک گائے ہے" || گونج "یہ ایک گائے نہیں ہے"

[ای فائل 1.txt] || [-e file1.doc] اور گونج "فائل 1 موجود ہے" || گونج "فائل 1 موجود نہیں ہے"

خلاصہ

ٹیسٹ کمانڈ سکرپٹ میں زیادہ مفید ہے کیونکہ آپ کسی دوسرے کے خلاف ایک متغیر کی قیمت کی جانچ اور کنٹرول پروگرام کے بہاؤ کی جانچ کر سکتے ہیں. معیاری کمان لائن پر، آپ اس کا استعمال کرنے کے لئے استعمال کر سکتے ہیں کہ آیا فائل موجود ہے یا