08 දින 01
BASH සඳහා ආරම්භක මාර්ගෝපදේශය - දේවල් සැසඳීම
BASH නිබන්ධනයේ පූර්ව කොටසෙහි අපි කොන්දේසි සහිත ප්රකාශයන් දෙස බලමු.
එම මාර්ගෝපදේශය ඉතා දිගු නමුත් ඇත්ත වශයෙන්ම තර්කයේ ගලායාම පාලනය කරන ආකාරය පෙන්නුම් කලේය. මෙම මාර්ගෝපදේශය ඔබට විචල්යයන් සන්සන්දනය කළ හැකි විවිධ ආකාරයන් පෙන්වයි.
ඉහත රූපයේ දැක්වෙන්නේ මෙම සතියේ මාර්ගෝපදේශනයේ පළමු උදාහරණයයි.
#! / bin / bash
name1 = "ගේරි"
name2 = "බොබ්"["$ name1" = "$ name2"] නම්
එවිට
echo "නම් ගැලපීම"
වෙන
echo "නම් නොගැලපේ"
ෆයි
ඉහත කේත රචනය I1 සහ name2 යනුවෙන් හැඳින්වෙන විචල්යයන් දෙකක් අර්ථ දැක්වීය. ඒවා "Gary" සහ "Bob" යන අගයන් යොදවා ඇත. උපකල්පිත ලකුණු අතර ඒවායේ විචල්යයන් අඩංගු වන අතර, ඒවා හැඳින්වෙන්නේ අකුරු විචල්යයන් ලෙසයි.
සියළුම පිටපත් කර ඇත්තේ $ name1 සහ $ name2 වල අගය සසඳා බලන විට ඒවායේ ශ්රේණිගත වන "නාම අනුපිළිවෙලට" ගැලපෙන නම් සහ ඒවා string නොලදහොත් "නම් නොගැලපේ නම්".
$ 1 සහ $ name2 විචල්යයන් වටා උච්චාරණ වැදගත් වේ. මන්ද ඒවා දෙකෙන් එකක් නියම කර නොමැති නම්, තිර රචනය තවමත් ක්රියාත්මක වේ.
නිදසුනක් ලෙස $ name1 කිසි විටෙක සැකසිය නොහැකි නම් ඔබ "bob" සමඟ සසඳන විට. Quotes ලකුණු නොමැතිව ඔබට "bob" සමඟ ඉතිරි වනු ඇත.
ඔබට පහත සඳහන් පරිදි සමාන නොවන අර්ථ දැක්වීම සඳහා! = අංකනය භාවිතා කළ හැකිය:
["$ name1"! = "$ name2"] නම්
08 සිට 08 දක්වා
BASH සඳහා ආරම්භක මාර්ගෝපදේශ - කට්ටල සංසන්දනය කිරීම
ඉහත උදාහරණයේ දී ටෙස්ට් දෙක එකම සංසන්දනය හා අසන ප්රශ්නය අක්ෂර මාලාවට බොබ් ඉදිරියෙන් පැමිණීමට ගරි ගේ ප්රශ්නය අසයිද?
පැහැදිලිවම පිළිතුර නැත.
මෙම රචනය මෙහෙයුමට වඩා අඩු අයෙකු (<). Operatorට වඩා අඩු නම් ක්රියාකරනුයේ ප්රතිවර්තනය කිරීම සඳහා භාවිතා කරන විට, ඔබ විසින් ඉහත කේත රචනය තුල "$ name1" \ <"$ name2" සන්සන්දනය කර ඇත්තේ මන්ද යත් ස්තරය (\) සමග එය මඟහැරීම සඳහා ය.
වඩා පැහැදිලිවම වඩා වැඩි ප්රතිවිරුද්ධයයි. \ <භාවිතා \> භාවිතා කිරීම වෙනුවට.
උදාහරණයක් වශයෙන්
["$ name1" \> "$ name2"] නම්
08 දින 03
BASH සඳහා ආරම්භක මාර්ගෝපදේශ - කට්ටල සංසන්දනය කිරීම
ඔබට විචල්යයක වටිනාකමක් තිබේදැයි පරීක්ෂා කිරීමට අවශ්ය නම් ඔබට පහත පරීක්ෂණය භාවිතා කළ හැකිය:
[-n $ name2] නම්
ඉහත කේත රචනය තුල $ name2 වටිනාකමක් ලබා දී ඇත්දැයි පරීක්ෂා කර ඇත්ද? "බෝබ් එකක් නැත" යනුවෙන් පණිවුඩයක් නැතිනම්, එය කිසි විටෙක බොබ් එකක් නොතිබුණි.
08 සිට 08 දක්වා
BASH සඳහා ආරම්භක මාර්ගෝපදේශ - කට්ටල සංසන්දනය කිරීම
පසුගිය විනිවිදකයේ දී විචල්යයක් සකසා තිබේද නැද්ද යන්න ආවරණය කර ඇත. සමහර විට යම් විචල්යයක් සැකසූ නමුත් එය ඇත්ත වශයෙන්ම වටිනාකමක් නොමැති විය හැක.
උදාහරණයක් වශයෙන්:
name1 = ""
යම් විචල්යයක අගයක් හෝ නොපවතිනද (එනම්, ශුන්ය දිගක් ඇතිදැයි) පරීක්ෂා කිරීම සඳහා පරික්ෂා කරන්න.
[-z $ name1] නම්
ඉහත කේත රචනය තුළදී මම $ name1 හි ශුන්ය දිගක් සඳහා පිහිටුවා පසුව එය -z සමඟ සසඳා ඇත. $ Name1 හි ශුන්යය නම්, "සවස සඳහා ගරී ගිහින්" යනුවෙන් දැක්වේ.
08 සිට 05 දක්වා
BASH හි ආරම්භක මාර්ගෝපදේශය - සංඛ්යා සසඳා ගැනීම
මෙයින් සියලු සංසන්දනයන් කෙලින්ම ඇති වී තිබේ. අංක සංසන්දනය කිරීම කුමක්ද?
ඉහත කේත රචනය අංක දෙකක් සැසඳීමේ උදාහරණයක් සපයයි:
#! / bin / bash
a = 4
b = 5[$ a = $ b]
එවිට
echo "4 = 5"
වෙන
echo "4 සමාන නොවේ 5"
ෆයි
අංකයක් ලෙසට විචල්යයක් සකසා ගැනීමට උපකල්පිතයන් තොරව එය සකසන්න. ඔබට සමාන ලකුණක් සමඟ අංක සංසන්දනය කළ හැකිය.
කෙසේ වෙතත් පහත දැක්වෙන ක්රියාකරු භාවිතා කරන්නට මා කැමති සංඛ්යා දෙකක්:
[$ A -eq $ b]
06 සිට 08 දක්වා
BASH හි ආරම්භක මාර්ගෝපදේශය - සංඛ්යා සසඳා ගැනීම
ඔබට වෙනත් අංකයකට වඩා අඩු සංඛ්යාවක් තිබේදැයි සංසන්දනය කිරීමට ඔබට අවශ්ය නම් ඔබට ක්රියාකරු (<) වඩා අඩු භාවිතා කළ හැකිය. අන්තිම කණ්ඩයන් සමඟ කපනය සමඟ කඩා වැටෙන්නට වඩා අඩු කර ගත යුතුය. (\ <).
අංක සමඟ සැසඳීමේදී වඩා හොඳ ක්රමයක් වන්නේ පහත සඳහන් අංකනය භාවිතා කිරීමයි:
- -එල්ට වඩා අඩුය
- අඩු හෝ සමාන වේ
- -gt ට වඩා වැඩි
- වඩා විශාල හෝ සමාන වේ
උදාහරණයක් වශයෙන්:
[$ a -lt $ b]
[$ a -le $ b]
[$ a -ge $ b]
[$ a -gt $ b]
07 සිට 08 දක්වා
BASH හි ආරම්භක මාර්ගෝපදේශය - සංඛ්යා සසඳා ගැනීම
අවසාන වශයෙන්, මෙම මාර්ගෝපදේශය සඳහා, ඔබ විසින් සංඛ්යා දෙකක් වෙනස් කර ඇත්දැයි පරීක්ෂා කිරීමට අවශ්ය නම්, ක්රියාකරුවන්ට වඩා අඩු හෝ වැඩි ගණනක් භාවිතා කළ හැකිය (<>) හෝ පහත සඳහන් පරිදි නොවේ:
[$ a <> $ b]
[$ a -ne $ b]
08 සිට 08 දක්වා
BASH හි ආරම්භක මාර්ගෝපදේශය - සැසඳීමේ ක්රියාකරුවන් - සාරාංශය
මෙම මාර්ගෝපදේශයේ මුල් කොටස් තුන ඔබ මග හැරී ඇත්නම් පහත සඳහන් සබැඳි මත ක්ලික් කිරීමෙන් ඔබට ඒවා සොයාගත හැකිය:
මෙම මාර්ගෝපදේශයේ ඊළඟ කොටසෙහි අංක ගණිතය ආවරණය කරනු ඇත.