شين جي پيشي ڪرڻ لاء گڻ وارو رهنمائي ڪرڻ

01 جو 08

شين جي پيشي ڪرڻ لاء گڻ وارو رهنمائي ڪرڻ

BASH سبق - هارڊ جو مقابلو.

پوئين حصي ۾ بيش جو سبق اسان کي مشروط بيان سان ڏسندا.

اهو گائيڊ تمام ڊگهو هو پر حقيقت ۾ صرف منطق جي وهڪري کي ڪيئن سنڀاليو ويو. هي رهنمائي ڪندڙ مختلف طريقن کي ڏيکاري ٿو جنهن ۾ توهان ڪيبل استعمال ڪري سگهو ٿا.

مٿئين تصوير هن هفتي جي رهنمائي ۾ پهريون مثال ڏيکاري ٿو:

#! / بن / بيش

نالو 1 = "گري"
نالو 2 = "باب"

جيڪڏهن ["$ نام 1" = "$ name2"]
پوء
گونج "نالن سان نالا"
ٻيو
گونج "جا نالا ملندا نه آهن"
fi


مٿي ڏنل لپي ۾ مون ٻن جغرافيه نالو 1 ۽ نالو 2 نالي ڪئي آهي ۽ انهن کي "گري" ۽ "باب" جي قيمت ڏني آهي. جئين ته متغيرات جي چڪاس نشانن جي وچ ۾ شامل آهن انهن کي سوراخ جي ڪيبل سڏيو ويندو آهي، جيڪو وڌيڪ لاڳاپيل هوندو آهي.

سڀئي رسم الخط جو نالو $ 1 ۽ $ $ 2 جي قيمت جي برابر آهي ۽ جيڪڏهن اهي انٽرويو کي "نالا" جي نموني سان ملندا آهن ۽ جيڪڏهن اهي انٽرويو نٿا ڪن ته "نالا نالا نه ملندا".

ڏنل قيمت $ $ 1 ۽ $ 2 جو متغير قيمت اھم آھن، ڇو تھ جيڪڏھن انھن مان ھڪڙي قيمت مقرر نه ڪئي وئي آھي ته اسڪرپٽ اڃا تائين ڪم ڪندو.

مثال طور، جيڪڏهن $ 1 نالي ڪڏهن به مقرر نه ڪيو ويو هو ته توهان سان گڏ "بوب" سان گڏ هوندو. بغير نشانين جي بغير توهان کي = "بوب" سان ڇڏي وڃي ها جيڪا واضح طور تي ناڪام ٿيندي.

توهان پڻ استعمال ڪري سگهو ٿا! = وضاحت ڪرڻ لاء هيٺ برابر نه هجڻ جي وضاحت:

جيڪڏهن ["$ نام 1"! = "$ name2"]

02 جو 08

تڪليفن جي رهنمائي ڪرڻ بش ڪرڻ واريون

BASH سبق - هارڊ جو مقابلو.

مٿين مثال ۾، امتحان ساڳيو ٻه سوراخ جو مقابلو ڪري ٿو ۽ سوال پڇي ٿو ته الفابي ۾ الف بوب کان اڳ سوال پيش آيو آهي؟

واضح طور تي جواب نه آهي.

رسم الخط جيڪو آپريٽر (<) کان گهٽ متعارف ڪرايو آهي. جيئن ته آپريٽر کان گهٽ پڻ ريزائٽيشن جي لاء استعمال ڪيو ويندو آهي توهان کي ان لاء سليش سان (انهي) کان بچائڻو آهي (\) انهي جي معني گهٽ آهي ڇو ته ماپ ۾ مٿي ڏنل اکر "$ name1" \ "" $ name2 "جي مقابلي ۾.

ان کان گهٽ جو مقابلو واضح طور کان وڌيڪ آهي. استعمال ڪرڻ جي بدران \ .

مثال طور

جيڪڏهن ["$ name1" \> "$ name2"]

03 جو 08

تڪليفن جي رهنمائي ڪرڻ بش ڪرڻ واريون

BASH سبق - هارڊ جو مقابلو.

جيڪڏهن توهان کي امتحان ڏيڻ چاهيو ٿا ته هڪ متغير هڪ قدر آهي توهان هيٺين آزمائشي استعمال ڪري سگھو ٿا:

جيڪڏهن [-n $ نالي 2]

مٿي ڏنل رسم الخط ۾ مون آزمائي ڪئي ته آيا $ 2 جو هڪ قدر ڏنو ويو آهي ۽ جيڪڏهن اهو پيغام نه آهي ته "ڪابه ببي آهي، نه ته ڪنهن کي ڪوبه ڏسڻ وارو ناهي".

04 جو 08

تڪليفن جي رهنمائي ڪرڻ بش ڪرڻ واريون

BASH سبق - هارڊ جو مقابلو.

پر گذريل سلائڊ تي جيڪو اسان ڍڪي ڇڏيو ويو سو متفق آهي يا نه. ڪڏهن ڪڏهن هڪ متغير مقرر ٿي چڪا هوندا پر اهو اصل ۾ قدر نه هجي ها.

مثال طور:

نالو 1 = ""

امتحان ڪرڻ لاء تغير هڪ قدر يا نه (يعني صفر جي ڊيگهه آهي) استعمال ڪيو -ز جيئن هيٺ ڏنل آهي:

جيڪڏهن [-z $ نالي 1]

مٿي ڏنل لپي ۾، مون هڪ صفر جي ڊيگهه سوراخ ڪرڻ لاء $ 1 جو نالو مقرر ڪيو آهي ۽ ان جي ڀيٽ ۾ ان جي استعمال سان -z. جيڪڏهن پيغام جي ڊيگهه ۾ $ 1 صفر آهي ته "گري شام لاء نڪتو آهي" ڏيکاري ويندي.

05 جون 08

بيش ڪرڻ جي شروعاتي گائيڊ ۽ تعداد جي مقابلي ۾

BASH سبق - انگن جي مقابلي ۾.

اهڙيء طرح سڀني موازنين لاء پوڻ لاء آهن. انگن جي مقابلي ۾ ڇا؟

مٿين رسم الخط ٻه انگن اکرن جي هڪ مثال ظاهر ڪري ٿو:

#! / بن / بيش

a = 4
ب = 5

جيڪڏهن [$ a = $ b]
پوء
گونج "4 = 5"
ٻيو
گونج "4 برابر نه 5"
fi

ھڪڙو ھڪڙو ھڪڙو ھڪڙو مقرر ڪرڻ لاء سيٽ مارڪ کان سواء ان کي ٺھرايو. توهان وري انهن نمبرن جي برابر هڪ جيترا نشاني ڪري سگهو ٿا.

جڏهن ته هيٺيان آپريٽر استعمال ڪرڻ لاء ٻه نمبر موازنہ ڪرڻ چاهيندا:

جيڪڏهن [$ aee $ b]

06 جي 06

بيش ڪرڻ جي شروعاتي گائيڊ ۽ تعداد جي مقابلي ۾

BASH سبق - انگن جي مقابلي ۾.

جيڪڏهن توهان مقابلي ڪرڻ چاهيو ٿا ته هڪ نمبر ٻئي نمبر کان گهٽ آهي يا توهان گهٽٽرٽر (<) کان گهٽ استعمال ڪري سگهو ٿا. جئين تاليف سان توهان کي آپريٽر کان گهٽ ڪرڻ کان بچڻ ضروري آهي. (\ \).

انگن اکرن جو هڪ بهتر طريقو هن بدران هيٺين بيان کي استعمال ڪرڻ آهي:

مثال طور:

جيڪڏهن [$ a -lt $ b]

جيڪڏهن [$ a -le $ b]

جيڪڏهن [$ a -ge $ b]

جيڪڏهن [$ a -gt $ b]

07 جو 08

بيش ڪرڻ جي شروعاتي گائيڊ ۽ تعداد جي مقابلي ۾

BASH سبق - انگن جي مقابلي ۾.

آخرڪار هن هدايت جي لاء، جيڪڏهن توهان کي امتحان ڪرڻ چاهيندا ته ٻه انگ اکر مختلف آهن، توهان آپريٽرز گڏجي گڏوگڏ يا گهٽ ۾ گهٽ استعمال ڪري سگهو ٿا.

جيڪڏهن [$ a <> $ b]

جيڪڏهن [$ a -ne $ b]

08 جو 08

پيچيدگي جي رهنمائي ڪرڻ لاء بيش - ماهر آپريٽرز - خلاصو

جيڪڏهن توهان وڃايو آهي ته پهرين هدايتن جا پهريان ٽي حصا توهان انهن کي هيٺ ڏنل لنڪ تي ڪلڪ ڪري سگهو ٿا.

گائيڊ جي ايندڙ حصي ۾ آئون رياضي کي ڍڪيندا.