ඔබ කොහොමද $ SHLVL විචල්යය භාවිතා කරන්නේ කෙසේ ද?

$ SHLVL විචල්යය ඔබ කොතරම් ගැඹුරට ඇලුම් කරනවාද කියා පැවසීමට භාවිතා කරයි. ඔබ විසින් ව්යාකූල කරනු ලැබුවහොත් ආරම්භයේ සිටම එය ආරම්භ කිරීම වටී.

ෂෙල් යනු කුමක්ද?

ෂෙල් විසින් විධාන ලබා දෙයි. ඒවා ක්රියාත්මක කිරීමට යටින් පවතින මෙහෙයුම් පද්ධතියට ලබා දේ. බොහෝ ලිනක්ස් පද්ධතිවල shell වැඩසටහන BASH ලෙස හඳුන්වනු ලැබේ (Bourne Again Shell) නමුත් C shell (tcsh) සහ KORN shell (ksh) ඇතුළු වෙනත් ඒවා තිබේ.

Linux Shell වෙත පිවිසෙන්නේ කෙසේද?

සාමාන්යයෙන් භාවිතා කරන්නෙකු වශයෙන් ඔබ ශෙල් ක්රමලේඛයේ යෙදෙන විට, XTerm, konzole හෝ gnome-terminal වැනි පර්යන්ත විද්යුත් චලන ක්රමලේඛන භාවිතා කිරීම මගින් ඔබට අන්තර්ක්රියාකාරී වේ.

ඔබ වින්ඩෝස්බොක් හෝ ඩිජෝ හෝ KDE වැනි ඩෙස්ක්ටොප් පරිසරයක් ක්රියාකරන්නේ නම් මෙනුවක හෝ ඩැෂර් එකක් මඟින්, ටර්මිනල් එමේලර් එකක් සොයාගත හැකිය. බොහෝ පද්ධතිවල කෙටිමඟ CTRL ALT සහ T ටර්මිනල් කවුළුව ද විවෘත කරනු ඇත.

විකල්පයක් ලෙස ඔබට විධාන රේඛා ෂෙල් වෙත සෘජු ප්රවේශයක් ලබා දෙන වෙනත් ටයිටි (ටෙලිෆ්රෙරිපි) වෙත මාරු කළ හැකිය. ඔබට මෙය CTRL ALT සහ F1 හෝ CTRL ALT සහ F2 එබිය හැකිය.

ෂෙල් මට්ටම යනු කුමක්ද?

ඔබ shell එකක් ක්රියාත්මක කරන විට එය ෂෙල් මට්ටම ලෙස හඳුන්වයි. ශෙලයක් ඇතුළත ඔබට එය විවෘත කළ හැකි අගයක් හෝ ශෙල් එකක් එය තවත් ශෙලයක් විවෘත කළ හැකිය.

එබැවින් මාපිය ෂෙල් යනු සමහර විට මට්ටම් 1 ෂෙල් එක ලෙස සලකනු ලබන අතර ළදරු ෂෙල් මට්ටමේ 2 අග්රක් විය යුතුය.

ෂෙල් මට්ටම පෙන්වීම සඳහා කෙසේද

ඔබ SHLVL විචල්යය භාවිතා කරමින් ඔබ ක්රියාත්මක වන කවචයේ මට්ටම පෙන්වීමට ඔබට හැකි බව ලිපියේ මාතෘකාව මත පදනම්ව පුදුමයට පත් විය යුතුය.

ඔබ දැනට ක්රියාත්මක වන ෂෙල් මට්ටම බලන්න:

ශෝකය $ SHLVL

ඔබ වඩාත් වැදගත් වන්නේ ඔබ විසින් ඉහත විධානය තට්ටු කවුළුවක ධාවනය කළහොත් ඔබ නැවත පැමිණෙන ප්රතිඵලය 2 ලෙස දැකීමට පුදුම විය හැකිය.

කෙසේ වෙතත් ඔබ TTY භාවිතා කරමින් එකම විධානය ක්රියාත්මක කළහොත් ප්රතිඵලය 1 වේ.

ඔබ මේ ප්රශ්නය අහන්න ඇත්තේ ඇයි? ඔබ ක්රියාත්මක වන ඩෙස්ක්ටොප් පරිසරය shell එකක් මත ක්රියාත්මක වෙමින් පවතී. එම කවචය මට්ටමේ මට්ටම 1. මෙම ඩෙස්ක්ටොප් පරිසරය තුළ ඔබ විසින් විවෘත කරන ඕනෑම තට්ටු කවුළුවක් ඩෙස්ක්ටොප් පරිසරය විවෘත කර ඇති ෂෙල් වෙරළකි. එබැවින් ෂෙල් මට්ටම 2 ට වෙනත් අංකයකින් ආරම්භ කළ නොහැකිය.

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

Subshell නිර්මාණය කරන්නේ කෙසේද

Shells සහ subhells සංකල්පය පරීක්ෂා කිරීම සඳහා ඇති පහසුම ක්රමය පහත සඳහන් පරිදි වේ. ටර්මිනල් කවුළුවක් විවෘත කර පහත සඳහන් ලෙස ටයිප් කරන්න:

ශෝකය $ SHLVL

ටර්මිනල් කවුළුවෙන් අප දන්නා පරිදි අවම ෂෙල් මට්ටම 2 කි.

දැන් ටර්මිනලය තුළ ටයිප් කරන්න:

ෂා

Sh විධානය මඟින් එහි ක්රියාකාරී අක්රිය shell එකක් ක්රියාත්මක කරයි. එයින් අදහස් වන්නේ ඔබ shell එකක් හෝ subshell තුල shell එකක් භාවිතා කරන බවයි.

ඔබ නැවත මෙය ටයිප් කර ඇත්නම්:

ශෝකය $ SHLVL

ෂෙල් මට්ටම් දක්වා ඇති බව ඔබට පෙනෙනු ඇත. උපකෙණය ඇතුළත sh විධානය ක්රියාත්මක කරමින් උපකල්පිතයේ අනුකුලය විවෘත කරනු ඇත, එම නිසා ෂෙල් මට්ටම 4 මට්ටමේ පවතී.

ෂෙල් මට්ටම වැදගත් වන්නේ ඇයි?

ඔබේ පිටපත තුළ විචල්යයන්ගේ විෂය පථය ගැන සිතන විට ෂෙල් මට්ටම වැදගත් වේ.

අපි සරල යමක් ආරම්භ කරමු:

සුනඛයා = maisie
echo $ dog

ඉහත දැක්වෙන විධානය මඟින් shell එකක ක්රියාකරන්නේ නම්, maisie වචනය ටර්මිනල් කවුළුව වෙත පෙන්වනු ඇත.

පහත දැක්වෙන කොටුව මඟින් නව ශෙලයක් විවෘත කරන්න.

ෂා

ඔබ මෙම විධානය ක්රියාත්මක කර ඇත්නම්, කිසිවක් සැබවින්ම ආපසු පැමින නැති බව ඔබට පෙනෙනු ඇත:

echo $ dog

මෙය වන්නේ $ සුනඛ විචල්යය ශෙල් මට්ටමේ පමණක් ලබාගත හැකි බැවිනි. 2. ඔබ subshell exit ට පිටතට එලිදීමෙන් echo $ dog නැවත ක්රියාත්මක කළහොත් නැවත maisie වචනය නැවත දිස්වනු ඇත.

ශෙල් එකක ගෝලීය විචල්යයන්ගේ හැසිරීම ගැනද සිතා බැලීම වටී.

නව ටර්මිනල් කවුළුවකින් ආරම්භ කරන්න සහ පහත සඳහන් ආකාරයෙන් ටයිප් කරන්න:

export dog = maisie
echo $ dog

ඔබ Maisie වචනය ප්රදර්ශනය කරනු ඇතැයි අපේක්ෂා කරනු ඇත. දැන් උපකුලයක් විවෘත කර නැවත echo $ dog නැවත ලියන්න. ඔබ මෙයිස්අයි වචනය අනුලකුණක් වුවත් ඔබ විසින් ප්රදර්ශනය කරනු ඇත.

මෙයට හේතුව වන්නේ අපනයන විධාන මඟින් $ සෝස් විචල්ය ගෝලීයකරණය කිරීමයි. ඔබ අපනයන ආම්පන්නය භාවිතා කරන විට, $ සුනඛ විචල්යය (sub dog) තුල වෙනස් කිරීම එහි මාපිය ෂෙල් වෙඩි මත කිසිදු බලපෑමක් සිදු නොවේ.

ඔබෙන් ලැබෙන ප්රයෝජනාත්මක ප්රතිචාරය මෙය යමක, ඔබ වැඩ කරන ලද ෂෙල් මට්ටම් දැන ගැනීමෙන් සමහරක් අක්ෂර වින්යාසය ලියන විට යම් වැදගත්කමක් තිබේ.

මා ලබා දුන් උදාහරණ ඉතා සරලයි, නමුත් එක් ශෙලික විධානාවලියක් වෙනත් ශෙල් විධානාවලියකට කැඳවුම් කිරීම සඳහා බහුලව දක්නට ලැබීම සාමාන්යයෙන් වෙනම මට්ටම්වල ධාවනය වන තවත් shell පිටපතක් ලෙස හැඳින්වේ. ෂෙල් මට්ටම දැන සිටීම ඉතා වැදගත් විය හැකිය.