بش سکر ۾ داخل ٿيڻ جا شرط ڪيئن استعمال ڪريو

ٽيسٽ ڪنٽر لينڪس ڪمان لائن تي استعمال ڪري سگهجي ٿو هڪ عنصر هڪ ٻئي جي مقابلي ڪرڻ لاء، پر عام طور تي BASH شيل سکرٽس ۾ عام طور تي استعمال ٿيل شرطن جي حصي طور استعمال ڪيو ويندو آهي جيڪي منطق ۽ پروگرام جي وهڪري کي ڪنٽرول ڪن ٿا.

ھڪ بنيادي مثال

توهان صرف انهن حڪمن کي ٽرمينل ونڊو کولڻ سان ڪوشش ڪري سگهو ٿا.

ٽيسٽ 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)

لکڻي متن جي

جيڪڏهن توهان اهڙن عناصر جو مقابلو ڪنديون آهن جن جو تسلسل توهان کي استعمال ڪري سگهو ٿا هيٺين هيٺيان آپريٽرز استعمال ڪري سگهو ٿا.

مثالون:

امتحان "string1" = "string2" ۽ گونج "ها" || گونگو "نه"

(ڏيکاري ٿو "نه" اسڪرين لاء ڏيکاري ٿو ڇاڪاڻ "string1" برابر "string2")

امتحان "string1"! = "string2" ۽ گونج "ها" || گونگو "نه"

(ڏيکاري ٿو "ها" اسڪرين لاء ڇاڪاڻ ڇو ته "string1" برابر "string2")

test -n "string1" ۽ گونج "ها" || گونگو "نه"

(ڏيکاري ٿو "ها" اسڪرين ڏيکاري ٿو ڇو ته "string1" صفر کان وڌيڪ سٽون ڊيگهه آهي)

test -z "string1" ۽ گونج "ها" || گونگو "نه"

(ڏيکاري ٿو "نه" اسڪرين کي ڏيکاري ٿو ڇاڪاڻ ته "string1" صفر کان وڌيڪ سٽون ڊيگهه آهي)

فائلن جي برابر

جيڪڏهن توهان فائلن جي مقابلي ۾ آهيو ته توهان هيٺين مقابلي کي استعمال ڪري سگهو ٿا آپريٽرز:

مثالون:

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 موجود ناهي"

خلاصو

امتحان واري حڪم لکتن ۾ وڌيڪ مفيد آهي ڇو ته توهان ٻئي جي خلاف هڪ متغير جي قيمت کي جانچ ۽ پروگرام جي وهڪري کي ڪنٽرول ڪري سگهو ٿا. معياري ڪنٽر لائن تي، توهان ان کي استعمال ڪرڻ جي لاء استعمال ڪري سگهو ٿا يا ڪا فائيل موجود آهي يا نه