ටෙස්ට් කොන්දේසි බෂ් රචනය තුළ භාවිතා කරන්නේ කෙසේද

පරීක්ෂණ විධානය ලිනක්ස් විධාන රේඛාවේදී තවත් මූලද්රව්යයකට සංසන්දනය කළ හැකි නමුත් එය බහුලව භාවිතා වන BASH shell scripts වන තර්කනමය ප්රකාශයන් සහ න්යාය පාලනය කිරීම සිදු කරනු ලබයි.

මූලික උදාහරණයක්

ඔබට ටර්මිනල් කවුළුවක් විවෘත කිරීමෙන් ඔබට මෙම විධානයන් උත්සාහ කළ හැකිය.

පරීක්ෂණය 1-eq 2 && echo "ඔව්" || echo "no"

ඉහත දැක්වෙන විධානය පහත පරිදි බිඳ දැමිය හැක:

සාරාංශය අනුව, මෙම විධානය 1 සිට 2 දක්වා සැසඳිය හැකි අතර ඒවා echo "yes" ප්රකාශනය ක්රියාත්මක වන අතර එය "ඔව්" පෙන්වයි. "No" යනුවෙන් දැක්වෙන echo "no" ප්රකාශය නොගැලපේ නම් එය ක්රියාත්මක වේ.

ගණන් ගැනීම ගණන් ගැනීම

ඔබ සංඛ්යා ලෙස සමාලෝචනය කරන ලද මූලද්රව්ය සසඳන විට පහත දැක්වෙන සැසඳීමේ ක්රියාකරුවන් භාවිතා කළ හැකිය:

උදාහරණ:

පරීක්ෂණය 1-eq 2 && echo "ඔව්" || echo "no"

(1 ට සමාන නොවේ 2)

පරීක්ෂණය 1-කර 2 && echo "ඔව්" || echo "no"

(1 ට වඩා විශාල හෝ සමාන නොවේ 2)

පරීක්ෂණය 1 -gt 2 && echo "ඔව්" || echo "no"

(1 ට වඩා වැඩි නොවූ බැවින් තිරය වෙත "නැහැ" පෙන්වයි)

පරීක්ෂණය 1 -le 2 && echo "ඔව්" || echo "no"

("ඔව්" තිරයට පෙන්වයි 1 ට අඩු හෝ සමාන වේ 2)

පරීක්ෂණය 1 -lt 2 && echo "ඔව්" || echo "no"

("ඔව්" තිරයට පෙන්වයි 1 ට අඩු හෝ සමාන වේ 2)

පරීක්ෂණය 1 -ne 2 && echo "ඔව්" || echo "no"

(1 ට සමාන නොවේ) තිරය වෙත "ඔව්" 2)

සැසඳීම

පහත දැක්වෙන සැසඳීම් ක්රියාකරුවන් භාවිතා කළ හැකිය:

උදාහරණ:

පරීක්ෂණය "string1" = "string2" && echo "ඔව්" || echo "no"

("No1" තිරය වෙත ප්රදර්ශනය කරනු ලැබේ, "string1" යනු "string2" නොවේ)

පරීක්ෂණය "string1"! = "string2" && echo "ඔව්" || echo "no"

("ඔව්" තිරය වෙත පෙන්වයි) "string1" යනු "string2" නොවේ)

test -n "string1" && echo "ඔව්" || echo "no"

("ඔව්" තිරය වෙත පෙන්වයි) "string1" ශුන්යයට වඩා දිග සංඛ්යාවක් ඇත)

test -z "string1" && echo "ඔව්" || echo "no"

("no1" තිරය වෙත පෙන්වයි) "string1" ශුන්යයට වඩා ශ්රේණීය දිගක් ඇත)

ගොනු සැසඳීම

ඔබ සසඳා බලන විට පහත දැක්වෙන සැසඳීම් ක්රියාකරුවන් භාවිතා කළ හැකිය:

උදාහරණ:

test / path / to / file1 -n / path / to / file2 && echo "ඔව්"

(File1 වඩා ෆයිනස් එකක් නම්, "ඔව්" යන වචනය දිස්වනු ඇත)

test -e / path / to / file1 && echo "ඔව්"

(file1 obstaja නම් "ඔව්" යන වචනය දිස්වනු ඇත)

පරීක්ෂණය -O / path / to / file1 && echo "ඔව්"

(ඔබ file1 නම්, "ඔව්" යන වචනය පෙන්වයි)

පර්යේෂණය

බහු කොන්දේසි සමග සැසඳීම

සියල්ලටමත් වඩා සෑම දෙයක්ම එකිනෙකට පටහැනියි. නමුත් ඔබ කොන්දේසි දෙකක් සන්සන්දනය කිරීමට අවශ්ය නම්.

නිදසුනක් වශයෙන්, සත්ව සතෙකුගේ කකුල් 4 ක් හා "මෝ" යනවා නම් එය හරකෙකු විය හැකිය. සරළව 4 කකුල් පරික්ෂා කිරීම ඔබට එළදෙනෙකු සිටින බව සහතික නොවනු ඇත.

කොන්දේසි දෙකම එකවරම පරීක්ෂා කිරීමට පහත සඳහන් ප්රකාශය භාවිතා කරන්න:

test 4-eq 4 -a "moo" = "moo" && echo "එය හරකයි" || echo "එය හරක් නොවේ"

මෙහි ප්රධාන අංගය වන්නේ - ඒ සඳහා වන සහ.

එම පරීක්ෂණයට වඩා හොඳ සහ වඩා බහුලව භාවිතා වන ක්රමයක් පහත පරිදි වේ:

test 4-eq 4 && test "moo" = "moo" && echo "එය හරකයි" || echo "එය හරක් නොවේ"

ඔබට කිරීමට අවශ්ය තවත් පරීක්ෂණයක් වන්නේ ප්රකාශන දෙකකට සැසඳීම සහ එක්කෝ සත්ය ලෙස නිපදවනු ලැබේ. උදාහරණයක් ලෙස, "file1.txt" යනුවෙන් හැඳින්වෙන ගොනුව තිබෙන බව හෝ "file1.doc" යනුවෙන් හැඳින්වෙන ගොනුව පවතී නම්, ඔබ පහත සඳහන් විධානය භාවිතා කළ හැකිය

test -e file1.txt -o -e file1.doc && echo "file1 exists" || echo "file1 නොපවතියි"

මෙහි ප්රධාන කොටස වන්නේ -ඔය සඳහා වූ හෝ.

එම පරීක්ෂණයට වඩා හොඳ සහ වඩා බහුලව භාවිතා වන ක්රමයක් පහත පරිදි වේ:

test -e file1.txt || test -e file1.doc && echo "file1 exists" || echo "file1 නොපවතියි"

පරීක්ෂක යතුරක් ඉවත් කිරීම

ඔබට සැසඳීම සඳහා වචනය පරීක්ෂණය භාවිතා කිරීම සැබවින්ම අවශ්ය නොවේ. ඔබ කළ යුත්තේ, පහත දැක්වෙන පරිදි කොටු වරහන් තුල ප්රකාශය ඇතුල් කරන්න:

[-e file1.txt] && echo "file1 exists" || echo "file1 නොපවතියි"

[සහ] මූලිකවම පරීක්ෂණයට සමාන වේ.

දැන් ඔබට පහත සඳහන් පරිදි විවිධ කොන්දේසි සමඟ සැසඳීමෙන් ඔබට දියුණු විය හැකිය.

[4-eq 4] && ["moo" = "moo"] && echo "එය හරකයි" || echo "එය හරක් නොවේ"

[-e file1.txt] || [-e file1.doc] && echo "file1 exists" || echo "file1 නොපවතියි"

සාරාංශය

පරීක්ෂණ විධාන පුවරුව තුල වඩා ප්රයෝජනවත් වේ. ඔබට එක් විචල්යයක වෙනත් අගය සහ පාලක වැඩසටහන් ගලායාම අගය පරීක්ෂා කළ හැකිය. සම්මත විධාන රේඛාවේදී, ගොනුවක් තිබේදැයි පරීක්ෂා කිරීමට එය භාවිතා කළ හැකිය