ෂෙල් (මෘදුකාංග)

**ෂෙල්** යනුවෙන් අදහස් වන්නේ මෙහෙයුම් පද්ධතියෙ පරිශීලකයන්හට kernel වෙත ප්‍රවේශ වීමට අතුරු මුහුණතක් ලබාදෙන මෘදුකාංගයකි. එසේ වුවත් යම් උපාංගයක් වටා පවතින්නා වූ නියැලුම් හැඳින්වීම සඳහාද මෙම වචනය කලාතුරකින් භාවිතා වනවා. උදාහරණයක් ලෙස වෙබ් බ්‍රව්සර සහ email client මෘදුකාංග HTML ප්‍රචාලන යන්ත්‍ර සඳහා Shell විදිහට හඳුන්වන්න පුළුවන්. ෂෙල් (පොත්ත) යන නාමය හටගන්නේ මෙහෙයම් පද්ධතියේ හරය (Kernel) සහ පරිශීලකයා අතර අතුරුමුහුණතේ පිටත තට්ටුව වීම නිසායි.

මෙහෙයම් පද්ධතීන්හි shells ප්‍රධාන වශයෙන් කාණ්ඩ දෙකක් යටතට වර්ග කෙරෙනවා,ඒ අකුරුමය විධාන සහිත අතුරුමුහුණත් හා චිත්‍රමය අතුරුමුහුණත් ලෙස. අකුරුමය විධාන සහිත අතුරුමුහුණත් අකුරු හා වචන ලෙස විධාන ලබාදිය හැකි අතුරුමුහුණතක්(CLI) ලබා දෙන අතර චිත්‍රමය අතුරුමුහුණත් චිත්‍රමය දේ සහිත අතුරුමුහුණත් (GUI) ලබා දෙනවා. මේ කුමන අතුරුමුහුණතෙන් වුවත් කරන්නේ තවත් වැඩසටහනත් ක්‍රියාත්මක කිරීමයි. එසේවුවත් shells වලට ගොනුවල අන්තර්ගතය දර්ශනය කිරීම වැනි අමතර හැකියාවන් තිබෙනවා.

CLI සහ GUI shells වල සාපේක්ෂ හැකියාවන් ගැන බොහෝ විවාද පවතිනවා. CLI යෝජනා කරන්නන් කියා සිටින්නේ CLI හිදී යම් යම් කාර්යන් GUI හිදීට වඩා බොහෝ වේගයෙන් කරගත හැකි බවයි(උදා. ගොනු වෙනත් තැනකට පිටපත් කිරීම, සම්පූර්ණයෙන් ගෙනයාම). GUI යෝජනා කරන්නන් කියා සිටින්නේ සාපේක්ෂව GUI හිදී සරල බව හා පාවිච්චි කිරීමේ පහසු බව වැඩි බවයි. මෙයින් වඩා හොඳ තෝරාගැනීම කුමද්ද යන්න පරිගනකය කුමන අරමුණක් සඳහා භාවිතා කරන්නේද යන්න මත රඳා පවතිනවා. Server පරිගනක වල එහි නිපුන පාලකවරුන් (administrator) විසින් භාවිතා කරන විට CLI වඩා හොඳම තෝරා ගැනීම වෙනවා. නමුත් පින්තූර සහ වීඩියෝ සංස්කරණය කරන්නන්ට GUI වඩා හොඳ තෝරාගැනීම බවට පත්වෙනවා.

## ඉතිහාසය
මල්ටික්ස් ශේල් එකට පසුව තනන ලද කෙන් තොම්සන්ගේ(Ken Thompson) "sh" නැමති පළමු Unix shell එක එය විසින්ම සැදු RUNCOM  වැඩසටහනට පසුව Louis Pouzin මල්ටික්ස් කණ්ඩායමට පෙන්වන ලදි. Bourne shell යනු පළමු unix shell එකෙන් පැවත එන්නකි.. එනිසා .rc දිගුව (extension) තවමත් ස්ථාපිත ලේඛන සඳහා භාවිතා කරයි.

ප්‍රයොගිකව ගත්කල සියළුම නවතම මෙහෙයුම් පද්ධතින්හි interactive හා batch mode යන දෙ ආකාර සදහා භාවිතා කලහැක. Batch mode යන්න භාවිතා කරන shells සාමාන්‍යයෙන් shell වල සැලැස්ම, කොන්දේසි, විචල්‍යය සහා පරිඝනක භාශාවේ අනිකුත් අංග සඳහා මැදිහත් වේ; සමහරක් වැඩසටහන් භාශා එවනි අරමුනු තියන අතර අනික් භාශා එවයින් සැහිමකට  පත් නොවේ.  විලොමවශයෙන් ගත්කල සමහරක් වැඩසටහන් භාශා මෙහෙයුම් පද්ධතීන්හි shell සඳහා එකිනෙකට බලපාන අකාරයට යොදාගත හැක.

## අකුරුමය(CLI) shells 
### Unix shells 
සැළකිය යුතු ඓතිහාසික හෝ ජනප්‍රිය Unix shell අඩංගුය:
* Bourne shell (sh)
** Almquist shell (ash) 
*** Debian Almquist shell (dash) 
** Bourne-Again shell (bash)
** Korn shell (ksh)
** Z shell (zsh) 
* C shell (csh)
** TENEX C shell (tcsh)
* EMACS shell (eshell) 
* Es shell (es)
* esh (Unix) – පහසු Shell
* අන්තර් වශයෙන් එකිනෙකට සබැඳි shell (fish) 
* rc shell (rc) – බෙල් ලැබ් සහා Unix වල සැලසුම් 9 සඳහා වු shell .
* scsh (උපක්‍රමිත Shell)
* හුදකලා වු Shell (sash)
* BeanShell
* rsh -බොහෝ පද්ධති වල  remote shell තිබෙනවා , සමහරක් පද්ධති වලදි එය  Restricted shell ලෙසත් හදුන්වන්න පුළුවන්.
* tclsh (අකුරුමය විධාන සහිත අතුරුමුහුණත්) සහා wish (චිත්‍රමය දේ සහිත අතුරුමුහුණත්), මෙම shells Tcl සහා Tcl/Tk යන පරිඝණක භාශා ක්‍රියත්මක කිරිමේදි සපයනු ලැබේ -- සමහර ක්‍රියත්මක කිරිම් වලදි shell එකෙහි සංස්කරණ අංකය එක් කරනු ලැබේ, උදා tclsh83 හෝ tcl83sh.    
* psh -Perl භාශාව පාදක කරගත් මෙම shell මඟින් සාමාන්‍ය අභිමථාර්ත ඉටුකරගත හැක.  ysh යනු  තවත් Perl භාශාව පාදක කරගත් shell එකක් වන අතර එය YAML පරික්ශක shell එකකි. 
* smrsh - සීමිත shell, Unix sendmail වැඩසටහන සඳහා භාවිතයට ගනී.
* sqsh -සමහරක් පරිඝණක දත්ත ගබඩා (database) කුවරි සහා වෙනත් කටයුතු සඳහා SQL ක්‍රියාත්මක කිරිමේදි මෙම shell යොදාගතහැක.
### Unix නොවන shells 
* 4DOS, 4OS2, 4NT – JP මෘදුකාංග මගින් ලියනලද සහා විකුණන ලද DOS, OS/2, සහා Windows NT සඳහා වු shell කි. command.com  වගේ වු විධාන පද්ධතින් සඳහා නම්‍ය වු චිත්‍රමය අතුරුමුහුණතක් අවශ්‍ය වේ, 4DOS ට Windows NT ආකාරයේ පද්ධතින් මත ක්‍රියාත්මක විය හැක 

* BASIC-PLUS – RSTS/E
* Beemos (BEEMos) – windows XP මත වෙනම ක්‍රියාත්මක වන මෙහෙයුම් පද්ධතියක් සේය
* CANDE MCS – MCP මෙහෙයුම් පද්ධතිය මත CLI shell එකක් හා පද වෙනස් කරනයක් (Text Editor) වශයෙන්ද හැසිරේ.
* cmd.exe – CMD.exe යනු OS/2 හි ප්‍රධාන shell යි. Windows CE හා Windows NT පාදක කරගත් මෙහෙයුම් පද්ධතියකි. නමින් සමාන වුවද සැලකිය යුතු වෙනසක් ඇත.  
* DROS – ස්මාර්ට් දුරකතන සඳහා වු ජාවා ME පරිසරයක් මුලික කරගත් shell කි.
* EFI-SHELL – මුලාශ්‍ර විවෘත Extensible Firmware Interface(අතුරුමුහුනතකි).
* Google Shell – Browser පදක කරගත් සඳහා Google Search වු ඉදිරිපසකි.
* iSeries QSHELL – IBM OS/400 වල Unix ආකරයේ shell කි. 
* Macintosh Programmer's Workshop – පැරණි MAC මෙහෙයුම් පද්ධති වල මෘදුකාංග නිපදවිමේදි භාවිතා කල හැකි පැරණි විධාන පමණක් ලබාදිය හැකි පරිසරයකි.
* Microsoft BASIC – පැරණි 8 බිට් පරිඝණක පද්ධති සඳහා ප්‍රථමික මෙහෙයුම් පරිසරයකි 
* NDOS -- provided with some versions of the Norton Utilities for DOS along with a set of batch enhancers, this is a lightly modified version 4DOS.
* Rexx – IBMලගේ පිටපත් භාෂාවකි
* Singularity shell –අසාමාන්‍යතාවය සඳහා සම්මත shell කි.
* Windows PowerShell – cmd.exe හි object-oriented අනුප්‍රප්තිකයාය (පෙර Monad හෝ  Microsoft Shell (MSH) ලෙස හඳුන්වා ඇත)
* වින්ඩොව්ස් ප්‍රතිසම්පාදක කොන්සොලය – Windows 2000, Windows XP and Windows 2003 මෙහෙයුම් පද්ධති සදහා
* YouShell – JavaScript පාදක කරගත් YouOS වන විධාන සකසනය සඳහා.
### ක්‍රමලේඛන භාශා සඳහා Shells  
සැලකිය යුතු එකිනෙකට අන්තර්වශයෙන් බලපාන  පරිඝනක භාශා සංස්කරණයන් සඳහා අන්තර්ගතය:
* The Read-eval-print loop සමාන්‍යයෙන් ඇදිලා තිබුනේ Lisp සමඟය, නමුත් අනිකුත් පරිඝනක භාශා සඳහාද යොදාගත හැක. උදාහරණයක් ලෙස Lisp සඳහා SLIME.
* BeanShell – ජාවා සඳහා වු shell
* Firebug (Chromebug) – JavaScript shell. Firefox pluginක නිදොස් කිරිමේ පරිසරයක් ලෙසත් හැසිරේ
* GMLCMD – GML Shell
* එකිනෙකට බලපාන Ruby Shell – එකිනෙකට බලපාන Rubyහි සංස්කරණයකි.
* PHPsh – PHP සඳහා වු shell
* Tcl/Tk සඳහා වු Wish (GUI) and tclsh (CLI) 
### අනිකුත් මෘදුකාංග සඳහා Shells 
ටෙල්නෙට් , අනිකුත් සන්නිවේදන මෙවලම් සහා වෙනත් ආකාරයේ මෘදුකාංග ක්‍රියාත්මක කිරිමේදි interactive සහා batch ආකාරයේ shell තියෙන්න පුළුවන්.
## චිත්‍රමය (GUI) shells 
### On Microsoft Windows 
Microsoft Windows නවතම සංස්කරණ මෙහෙයුම් පද්ධතිය ඔවුන්ගේ shell එක ලෙස Windows Shell භාවිතා කරයි. මෙමඟින් ගවේශකයාට කුළුපඟ පරිඝණක මුහුණත් පරිසරයක් ( desktop environment), start menu සහා task bar ලබාදෙන අතරම මෙහෙයුම් පද්ධතියේ ලේඛන කලමනාකරණයද ක්‍රියාත්මක වේ.පරණ සංස්කරණයන්හි පවාද  Program Manager (progman.exe) අඩංගු  වී ඇත. වින්ඩොව්ස් සංස්කරණ 1, 2 හි අතුරුමුහුණත් එකිනෙකට වෙනස් හාත්පසින්ම වෙනස්ය.
### X වින්ඩොස් පද්ධතියක් තුල 
Graphical (GUI) shells චිත්‍රමය(GUI) shells  බොහොවශයෙන් නිර්මාණය වි ඇත්තේ වින්ඩොස් පද්ධතිය මතය.යම්කිසි හිතුවක් කරණකොටගෙන X වින්ඩොස් පද්ධතිය මත  X window managers සහා  X window managers මත රඳාපවතින ඩෙස්ක්ටොප් පරිසරයක්ද නිදහසේ පවති. 

X වින්ඩොස් පද්ධතියේ පරිසරය (ප්‍රධාන වශයෙන් Unix ආකාරයේ මෙහෙයුම් පද්ධති සඳහා):
* Blackbox සහා Fluxbox වගේ  නිදහස් X window managers
* Enlightenment DR17 වගේ ඩෙස්ක්ටොප් shells
* සම්පුර්ණ ඩෙස්ක්ටොප් පරිසරයක්, හරියට:
** CDE
** GNOME
** KDE
** Xfce
** LXDE වගේ  

### වෙනත් පරිඝණක පරිසරයක් තුල 
* Amiga පරිසරය තුල:
**Ambient (Morph මෙහෙයුම් පද්ධතිය සඳහා )
**Directory Opus
**Scal මෙහෙයුම් පද්ධතිය
**Wanderer (for AROS)
**Workbench

* DOS Shell
* Finder (for Mac X මෙහෙයුම් පද්ධතිය)
* Doors CS, Mirage මෙහෙයුම් පද්ධතිය, Ion, සහා Crunchy මෙහෙයුම් පද්ධතිය ( TI-83 සහා TI-84 යන ප්‍රස්ථාරික ගණිනයන්ත්‍ර පෙළ සඳහා)
* OS/2 පරිසරය:
**Presentation Manager (OS/2 1.1 සිට ඉහලට ඇති සංස්කරණ සහා eComStation සඳහා)
** Workplace Shell (OS/2 2.0  සිට ඉහලට ඇති සංස්කරණ සහා eComStation සඳහා)

## නිර්දේශනය 
## ඉට අමතරව 
* Batch file
* පරිඝණක shells සැසඳුම
* DOS Shell
* අන්තර්ජාල ගවේශක shell
* Shell ගිණුම
* Shell builtin
* Shell script
* Unix shell

## මූලාශ්‍ර