របៀបប្រើលក្ខខណ្ឌសាកល្បងនៅក្នុងស្គ្រីបស្គ្រីប

ពាក្យបញ្ជាសាកល្បងអាចត្រូវបានប្រើនៅលើបន្ទាត់ពាក្យបញ្ជាលីនុចដើម្បីប្រៀបធៀបធាតុមួយទៅនឹងមួយផ្សេងទៀតប៉ុន្តែវាត្រូវបានប្រើជាទូទៅក្នុង ស្គ្រីបសែល BASH ដែល ជាផ្នែកមួយនៃ សេចក្តីថ្លែងការណ៍លក្ខខណ្ឌ ដែលគ្រប់គ្រង logic និងលំហូរកម្មវិធី។

ឧទាហរណ៍ជាមូលដ្ឋាន

អ្នកអាចសាកល្បងពាក្យបញ្ជាទាំងនេះដោយ បើកបង្អួចស្ថានីយមួយ

សាកល្បង 1-eq 2 & echo "បាទ / ចាស" || អេកូ "ទេ"

ពាក្យបញ្ជាខាងលើអាចត្រូវបានបំបែកដូចខាងក្រោម:

ជាទូទៅពាក្យបញ្ជាកំពុងប្រៀបធៀប 1 ទៅ 2 ហើយវាផ្គូផ្គងអេកូ "បាទ / ចាស" ត្រូវបានប្រតិបត្តិដែលបង្ហាញ "បាទ / ចាស" ហើយប្រសិនបើវាមិនផ្គូផ្គងអេកូ "គ្មាន" ត្រូវបានប្រតិបត្តិដែលបង្ហាញ "ទេ" ។

ប្រៀបធៀបលេខ

ប្រសិនបើអ្នកប្រៀបធៀបធាតុដែលញែកជាលេខអ្នកអាចប្រើការប្រៀបធៀបការប្រៀបធៀបដូចខាងក្រោម:

ឧទាហរណ៍:

សាកល្បង 1-eq 2 & echo "បាទ / ចាស" || អេកូ "ទេ"

(បង្ហាញ "ទេ" ចំពោះអេក្រង់ពីព្រោះ 1 មិនស្មើ 2)

សាកល្បង 1 -ge 2 & echo "បាទ / ចាស" || អេកូ "ទេ"

(បង្ហាញ "ទេ" ចំពោះអេក្រង់ពីព្រោះ 1 មិនធំជាងឬស្មើ 2)

សាកល្បង 1 -gt 2 & & echo "បាទ / ចាស" || អេកូ "ទេ"

(បង្ហាញ "ទេ" ចំពោះអេក្រង់ពីព្រោះ 1 មិនធំជាង 2)

សាកល្បង 1 -le 2 & & echo "បាទ / ចាស" || អេកូ "ទេ"

(បង្ហាញ "បាទ / ចាស" ទៅអេក្រង់ពីព្រោះលេខ 1 តិចជាងឬស្មើ 2)

សាកល្បង 1 -lt 2 & & echo "បាទ / ចាស" || អេកូ "ទេ"

(បង្ហាញ "បាទ / ចាស" ទៅអេក្រង់ពីព្រោះលេខ 1 តិចជាងឬស្មើ 2)

សាកល្បង 1 -ne 2 & echo "បាទ / ចាស" || អេកូ "ទេ"

(បង្ហាញ "បាទ / ចាស" ទៅអេក្រង់ពីព្រោះលេខ 1 មិនស្មើ 2)

ប្រៀបធៀបអត្ថបទ

ប្រសិនបើអ្នកកំពុងប្រៀបធៀបធាតុដែលញែកជាខ្សែអក្សរអ្នកអាចប្រើការប្រៀបធៀបការប្រៀបធៀបដូចខាងក្រោម:

ឧទាហរណ៍:

សាកល្បង "string1" = "string2" && echo "yes" || អេកូ "ទេ"

(បង្ហាញ "ទេ" ចំពោះអេក្រង់ពីព្រោះ "string1" មិនស្មើ "string2")

សាកល្បង "string1"! = "string2" & & echo "yes" || អេកូ "ទេ"

(បង្ហាញ "បាទ / ចាស" ទៅអេក្រង់ពីព្រោះ "string1" មិនស្មើ "string2")

test -n "string1" & & echo "yes" || អេកូ "ទេ"

(បង្ហាញ "បាទ / ចាស" ទៅអេក្រង់ពីព្រោះ "string1" មានប្រវែងវែងជាងសូន្យ)

សាកល្បង -z "string1" & & echo "បាទ / ចាស" || អេកូ "ទេ"

(បង្ហាញ "ទេ" ទៅអេក្រង់ពីព្រោះ "string1" មានប្រវែងវែងជាងខ្សែសូន្យ)

ប្រៀបធៀបឯកសារ

ប្រសិនបើអ្នកប្រៀបធៀបឯកសារអ្នកអាចប្រើការប្រៀបធៀបការប្រៀបធៀបដូចខាងក្រោម:

ឧទាហរណ៍:

សាកល្បង / ផ្លូវ / ទៅ / file1-n / path / ទៅ / file2 & echo "បាទ / ចាស"

(ប្រសិនបើឯកសារ 1 ថ្មីជាងឯកសារ 2 បន្ទាប់មកពាក្យ "បាទ / ចាស" នឹងត្រូវបានបង្ហាញ)

សាកល្បង -e / ផ្លូវ / ទៅ / file1 & & echo "បាទ / ចាស"

(ប្រសិនបើឯកសារ 1 មានពាក្យ "បាទ / ចាស" នឹងត្រូវបានបង្ហាញ)

សាកល្បង - អូ / ផ្លូវ / ទៅ / file1 & & echo "បាទ / ចាស"

(ប្រសិនបើអ្នកជាម្ចាស់ឯកសារ 1 បន្ទាប់មកពាក្យ "បាទ" ត្រូវបានបង្ហាញ ")

ស័ព្ទ

ប្រៀបធៀបលក្ខខណ្ឌច្រើន

រហូតមកដល់ពេលនេះអ្វីគ្រប់យ៉ាងត្រូវបានគេប្រៀបធៀបរឿងមួយប្រឆាំងនឹងអ្នកដទៃប៉ុន្តែតើមានអ្វីប្រសិនបើអ្នកចង់ប្រៀបធៀបលក្ខខណ្ឌពីរ។

ឧទាហរណ៍ប្រសិនបើសត្វមួយមានជើង 4 ហើយទៅ "moo" វាប្រហែលជាគោ។ គ្រាន់តែត្រួតពិនិត្យ 4 ជើងមិនធានាថាអ្នកមានគោទេប៉ុន្តែពិនិត្យមើលសម្លេងដែលវាធ្វើពិតជាប្រាកដមែន។

ដើម្បីសាកល្បងលក្ខខណ្ឌទាំងពីរនៅពេលតែមួយប្រើសេចក្តីថ្លែងការណ៍ដូចខាងក្រោម:

សាកល្បង 4-eq 4 -a "moo" = "moo" & & echo "វាគឺគោ" || អេកូ "វាមិនមែនជាគោ"

ផ្នែកសំខាន់នៅទីនេះគឺ - a តំណាងឱ្យនិង។

មានមធ្យោបាយប្រសើរជាងមុននិងប្រើច្រើនជាងនេះដើម្បីធ្វើតេស្តដូចគ្នានឹង:

សាកល្បង 4 -eq 4 && សាកល្បង "moo" = "moo" & & echo "វាគឺគោ" || អេកូ "វាមិនមែនជាគោ"

ការធ្វើតេស្តមួយផ្សេងទៀតដែលអ្នកចង់បង្កើតគឺប្រៀបធៀបសេចក្តីថ្លែងពីរហើយប្រសិនបើលទ្ធផលពិតជាខ្សែអក្សរ។ ឧទាហរណ៍ប្រសិនបើអ្នកចង់ពិនិត្យមើលថាមានឯកសារឈ្មោះ "file1.txt" ឬឯកសារដែលមានឈ្មោះថា "file1.doc" មានអ្នកអាចប្រើពាក្យបញ្ជាដូចខាងក្រោម:

សាកល្បង -e file1.txt -o-e file1.doc && echo "file1 exist" || អេកូ "file1 មិនមាន"

ផ្នែកសំខាន់នៅទីនេះគឺ -o ដែលតំណាងឱ្យឬ។

មានមធ្យោបាយប្រសើរជាងមុននិងប្រើច្រើនជាងនេះដើម្បីធ្វើតេស្តដូចគ្នានឹង:

សាកល្បង -e file1.txt || សាកល្បង - e ឯកសារ 1 ។ ឯកសារ & echo "file1 មាន" || អេកូ "file1 មិនមាន"

លុបបំបាត់ពាក្យគន្លឹះសាកល្បង

អ្នកមិនចាំបាច់ប្រើតេស្តពាក្យដើម្បីធ្វើការប្រៀបធៀបទេ។ អ្វីដែលអ្នកត្រូវធ្វើគឺភ្ជាប់សេចក្តីថ្លែងការណ៍នៅក្នុងតង្កៀបជ្រុងដូចខាងក្រោម:

[-e file1.txt] & echo "file1 មាន" || អេកូ "file1 មិនមាន"

[ហើយ] ជាមូលដ្ឋានមានន័យដូចគ្នានឹងការធ្វើតេស្ត។

ឥឡូវអ្នកដឹងពីនេះអ្នកអាចកែលម្អលើការប្រៀបធៀបលក្ខខណ្ឌជាច្រើនដូចខាងក្រោម:

[4 -eq 4] && ["moo" = "moo"] & & echo "វាគឺគោ" || អេកូ "វាមិនមែនជាគោ"

[-e file1.txt] || [-e ឯកសារ 1..doc] & echo "file1 មាន" || អេកូ "file1 មិនមាន"

សង្ខេប

ពាក្យបញ្ជាការធ្វើតេស្តគឺមានប្រយោជន៍បន្ថែមទៀតនៅក្នុងស្គ្រីបព្រោះអ្នកអាចសាកល្បងតម្លៃនៃអថេរមួយប្រឆាំងនឹងមួយផ្សេងទៀតនិងត្រួតពិនិត្យលំហូរកម្មវិធី។ នៅលើបន្ទាត់ពាក្យបញ្ជាស្តង់ដារអ្នកអាចប្រើវាដើម្បីសាកល្បងថាតើឯកសារមានឬអត់