ٽيسٽ ڪنٽر لينڪس ڪمان لائن تي استعمال ڪري سگهجي ٿو هڪ عنصر هڪ ٻئي جي مقابلي ڪرڻ لاء، پر عام طور تي BASH شيل سکرٽس ۾ عام طور تي استعمال ٿيل شرطن جي حصي طور استعمال ڪيو ويندو آهي جيڪي منطق ۽ پروگرام جي وهڪري کي ڪنٽرول ڪن ٿا.
ھڪ بنيادي مثال
توهان صرف انهن حڪمن کي ٽرمينل ونڊو کولڻ سان ڪوشش ڪري سگهو ٿا.
ٽيسٽ 1 -قق 2 ۽ گونج "ها" || گونگو "نه"
مٿي ڏنل حڪم ھيٺئين طور تي ڀڄي سگھجي ٿو:
- test - اھو مطلب آھي توھان ھڪڙو مقابلو ڪرڻو آھي
- 1 - توهان جو پهريون عنصر توهان جي مقابلي ۾ آهي
- -eq (توهان ڪئين مقابلي ۾ آهيو، هن صورت ۾، توهان جاچ ڪري رهيا آهيو ته هڪ نمبر ٻئي جي برابر آهي)
- 2 - اهو عنصر توهان جي مقابلي ۾ پهريون عنصر ٻيهر آهي
- جيڪڏھن توھان درست آھي تہ ھيٺ ڏنل بيان بيان ڪريو
- گونگا "ها" - هلائڻ جو حڪم جيڪڏهن مقابلو واپسيء جي درست آهي
- || - هيٺين غلط بيان ڪريو جيڪڏهن نتيجو غلط آهي
- گونگا "نه" - هلائڻ جو حڪم جيڪڏهن مقابلو ڪرڻ واري غلط آهي
ذات ۾، حڪم ڏنل 1 2 جي برابر آهي ۽ انهن جي گونج سان ٺهڪندڙ "ها" بيان جاري آهي جنهن کي "ها" ڏيکاري ٿو ۽ جيڪڏهن اهي گونج سان نه ٺهرايو "نه" بيان جاري ڪئي آهي جنهن کي "نه" ڏيکاري ٿو.
انگن اکرن جو تعداد
جيڪڏهن توهان اهڙن عناصر جو مقابلو ڪيو آهي جيڪي انگن اکرن کي استعمال ڪري سگهو ٿا جيڪي هيٺيان مقابلو استعمال ڪري سگهو ٿا آپريٽرز:
- -eq - قيمتي هڪ برابر برابر 2 آهي
- بيج جي قيمت 2 کان وڌيڪ يا وڌيڪ برابر آهي
- -gt - قيمتي قيمت 2 کان وڌيڪ آهي
- -لي- قيمت 1 کان گهٽ يا 2 جي برابر هجڻ جي برابر آهي
- -lt- قيمت 1 قدر کان گھٽ 2 آهي
- -ا - قيمتي قدر 1 ناتو برابر ناهي 2
مثالون:
ٽيسٽ 1 -قق 2 ۽ گونج "ها" || گونگو "نه"
(ڏيکاري ٿو "نه" اسڪرين کي ڏيکاري ٿو ڇاڪاڻ ته 1 برابر ناهي 2)
ٽيسٽ 1 -ج 2 ۽ گونج "ها" || گونگو "نه"
(ڏيکاري ٿو "نه" اسڪرين کي ڏيکاري ٿو ڇاڪاڻ ته 1 کان وڌيڪ يا برابر ناهي 2)
ٽيسٽ 1 -جيٽ 2 ۽ گونج "ها" || گونگو "نه"
(ڏيکاري ٿو "نه" اسڪرين کي ڏيکاري ٿو ڇاڪاڻ ته 1 کان 2 کان وڌيڪ نه آهي)
ٽيسٽ 1 بيلو 2 ۽ گونج "ها" || گونگو "نه"
(ڏيکاري ٿو "ها" اسڪرين لاء ڇاڪاڻ ته 1 کان گهٽ يا 2 کان گهٽ آهي)
test 1 -lt 2 ۽ گونج "ها" || گونگو "نه"
(ڏيکاري ٿو "ها" اسڪرين لاء ڇاڪاڻ ته 1 کان گهٽ يا 2 کان گهٽ آهي)
ٽيسٽ 1 -ون 2 ۽ گونج "ها" || گونگو "نه"
(ڏيکاري ٿو "ها" اسڪرين لاء ڇاڪاڻ ته 1 برابر ناهي 2)
لکڻي متن جي
جيڪڏهن توهان اهڙن عناصر جو مقابلو ڪنديون آهن جن جو تسلسل توهان کي استعمال ڪري سگهو ٿا هيٺين هيٺيان آپريٽرز استعمال ڪري سگهو ٿا.
- = - جملو 1 ميٽنگ سسٽم 2
- ! = - جملو ٿيل آھي 1 string جي لاء 2
- -n - اسٽرنگ جي ڊيگهه 0 کان وڌيڪ هوندي آهي
- -z - اسٽرنگ جي ڊيگهه 0 آهي
مثالون:
امتحان "string1" = "string2" ۽ گونج "ها" || گونگو "نه"
(ڏيکاري ٿو "نه" اسڪرين لاء ڏيکاري ٿو ڇاڪاڻ "string1" برابر "string2")
امتحان "string1"! = "string2" ۽ گونج "ها" || گونگو "نه"
(ڏيکاري ٿو "ها" اسڪرين لاء ڇاڪاڻ ڇو ته "string1" برابر "string2")
test -n "string1" ۽ گونج "ها" || گونگو "نه"
(ڏيکاري ٿو "ها" اسڪرين ڏيکاري ٿو ڇو ته "string1" صفر کان وڌيڪ سٽون ڊيگهه آهي)
test -z "string1" ۽ گونج "ها" || گونگو "نه"
(ڏيکاري ٿو "نه" اسڪرين کي ڏيکاري ٿو ڇاڪاڻ ته "string1" صفر کان وڌيڪ سٽون ڊيگهه آهي)
فائلن جي برابر
جيڪڏهن توهان فائلن جي مقابلي ۾ آهيو ته توهان هيٺين مقابلي کي استعمال ڪري سگهو ٿا آپريٽرز:
- -ef - فائلون ساڳيا ڊوائيس ۽ انوڊ نمبر ۾ آهن (اهي ساڳيا فائل آهن)
- -nt- پهرين فائل پهريون نمبر فائل کان نئون آهي
- -ot - پهرين فائيل پهرين فائل کان وڌيڪ پراڻي آهي
- -b- فائل موجود آهي ۽ خاص آهي
- -c - فائل موجود آهي ۽ خاص شخص آهي
- -d - فائل موجود آھي ۽ ڊائريڪٽري آھي
- -e - فائل موجود آهي
- -f - فائل موجود آهي ۽ باقاعده فائل آهي
- -g - فائل موجود آھي ۽ مخصوص گروپ نمبر آھي
- -G - فائل موجود آهي ۽ صارف جي گروپ طرفان مالڪ
- -h - فائل موجود آهي ۽ هڪ علامتي ڪڙي آهي
- -k- فائل موجود آهي ۽ ان جي چپچيل سا سيٽ آهي
- -ايل - ساڳيا ايڇ
- -O - فائل موجود آهي توهان مالڪ آهيو
- -p - فائل موجود آهي ۽ نالي وارو پائپ آهي
- -r- فائل موجود آهي ۽ پڙهڻ وارو آهي
- -ان- فائل موجود آهي ۽ سائيز صفر کان تمام وڏي آهي
- -S - فائل موجود آهي ۽ ساکٽ آهي
- -t - فائل جي حيرتريٽر ٽرمين تي کوليو ويندو آهي
- -u - فائل موجود آھي ۽ سيٽ-يوڪ-اي-ائ ساٽ مقرر ٿيل آھي
- -w - فائل موجود آهي ۽ ليکڪ قابل آهي
- -x - فائل موجود آهي ۽ عملدار آهي
مثالون:
test / path / to / file1 -n / path / to / file2 & gcho "yes"
(جيڪڏهن فائيل 1 فائل 2 کان نئون آهي پوء لفظ "ها" ڏيکاريل هوندو)
test -e / path / to / file1 & gcho "yes"
(اگر فائل 1 موجود آهي لفظ "ها" ڏيکاريل هوندو)
test -O / path / to / file1 & gcho "yes"
(جيڪڏهن توهان فائل1 پاڻ آهيو ته پوء "ها" لفظ ڏيکاريل آهي ")
اصطلاحات
- خاص بلاڪ ڪريو - فائل هڪ بلاڪ ڊيوائس آهي جنهن جو مطلب آهي ته ڊيٽا باٽ جون بلاڪ ۾ پڙهي ويندي آهي. هي عام طور تي فائلون جهڙوڪ هارڊ ڊرائيو ڊوائيسز آهن.
- ڪارڪردگي خاص - فوري طور تي فائل تي عمل ڪيو ويو جڏهن توهان ان کي لکڻ ۽ عام طور تي هڪ سيريل آهي، جهڙوڪ سيريلل پور
گهڻن شرطن جي ڀيٽ ۾
اهڙيء طرح هر شيء هڪ ٻئي جي خلاف هڪ شيء جهڙي ڪئي آهي پر جيڪڏهن توهان ٻه شرطن جو مقابلو ڪرڻ چاهيندا.
مثال طور، جيڪڏهن هڪ جانور 4 پير آهي ۽ "مائو" آهي، اهو شايد هڪ ڳئون آهي. بس رڳو گھمڻ لاء 4 پيرن کي ضمانت ڏئي ٿي ته توهان هڪ ڳئون آهي پر آواز جي جانچ ڪندي اهو ضرور ڪري ٿو.
ٻئي حالتن کي پرکڻ لاء ھڪڙي ھيٺين بيانن کي استعمال ڪندي:
test 4 -eq 4 -a "moo" = "مائو" ۽ گونگو "هي هڪ ڳئون آهي" گونگو "اها هڪ ڳئون نه آهي"
ھتي جو اھم حصو آھي -a جنھن لاء اسٽينڊ آھي.
ساڳئي آزمائشي انجام ڏيڻ جو هڪ بهتر ۽ تمام عام استعمال ڪيل طريقو آهي جنهن ۾ هن ريت آهي:
test 4 -eq 4 & test test "moo" = "moo" ۽ گونج "اھو ھڪ ڳئون آھي" || گونگو "اها هڪ ڳئون نه آهي"
هڪ ٻي امتحان جيڪو توهان ٺاهڻ چاهيندو آهي، ٻن بيانن جي مقابلي ۾ آهي ۽ جيڪڏهن صحيح معوٽ آهي. مثال طور، جيڪڏهن توهان چاهيو ٿا ته "فائل 1.txt" نالي موجود فائيل موجود آهي يا "فائيل1.doc" نالي موجود فائيل موجود آهي توهان هيٺ ڏنل حڪم استعمال ڪري سگهو ٿا.
test -e file1.txt -o -e file1.doc & echo "فائل 1 موجود آهي" || گونج "فائيل 1 موجود ناهي"
ھتي جو اھم حصو آھي- جو آھي جنھن لاء اٿي يا.
ساڳئي آزمائشي انجام ڏيڻ جو هڪ بهتر ۽ تمام عام استعمال ڪيل طريقو آهي جنهن ۾ هن ريت آهي:
test -e file1.txt || test -e file1.doc & echo "فائل 1 موجود آهي" || گونج "فائيل 1 موجود ناهي"
ٽيسٽ جي ڳولا کي ختم ڪرڻ
توهان اصل ۾ مقابلو ڪرڻ لاء لفظ ٽيسٽ استعمال ڪرڻ جي ضرورت ناهي. توهان سڀني کي ڪرڻو آهي ته اهي بيان هن ريت مربع چڪر ۾ بيان ڪيو آهي:
[-e file1.txt] ۽ گونج "فائيل 1 موجود آهي" || گونج "فائيل 1 موجود ناهي"
[۽] بنيادي طور تي مطلب ته جيئن امتحان.
هاڻي توهان ڄاڻو ٿا ته توهان مختلف حالتن جي مقابلي تي بهتر ڪري سگهو ٿا:
[4 -eq 4] ۽ "[" Moo "=" Moo "] ۽ گونگو" هي هڪ ڳئون آهي "|| گونگو "اها هڪ ڳئون نه آهي"
[-e file1.txt] || [-e file1.doc] ۽ گونج "فائيل 1 موجود آهي" || گونج "فائيل 1 موجود ناهي"
خلاصو
امتحان واري حڪم لکتن ۾ وڌيڪ مفيد آهي ڇو ته توهان ٻئي جي خلاف هڪ متغير جي قيمت کي جانچ ۽ پروگرام جي وهڪري کي ڪنٽرول ڪري سگهو ٿا. معياري ڪنٽر لائن تي، توهان ان کي استعمال ڪرڻ جي لاء استعمال ڪري سگهو ٿا يا ڪا فائيل موجود آهي يا نه