ბრძანებები, სინტაქსი და მაგალითები
თქვენ შეგიძლიათ შეასრულოთ ბრძანების თანმიმდევრობა შრიფტის ფაილის სახით და შემდეგ გაშვებით.
სკრიპტის ფაილი უბრალოდ ტექსტური ფაილია, როგორც წესი. SH ფაილის გაფართოება, რომელიც შეიცავს ინსტრუქციების თანმიმდევრობას, რომელიც შეიძლება შესრულდეს ბრძანების ( shell ).
მიუხედავად იმისა, რომ Loop მაგალითები
ქვემოთ მოყვანილია მაგალითი მარყუჟის დროს. შესრულებისას, ამ სკრიპტის ფაილი ეკრანზე ნომრის 1-დან 9-ის ბეჭდვაშია. ხოლო განცხადება - უფრო მეტ შესაძლებლობას გაძლევთ შეწყვეტის პირობების დაზუსტება, ვიდრე მარყუჟისთვის .
#! / bin / bash count = 1 ხოლო [$ count -le 9] echo "$ count" ძილის 1 ((count ++)) გაკეთდამაგალითად, შეგიძლიათ გააკეთოთ წინა სკრიპტი უსასრულო მარყუჟის მიერ ნამატი განცხადების გამოტოვებით "(count ++)):
#! / bin / bash count = 1 ხოლო [$ count -le 9] echo "$ count" ძილის 1 გაკეთდა"ძილის 1" განცხადება პატიმრობას იწყებს 1 წამში აღსრულების შესახებ. გამოიყენეთ Ctrl + C კლავიშთა კომბინაცია პროცესის შეწყვეტისთვის.
თქვენ ასევე შეგიძლიათ შექმნათ უსასრულო მარყუჟის მიერ კოლონის გადაცემის გზით:
#! / bin / bash count = 1 while: do echo "$ count" sleep 1 ((count + +)) გაკეთდაორმხრივი სარკეში სხვადასხვა პირობების გამოყენების მიზნით თქვენ უნდა გამოვიყენოთ ორმაგი კვადრატული ფრჩხილის ნოტაცია:
count = 1 done = 0 ხოლო [[$ count -le 9] && [$ done == 0]] echo "$ count" ძილის 1 ((count ++)) თუ [$ count == 5]; მაშინ $ გაკეთდა = 1 fi გაკეთდესამ სცენარში, ცვლადი "გაკეთებულია" ინიციალიზირებულია 0-მდე და შემდეგ 1-ს მიუთითებს, როდესაც რაოდენობა აღწევს 5. მარყუჟის მდგომარეობის მიხედვით, ხოლო loop გაგრძელდება მანამ, სანამ "რაოდენობა" ნაკლებია, ვიდრე ცხრა და "შესრულებულია" ნულოვანი. ამიტომ მარყუჟების გასასვლელი, როდესაც რიცხვი შეადგენს 5.
"&&" ნიშნავს ლოგიკური "და" და "||" ნიშნავს ლოგიკური "ან".
ალტერნატიული ნოტაცია კონიუნებისთვის "და" და "ან" პირობებში არის "-ა" და "ო" ერთ კვადრატულ ფრჩხილებთან ერთად. ზემოთ მდგომარეობა:
[[$ count -le 9] && [$ გაკეთდეს == 0]]... შეიძლება გადაწერილი იყოს:
[$ count -le 9] -a [$ done == 0]წაკითხვის ტექსტური ფაილი, როგორც წესი, კეთდება ხნით loop. შემდეგ მაგალითში, bash სცენარი ნათქვამია შინაარსი ხაზის მიერ ხაზი სახელწოდებით "inventory.txt:"
FILE = inventory.txt exec 6პირველი ხაზი მიუთითებს შეყვანის ფაილის სახელი "FILE" ცვლადში. მეორე ხაზი ინახავს "სტანდარტული შეყვანის" ფაილის აღწერს "6" (ეს შეიძლება იყოს ნებისმიერი მნიშვნელობა 3 და 9 შორის). ეს კეთდება ისე, რომ "სტანდარტის შეყვანა" შეიძლება აღდგეს სცენარის ბოლოს "0" -ისთვის (იხ. "შენიშვნა" შენიშვნა მე -3 ხაზში შეყვანილი ფაილი ენიჭება ფაილის დესკრიპტორი "0", რომელიც გამოიყენება სტანდარტული შეყვანისთვის. "წაკითხული" განცხადების შემდეგ იკითხება თითოეული მხრიდან გათიშვის ხაზი და მიუთითებს "line1" ცვლადში.
ხანმოკლე გასასვლელად, თქვენ შეგიძლიათ გამოიყენოთ შესვენების განაცხადი:
count = 1 done = 0 ხოლო [$ count -le 9] echo "$ count" ძილის 1 ((count ++)) თუ [$ count == 5] მაშინ შესვენება გააკეთა echo დასრულდაშესვენების განაცხადი skips პროგრამის შესრულების ბოლოს ხოლო loop და ახორციელებს ნებისმიერი განცხადებები მას შემდეგ. ამ შემთხვევაში, განცხადება "ექოს დასრულდა".
მეორეს მხრივ, გაგრძელდება განცხადება, ხოლო მეორე iteration- ის მარყუჟის მხოლოდ დანარჩენი პერიოდის გაშვება და პირდაპირ მომდევნო გაერთიანებაზე გადასვლა:
count = 1 done = 0 ხოლო [$ count -le 9] do sleep 1 ((count ++)) თუ [$ count == 5] შემდეგ გაგრძელდება fi echo "$ count" გაკეთდეს echo დასრულდაამ შემთხვევაში, "გაგრძელების" განაცხადი შესრულდება, როდესაც ცვლადი "რაოდენობა" აღწევს 5. ეს ნიშნავს იმას, რომ მომდევნო განცხადება (echo "$ count") არ არის შესრულებული ამ გაერთიანებაზე (როდესაც "რაოდენობა" არის 5).