ٹیسٹ کا کمانڈر لینکس کمانڈ لائن پر ایک عنصر کا موازنہ کرنے کے لۓ استعمال کیا جاسکتا ہے لیکن اس میں عام طور پر بش شیل سکریپٹس میں مشروط بیانات کے طور پر استعمال کیا جاتا ہے جو منطق اور پروگرام کے بہاؤ کو کنٹرول کرتی ہے.
ایک بنیادی مثال
آپ ٹرمینل کھڑکی کھولنے سے صرف ان حکموں کی کوشش کر سکتے ہیں.
ٹیسٹ 1 -قصرت 2 اور گونج "ہاں" || گونگا "نہیں"
مندرجہ بالا مندرجہ بالا کمانڈ ٹوٹا جا سکتا ہے:
- امتحان - اس کا مطلب یہ ہے کہ آپ ایک مقابلے کے بارے میں ہیں
- 1 - آپ کا موازنہ کرنے والا پہلا عنصر ہے
- -آق (آپ کس طرح موازنہ کر رہے ہیں، اس معاملے میں، آپ یہ جانچ کر رہے ہیں کہ ایک نمبر دوسرے کے برابر ہے)
- 2 - عنصر آپ پہلی عنصر کا موازنہ کر رہے ہیں
- اگر نتیجہ سچ ہے تو مندرجہ ذیل بیان کو چلائیں
- گونج "ہاں" - اگر مقابلے میں واپسی سچ ہے تو چلانے کا حکم
- || اگر یہ نتیجہ غلط ہے تو مندرجہ ذیل بیان کو چلائیں
- گونج "نہیں" - اگر اس کے مقابلے میں جھوٹ کی واپسی کو چلانے کے لئے کمانڈر
جوہر میں، کمانڈ 1 سے 2 کی موازنہ ہے اور وہ گونج "ہاں" بیان سے مماثلت رکھتا ہے جس میں "جی ہاں" دکھاتا ہے اور اگر وہ گونج سے نمٹنے نہیں کرتے ہیں تو "نہیں" کا بیان عملدرآمد کیا جاتا ہے جس میں "نہیں" دکھاتا ہے.
نمبرز کا موازنہ کریں
اگر آپ ان عناصر کا موازنہ کر رہے ہیں جو نمبرز کے طور پر آپ کو مندرجہ ذیل موازنہ کرنے والے آپریٹرز استعمال کر سکتے ہیں،
- -ق - قیمت 1 برابر قیمت 2 ہے
- جی جی - قیمت 1 قیمت سے زیادہ یا برابر ہے
- -GT - قیمت 2 قیمت سے زیادہ 1 سے زیادہ ہے
- -ل - قیمت 1 قیمت سے کم یا برابر 2
- -lt - قیمت 1 قیمت سے کم ہے
- - کوئی - قدر کی قیمت 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)
متن کا موازنہ
اگر آپ ان عناصر کا موازنہ کر رہے ہیں جو تاروں کے طور پر آپ کو مندرجہ ذیل موازنہ کرنے والے آپریٹرز استعمال کر سکتے ہیں.
- = - سٹرنگ 1 میچ سٹرنگ 2 کرتا ہے
- ! = - سٹرنگ 1 مختلف ہے 2
- - این - 0 سے زیادہ تار کی لمبائی ہے
- -Z - تار کی لمبائی 0 ہے
مثال:
ٹیسٹ "string1" = "string2" اور "گ" گونگا "نہیں"
(اسکرین پر "نہیں" دکھاتا ہے کیونکہ "string1" "string2" کے برابر نہیں ہے)
امتحان "string1"! = "string2" && echo "yes" || گونگا "نہیں"
(اسکرین پر "ہاں" دکھاتا ہے کیونکہ "string1" "string2" کے برابر نہیں ہے)
test -n "string1" اور "" "" "" "" گونگا. || گونگا "نہیں"
(اسکرین پر "ہاں" دکھاتا ہے کیونکہ "string1" میں صفر سے ایک تار لمبائی زیادہ ہے)
ٹیسٹ -Z "string1" اور "" "" جی ہاں "|| گونگا "نہیں"
(اسکرین پر "نہیں" دکھاتا ہے کیونکہ "string1" میں صفر سے ایک تار لمبائی زیادہ ہے)
فائلوں کا موازنہ
اگر آپ فائلوں کا موازنہ کر رہے ہیں تو آپ مندرجہ ذیل موازنہ آپریٹرز استعمال کرسکتے ہیں:
- -ef - کیا فائلوں میں ایک ہی آلہ اور انوڈ نمبر ہیں (وہ وہی فائل ہیں)
- - نہیں - پہلی فائل دوسری فائل سے زیادہ ہے
- -OT- کیا دوسری فائل سے دوسری فائل بڑی ہے
- -ب - فائل موجود ہے اور خاص طور پر بلاک ہے
- -c - فائل موجود ہے اور کردار خاص ہے
- ڈی ڈی فائل موجود ہے اور ڈائریکٹری ہے
- - ای - فائل موجود ہے
- -f - فائل موجود ہے اور باقاعدگی سے فائل ہے
- -G - فائل موجود ہے اور مخصوص گروپ نمبر ہے
- - جی - صارف موجود ہے اور صارف کے گروہ کے مالک
- -h - فائل موجود ہے اور ایک علامتی لنک ہے
- --k - فائل موجود ہے اور اس کی چپچپا تھوڑا سیٹ ہے
- -L - اسی طرح جی
- - اے - فائل موجود ہے آپ مالک ہیں
- -p - فائل موجود ہے اور ایک نام پائپ ہے
- -r - فائل موجود ہے اور پڑھنے قابل ہے
- -s- فائل موجود ہے اور صفر سے زیادہ سائز ہے
- -S - فائل موجود ہے اور ایک ساکٹ ہے
- -t- فائل کی تشریح ایک ٹرمینل پر کھلی ہے
- -u- فائل موجود ہے اور سیٹ-صارف-ش بٹ مقرر کیا جاتا ہے
- -w - فائل موجود ہے اور لکھنے قابل ہے
- -X - فائل موجود ہے اور قابل عمل ہے
مثال:
ٹیسٹ / راستے / کرنے / 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 موجود نہیں ہے"
خلاصہ
ٹیسٹ کمانڈ سکرپٹ میں زیادہ مفید ہے کیونکہ آپ کسی دوسرے کے خلاف ایک متغیر کی قیمت کی جانچ اور کنٹرول پروگرام کے بہاؤ کی جانچ کر سکتے ہیں. معیاری کمان لائن پر، آپ اس کا استعمال کرنے کے لئے استعمال کر سکتے ہیں کہ آیا فائل موجود ہے یا