د WH WH-Loops بڼسټ ولیکئ

حکمونه، نخشه، او بیلګې

تاسو کولی شئ د لارښوونو ترتیب د دوی په سکریپټ فایل کې ولیکئ او بیا یې په چلولو سره ترسره کړئ.

د سکرېپټ فایل یوازې د متن دوتنې دی، معمولا د SH د فایل توسیع سره، چې د لارښوونو ترتیب دی چې کیدای شي د کمانډ لیک ( shell ) څخه پلي شي.

پداسې حال کې چې لوپ بېلګې

لاندې د یو وخت د لوپ یوه بیلګه ده. کله چې اعدام شي، د دې سکرېپټ دوتنه به د 1 څخه تر 9 پورې په سکرین کې چاپ کړي. پداسې حال کې چې تاسو د لوپ لو په پرتله د ختمولو حالت مشخص کولو لپاره تاسو ډیر لچک وړتیا درکوي.

#! / bin / bash count = 1 پداسې حال کې چې [$ count -le 9] "$ count" نیټه 1 ((+ + count) ترسره کړئ

د مثال په توګه، تاسو کولی شئ د بیان زیاتولو پرمخ وړلو دمخه پخوانی سکرپٹ یو لاتین لوپ جوړ کړئ "((count ++))":

#! / bin / bash شمار = 1 پداسې حال کې چې [$ count -le 9] "$ شمار" خوب نیسي 1 ترسره شوی

د "نیند 1" بیان په هره تکرار کې د دویم ځل لپاره اعدام بندوي. د پروسې د ختمولو لپاره Ctrl + C د شارټ کټار څخه کار واخلئ.

تاسو کولی شئ د برتانیا د وضع کولو په حیث د انفینټ لوپ جوړ کړئ.

#! / bin / bash count = 1 پداسې حال کې چې: "$ count" نیټه 1 ((count ++) ترسره کړئ

په لین لوپ کې د ډیرو شرایطو کارولو لپاره، تاسو باید د دوه مربع مربع بریکٹ یادونه وکاروئ:

شمار = 1 ترسره شوی = 0 پداسې حال کې چې [[$ count -le 9] && [$ done == 0]] "$ شمار" نیټه 1 ((+ count (+ count) ډک کړئ که [$ count == 5]؛ بیا $ = 1 کار شوی

په دې لیکنه کې، متغیر "ترسره شوي" په پیل کې پیل شوي او بیا یې 1 ته وټاکل شي. د لوپ حالت بیانوي چې د وخت لوپ به دوام وکړي تر څو "شمار" له 9 څخه کم وي او "ترسره شوي" برابر وي صفر ته نو له دې امله د غوړونو څخه د وتلو وروسته کله چې شمېره 5 مساوي وي.

"&&" معنی منطقي "او" او "||" معنی منطقي "یا".

د "او" او "یا" شرایطو کې د شرایطو بدیل تایید "-a" او "-o" د واحد مربع بریکونو سره. پورته شرط:

[[$ count -le 9] && [$ شوی == 0]]

... کیدای شي بیا هم وکارول شي:

[$ count -l 9] -a [$ شوی == 0]

د متن فایل لوستل په عموم ډول د یو ځله لوپ سره ترسره کیږي. په لاندې مثال کې، د بش سکرټ د منځپانګې کرښه د فایل د لینډ لیک سره "inventory.txt:" نومولي.

FILE = د inventory.txt اجرا 6

لومړنۍ کرښه د فایل فایل نوم د "FILE" متغیر ته وړاندې کوي. دویمه کرښه د فایل توضیح کوونکي "6" کې "معیاري انډ" خوندي کوي. (دا کیدی شي د 3 او 9 ترمنځ ارزښت ولري). دا ترسره کیږي چې "معیاري انډ" د سکریپټر په پای کې "descriptor" 0 دوتنې لپاره راګرځول کیدای شي (بیان وګورئ "اجرا 0 په دریم کرښه کې وګورئ د فایل فایل د descriptor" 0 "لپاره کارول شوی، کوم چې کارول کیږي د معیاري انټرنیټ لپاره. "لوستل" بیان وروسته بیا د هرې تکرار په دوتنې کې لین لیک لولي او دا د "لین 1" متغیر ته وړاندې کوي.

د دې لپاره چې د وخت په پای کې یو لوټ ووهئ، تاسو کولی شئ د بیان بیان بیان کړئ لکه:

شمار = 1 شوی = 0 پداسې حال کې چې [$ count -le 9] "$ count" نیټه 1 ((count ++) ډک کړئ که چیرې [$ count == 5] بیا وروسته وځنډول شو

د پایپ په وخت کې د وقف بیان سکپس پروګرام اجرا کول په پای کې او وروسته د هغې بیانات اعالن کوي. په دې حالت کې، بیان "ګونګ بشپړ شوی."

له بلې خوا جاري بیان، یوازې د پاتې پاتې کیدو په وخت کې د اوسني تکرار لوپ بیان او په مستقیم ډول راتلونکی تکرار ته ځي:

شمېره = 1 ترسره شوې = پداسې حال کې چې [$ count -le 9] خوب کوي خوب (1 + + +)) که چیرې [$ count == 5] بیا "$ شمیرل" بیا پیل شو

په دې حالت کې، "دوام" بیان اعالن کیږي کله چې متغیر "شمیر" رسیږي 5. دا پدې معنا لري چې وروستی بیان ($ ګونګ "$ شمار") پدې پړاو کې اعدام ندی شوی (کله چې د "ارزښت" 5 ارزښت وي).