Ახალბედა გზამკვლევი ბაზე - შედარება რამ

01 08

ახალბედა გზამკვლევი ბაზე - შედარება რამ

BASH Tutorial - შედარება სიმები.

წინა ნაწილი BASH tutorial ჩვენ შევხედე პირობითი განცხადებები .

ეს სახელმძღვანელო ძალიან დიდი ხანია, მაგრამ მართლაც მხოლოდ აჩვენა, თუ როგორ უნდა გაკონტროლონ ლოგიკა. ეს სახელმძღვანელო აჩვენებს სხვადასხვა გზებს, რომელთა შედარება შეგიძლიათ ცვლადები.

აღნიშნული სურათი გვიჩვენებს პირველ მაგალითს ამ კვირის სახელმძღვანელოში:

#! / bin / bash

სახელი 1 = "გარი"
სახელი 2 = "ბობ"

თუ ["$ name1" = "$ name2"]
მაშინ
ეხო "სახელები ემთხვევა"
სხვა
ეხო "სახელები არ ემთხვევა"
fi


ზემოთ ჩამოთვლილ სკრიპტში მე განვსაზღვრეთ ორი ცვლადი სახელწოდებით 1 და სახელი 2 და მიანიჭა მნიშვნელობა "გარი" და "ბობ". როგორც ცვლადები შეიცავს კოტირების ნიშნებს შორის, მათ უწოდებენ სიმებიანი ცვლადები, რომლებიც უფრო აქტუალური ხდება, როგორც სამეურვეო ხდება.

ყველა სკრიპტი არ შეესაბამება $ name1 და $ name2- ს ღირებულებას და თუ ისინი ემთხვევა გამოტანის სიას "სახელები ემთხვევა" და თუ ისინი არ გამოიმუშავებენ სიას "სახელები არ ემთხვევა".

კოტირების ნიშნები გარშემო $ name1 და $ name2 ცვლადები მნიშვნელოვანია, რადგან თუ ღირებულება არც ერთი არ არის მითითებული მაშინ სკრიპტი მაინც იმუშავებს.

მაგალითად, თუ $ name1 არასდროს არ არის მითითებული, მაშინ "ბობთან" შედარებით იქნებით. გარეშე ციტატების ნიშნები თქვენ დარჩა = "ბობ", რომელიც აშკარად ვერ.

თქვენ ასევე შეგიძლიათ გამოიყენოთ! = Notation განსაზღვრა არ ტოლია შემდეგი რედაქციით:

თუ ["$ name1"! = "$ name2"]

02 08

დამწყებთათვის გზამკვლევი ბაი - შედარება სიმები

BASH Tutorial - შედარება სიმები.

ზემოთ მოყვანილ მაგალითში ტესტი ადარებს იმავე ორ სტრინს და კითხვას სვამს კითხულობს თუ არა ბობ ანბანის წინ?

ცხადია პასუხი არ არის.

სკრიპტი წარუდგენს ნაკლებ ოპერატორს (<). როგორც ნაკლები ოპერატორი ასევე გამოიყენება გადამისამართებისთვის, თქვენ უნდა გაქცევა სუსტი (\) მასზე ნაკლები, ვიდრე ნაკლებია, ვიდრე სკრიპტში, ვიდრე შედარებით "$ name1" \ <"$ name2".

საპირისპირო ნაკლებია, ვიდრე აშკარად უფრო დიდია. იმის ნაცვლად, რომ გამოიყენოთ \ .

მაგალითად

თუ ["$ name1" \> "$ name2"]

08 08

დამწყებთათვის გზამკვლევი ბაი - შედარება სიმები

BASH Tutorial - შედარება სიმები.

თუ გსურთ შეამოწმოთ თუ არა ცვლადი აქვს მნიშვნელობა შეგიძლიათ გამოიყენოთ შემდეგი ტესტი:

თუ [-n $ name2]

სკრიპტის ზემოთ შეამოწმე თუ არა $ name2- ს მნიშვნელობა და თუ ეს არ არის შეტყობინება "არ არსებობს ბობ, არასოდეს ყოფილა ბობ ჩნდება".

04 08

დამწყებთათვის გზამკვლევი ბაი - შედარება სიმები

BASH Tutorial - შედარება სიმები.

წარსულში ჩვენ დავრჩით თუ არა მითითებული ცვლადი. ზოგჯერ შეიძლება შეიცვალოს ცვლადი, მაგრამ ეს ნამდვილად არ აქვს მნიშვნელობა.

მაგალითად:

სახელი 1 = ""

შესამოწმებლად არის თუ არა ცვლადი აქვს თუ არა მნიშვნელობა (ანუ ნულის სიგრძე) გამოიყენეთ -ზ:

თუ [-z $ name1]

ზემოთ სკრიპტში მე მითითებული $ name1 ნულოვანი სიგრძის სიმებიანი და შემდეგ შედარებით ის გამოყენებით -z. თუ $ name1 არის ნულოვანი სიგრძეზე, "gary გაითიშა საღამოსთვის" გამოჩნდება.

05 08

ახალბედა გზამკვლევი ნომრები - შედარება ნომრები

BASH Tutorial - შედარება ნომრები.

ჯერჯერობით ყველა შედარება იყო სიმებიანი. რაც შეეხება ნომრებს?

ზემოთ მოყვანილი სკრიპტი გვიჩვენებს მაგალითს:

#! / bin / bash

a = 4
ბ = 5

თუ [$ a = $ b]
მაშინ
ეხო "4 = 5"
სხვა
ეხო "4 არ არის 5"
fi

იმისათვის, რომ შეიქმნას ცვლადი რიცხვი უბრალოდ მითითებული მას გარეშე ციტატა ნიშნები. შეგიძლიათ შეადაროთ ნომრები თანასწორობის ნიშანს.

მირჩევნია, გამოიყენოს შემდეგი ოპერატორები, რათა შევადაროთ ორი რიცხვი:

თუ [$ a -eq $ b]

08 08

ახალბედა გზამკვლევი ნომრები - შედარება ნომრები

BASH Tutorial - შედარება ნომრები.

თუ გსურთ შევადაროთ თუ არა ნომერი ნაკლებია, ვიდრე სხვა ნომერი, შეგიძლიათ გამოიყენოთ ნაკლები ოპერატორი (<). როგორც სტრიქონებთან ერთად გაქცევა გაქვს ოპერატორთან შედარებით ნაკლები. (\ <).

ნომრების შედარების უკეთესი გზა ნაცვლად გამოვიყენოთ შემდეგი ნოტაცია:

მაგალითად:

თუ [$ a -lt $ b]

თუ [$ a -le $ b]

თუ [$ a-b $ b]

თუ [$ a-gt $ b]

08 08

ახალბედა გზამკვლევი ნომრები - შედარება ნომრები

BASH Tutorial - შედარება ნომრები.

საბოლოოდ ამ სახელმძღვანელოსთვის, თუ გსურთ შეამოწმოთ თუ არა ორი ციფრი, შეგიძლიათ გამოიყენოთ ოპერაციებთან შედარებით ნაკლები და უფრო მეტი (<>) ან:

თუ [$ a <> $ b]

თუ [$ a-$ $ b]

08 08

დამწყებთათვის გზამკვლევი - შედარებითი ოპერატორები - რეზიუმე

თუ ამ სახელმძღვანელოს პირველი სამი ნაწილის გამოტოვა შეგიძლიათ იპოვოთ ისინი შემდეგი ბმულებზე დაჭერით:

გიდის მომდევნო ნაწილში მე ვიქნები არითმეტიკული.