විචල්‍යය අර්ථදැක්වීමේදි පිළිපැදිය යුතු නීතී සහ රීතී.

  1. විචල්‍යය නමක අක්ෂර, ඉලක්කම් සහ සංකේත යන මේ 3න් වර්ගයම අඩංගු විය හැකි නමුත් එම විචල්‍යය නම ආරම්භ කල යුත්තේ අක්ෂරයකින් හෝ _ සංකේතයකින් පමණි.
    උදාහරණ ලෙස පහත තිබෙන්නේ වලංගු විචල්‍යය නම් කිහිපයකි.
    HOME
    var1
    var_2
    _num
  2. විචල්‍යය නමකට space හෝ *, ? සංකේත භාවිත කල නොහැක. එම නිසා විචල්‍යය නම් කිරීමේදී ඒවා භාවිතා කිරීමෙන් වැළකෙන්න.
  3. සමාන ලකුණෙන් එක පැත්තකට හෝ දෙපැත්තටම space යෙදීමෙන් වළකින්න.
    $ no =10
    $ no= 10
    $ no = 10
    ඉහත දක්වා ඇති සියළුම විචල්‍යය නම් කිරීම් වලංගු නොවන අතර නිවැරදි නම් කිරීම වනුයේ,
    $ no=10
  4. විචල්‍යය case-sensitive වේ. පහත දක්වා ඇති විචල්‍යය එකිනෙකට වෙනස් වේ.
    $ no=10
    $ No=11
    $ NO=20
    $ nO=2
  5. විචල්‍යයක අගය NULL වන ආකාරයට කරගැනීමට අවශ්‍යය නම් ඒ සඳහා පහත සඳහන් ක්‍රමය භාවිතා කල හැකිය.
    $ var=
    $ var=""


විචල්‍යය අර්ථදක්වන ආකාරය පිළිබඳව මූලික අවබෝධයක් ඔබට ලැබෙන්නට ඇති. මීළඟට අපි බලමු කොහොමද අපි මේ විචල්‍යය අපගේ shell scripting වලට යොදාගන්නේ කියලා.

 විචල්‍යය. || විචල්‍යය භාවිතය.

Shell Scripting #2.1 - විචල්‍යය - Variables.

පසුගිය ලිපිය තුලින් shell scripting ගැන මූලික අදහසක් ලැබෙන්නට ඇති කියලා විශ්වාස කරනවා. ඇත්තටම බැලුවම මේ shell scripting කියන්නෙත් programming කරනවා වගේ වැඩක් තමා. අපි දන්නවා programming වලදි අපිට variables එහෙමත් නැත්තම් විචල්‍යය භාවිතා කිරීමට සිදු වෙනවා. අපි අද කථා කරන්න යන්නේ shell scripting වලදි විචල්‍යය භාවිතා කරන්නේ කොහොමද කියලා.
මුලිකවම shell scripting වලදි භාවිතා කරන විචල්‍යය වර්ග 2ක් තියෙනවා.

  1. System Variables (SV) - මේවා ලිනක්ස් පද්ධතිය මඟින් නිර්මාණය කර, ලිනක්ස් පද්ධතිය තුලම භාවිතා වෙන විචල්‍යය වර්ගයයි. මේවා Upper-case letters මඟින් නම් කර තිබෙනවා. පහත දක්වා ඇත්තේ බහුලව භාවිතා කරන කිහිපයක්.

  2. විචල්‍යය අර්ථය
    BASH
    භාවිතා කරන shell එකේ නම.
    BASH_VERSION භාවිතා කරන shell එකේ version එක.
    COLUMNS Screen එකේ පෙන්නන column ගණන.
    HOME පද්ධතියේ Home ඩිරෙක්ටරයේ path එක.
    LINES Screen එකේ පෙන්නන line ගණන.
    LOGNAME පද්ධතියේ logging name එක.
    OSTYPE පද්ධතියේ os type එක.
    PATH
    පද්ධතියේ path සැකසුම.
    PS1 පද්ධතියේ prompt සැකසුම.
    PWD
    දැනට වැඩ කරන ඩිරෙක්ටරයේ path එක.
    SHELL භාවිතා කරන shell එකේ නම.
    USERNAME
    දැන් පද්ධතියට log වී සිටින පරිශීලකයාගේ නම.

    මේ විචල්‍යය වල තිබෙන අගයන් දැන ගැනීමට අවශ්‍යය නම් ඔබට තිබෙන්නේ සරළවම echo විධානය භාවිතා කිරීම පමණී. උදාහරණයක් ලෙස ඔබට මේ වන විට පද්ධතියට log වී සිටින පරිශීලකයා දැන ගැනීමට අවශ්‍යය නම්,
    $echo $USERNAME
    යනුවෙන් විධාන කර බලන්න. ඒ වගේ ඉහත සඳහන් කරලා තියෙන සියළු විධාන echo  විධානය යටතේ ක්‍රියාත්මක කරලා බලන්න.
    $echo $HOME
    $echo $SHELL
    $echo $PATH

    අපිට මේ system variables  පවා වෙනස් කිරීමේ හැකියාව ලිනක්ස් පද්ධතියක් මඟින් ලබා දෙනවා. නමුත් SV වෙනස් කිරීම පිළිබඳව ඔබට අත්දැකීමක් නොමැති නම් ඉන් වළකින එක වඩා හොඳයි. මොකද SV වෙනස් වීම තුලින් පද්ධතිය අකර්මන්‍යය විය හැකියි.

  3. User Defined Variables (UDV) - පරිශීලක විසින් අර්ථ දක්වන විචල්‍යය. එනම් භාවිතා කරන්නාගේ ප්‍රයෝජනය සඳහා අර්ථ දක්වනු ලබන විචල්‍යය. Shell scripting වලදි බහුලවම භාවිතා කරන විචල්‍යය වර්ගය තමා මේ UDV.
    උදාහරණයක් විදිහට අපි හිතමු අපිට අගය 2ක් වන number කියලා විචල්‍යයක් define කරගන්න අවශ්‍යයි කියලා. එවිට කරන්න තියෙන්නෙ ඉතාමත් සරළව,
    number=2
    කියලා UDV එකක් define කරන එක විතරයි.


කෙසේ වෙතත් මෙසේ මෙම විච්ල්‍යය භාවිතා කිරීමේදි දැනගත යුතු නීති රීති කිහිපයක් තියෙනවා. ඒවා පිළිබඳවත්, මෙම විචල්‍යය අපගේ shell scripting වලට යොදාගන්නා ආකාරය පිළිබඳවත් අපි මීළඟ ලිපියෙන් සාකච්ඡා කරමු.


Shell Scripting #1 - හැඳින්වීම

හොඳයි, පහුගිය ලිපියෙන් කථා කරා වගේ අපි මෙතැන් සිට Shell Scripting ඉගෙන ගන්නයි යන්නේ. ඒ සඳහා ආරම්භයක් විදිහට අපි මුලින්ම මේ Shell එක කියන්නේ මොකද්ද කියලා කථා කරමු.
අපි හැමෝම දන්නවා පරිගණකයේ භාෂාව 0 සහ 1 කියලා, ඒ කියන්නේ යන්ත්‍ර භාෂාව කියලා හඳුන්වන මෙම පරිගණකයට තේරෙන භාෂාවෙන් අපිට වැඩ කරන්න සෑහෙන්න අමාරුයි. ඒ නිසා පරිගණක තාක්ෂණය දියුණු වෙන මුල් කාලයේ මිනිසුන්ට තේරුම් ගන්න පුලුවන් ආකාරයට විධාන ලබාදෙන්නත්, එම විධාන පරිගණකයට තේරුම්ගත හැකි ආකාරයට පරිවර්ථනය කරන්න පුලුවන් මෙවලමක් අවශ්‍යය වුනා. Shell එක බිහිවුනේ මෙම අවශ්‍යයතාවය ඉටු කිරීමටයි.
Shell එක කියලා කියන්නේ පරිශීලක වැඩසටහනක් (user program), එය විධාන ක්‍රියාත්මක කිරීමට හැකියාව ඇති කර්නලයේ කොටසක් නොවන වැඩසටහනක්. නමුත් එය කර්නලය පාවිච්චි කරනවා විධාන ක්‍රියාත්මක කිරීමට සහ ෆයිල් සමඟ ගනුදෙනු කිරීමට. කෙටියෙන් කියනවා නම් Shell එක යනු කර්නලය හා පරිශිලකයා අතර ඇති Interface එකක් වැනි දෙයක්.

Shell Script ඉගෙනගමු.

පහුගිය මාස කිහිපයේ අධ්‍යාපන කටයුතු සමඟ තිබුන කාර්‍යබහුලත්වය නිසා ලිපි පළකිරීමට නොහැකිවීම සම්බන්ධයෙන් මුලින්ම සමාව ඉල්ලා සිටිනවා.
මේ බ්ලොග් එකේ ලිපි පෙළ අනුගමනය කිරීමෙන් ඔබට දැන් ලිනක්ස් පද්ධතිය සමීප වන්නට ඇතැයි සිතමි.

 හොඳයි, එහෙනම් අද පටන් ලිනක්ස් පද්ධතිවල නිරන්තරයෙන් භාවිතා කරන shell scripting  ගැන ඉගෙන ගන්න පටන් ගමු.
මෙම පාඩම් මාලාව පහත පරිදි කොටස් කිහිපයකින් සාකච්ඡා කිරීමට බලාපොරොත්තු වෙමි.

  1. හැඳින්විම - Introduction.
  2. විචල්‍ය භාවිතය - Variables.
  3. ගණිත කර්ම භාවිතය - Shell Arithmatics.
  4. විධාන භාවිතය - Command Line Processing.
  5. තීරණ යෙදීම් භාවිතය - Decision making.
  6. for, while loop භාවිතය - Control Flow.
  7. Case Statement.
  8. Advanced Shell Scripting.
මෙම පාඩම් මාලාව මූලිකවම කොටස් 8කින් සහ ඒ ඒ කොටස් වලට අදාල අනු කොටස් තුලින් විස්තාරත්මකව සාකාච්ඡා කිරීම ඉදිරි සති කිහිපය තුල සිදු කිරීමට බලාපොරොත්තු වෙමි.
 ලිනක්ස් සිංහලෙන් සමඟ මෙතුවක් රැඳී සිටියාට ස්තූතිවන්ත වෙන අතර, ඔබගේ ප්‍රතිචාර සහ අදහස් බලාපොරොත්තු වෙමි.

දැනුම්දීම
ලිනක්ස් කථා බහ හෙවත් Forum එක Linux Lanka Forum එක තුලට ගෙනයන ලදි, එකම ප්‍රශ්න ගැන තැන් තැන් වල කථා කරනවාට වඩා එකම තැනක කථා කිරීම සියල්ලන්ටම වඩා ප්‍රයෝජනවත් වේ. ඔබගේ ගැටළු එම ෆෝරමයට හෝ udsubodhana@gmail.com ලිපිනයට යොමු කරන්න.

ටර්මිනල් එක භාවිටතයෙන් වැඩ කිරීමේදී මෙන්ම ලිනක්ස් සමඟ වැඩ කිරීමේදී නිරන්තරයෙන් උපකාරී වන පුංචි පුංචි දේවල් ටිකක් ගැන තමා අද අපි කථා කරන්න යන්නේ.

ෆයිල්ස් වල අවසර තත්වයන් හා හිමිකාරීත්වය ගැන කථා කරපු ලිපි පෙලේ අන්තිම ලිපිය තමයි මේක. මෙච්චර දවසක් අපි කථා කරේ ෆයිල්ස් වල අවසර තත්වය පිළිබඳවයි, අද අපි කථා කරන්න යන්නේ ෆයිල්ස් වල හිමිකාරීත්වය ගැන.
ෆයිල්ස් වල හිමිකාරිත්වය වෙනස් කිරීම සම්බන්ධයෙන් කථා කරන විට මුලින්ම දැන ගන්න ඕනේ අපි හිමිකාරිත්වය වෙනස් කරන ෆයිල්ස් වල හිමිකාරීත්වය තිබෙන්නේ කාටද කියලා. මොකද අපිට වෙනස් කරන්න පුලුවන් අපිට අයිති/හිමි ෆයිල්ස් පමණයි. එහෙම නැත්තම අපි මේ විධාන භාවිතා කරද්දි රූට් හෙවත් සුපිරි පරිශිලකයා වීම අත්‍යාවශ්‍යයි.
අපිට මේ සඳහා chown හා chgrp යන විධාන 2ක භාවිතා කිරීමට පුළුවනි.

ලිනක්ස් පද්ධතියක භාවිතා කරන ෆයිල් පර්මිෂන් ගැන හා ඒවා පරීක්ෂා කරන ආකාරය පිළිබඳව අපි කලින් ලිපි දෙකින් සාකච්ඡා කලා. අද අපි අපේ පද්ධතියේ තියෙන ෆයිල් වල අවසර තත්වයන් වෙනස් කරන ආකාරය විස්තරාත්මකව සාකච්ඡා කරමු. මෙම පාඩමේ මුල්ම ලිපියෙන් සාකච්ඡා කල පරිදි මෙම අවසර සැකසීම භාවිතා කරන පාර්ශව තුනටම අදාලව සාකච්ඡා කල යුතුය.

මුලින්ම අපි යම් කිසි ෆයිල් එකකට අලුතින් අවසර තත්වයක් ලබා දීම හෝ තිබෙන අවසර තත්වයක් ඉවත් කිරීම කරන්න පුළුවන් සරළම ආකාරය පිළිබඳව සාකච්ඡා කරමු.
මේ සඳහා භාවිතා කරන්නේ chmod (change mode)කියන විධානයයි. දැන් අපි බලමු මේ විධානය භාවිතා කරලා කොහොමද අවසර තත්වයන් වෙනස් කරගන්නේ කියලා.

  1. අවසර තත්වයක් එකතු කිරීම.
    $ chmod +Permisson_Type filename
     මෙහි Permisson_Type කියලා සඳහන් වන්නේ ලබාදෙන අවසර තත්වයයි. ඔබට මතක ඇති අපි භාවිතා කරන අවසර තත්ව.
            r   = read permission කියවීමට ඇති අවසරය.
            w = write permission ලිවීමට (වෙනස් කිරීමට ඇති අවසරය.)
            x  = execute permission ක්‍රියාත්මක කිරීමට ඇති අවසරය.
     එනම් ඉහත සඳහන් අවසර තත්වයක් අවශ්‍යය ෆයිල් එකේ නම ඉදිරියෙන් ටයිප් කර එම අවසර තත්වය අදාල ෆයිල්  එකට ලබාදිය හැකිය.
    උදාහරණයක් විදිහට foo කියන ෆයිල් එකට ක්‍රියාත්මක කිරීමේ අවසරය ලබාදෙන්න අවශ්‍යයි කියලා හිතන්න. ඒ සඳහා විධානය වන්නේ,
    $ chmod +x foo
  2. අවසර තත්වයක් ඉවත් කිරීම.
    අවසර තත්වයක් ඉවත් කිරීම සඳහා කල යුත්තේ ඉහත විධානයේ ධන ලකුණ (+) වෙනුවට සෘණ ලකුණ (-) යෙදීම පමණී.
    උදාහරණයක් විදිහට foo ෆයිල් එකේ ක්‍රියාත්මක කිරීමට ඇති අවසරය ඉවත් කිරීමට භාවිතා කල යුත්තේ පහට විධානයයි.
    $ chmod -x foo
    මේ විදිහට බොහෝ ෆයිල්ස් වලට අවසර තත්වයන් එකතු කරන්නටත්, තිබෙන අවසර තත්වයක් ඉවත් කිරීමටත් පුලුවන්. අභ්‍යාසයක් විදිහට ටර්මිනල් එකක් ගෙන විවිධ ආකාරයේ ෆයිල් නිර්මාණය කර ඒවායේ අවසර තත්වයන් වෙනස් කර බලන්න. වෙනස් කල පසු ls -l විධානය භාවිතා කර වෙනස් කම පරීක්ෂා කරන්න.
සටහන: මෙම ක්‍රමයේදී අවසර තත්වයන් වෙනස් වන්නේ එම මොහොතේ පද්ධතිය භාවිතා කරන පරිශීලකයාට අයත් අවසර තත්වයන් පමණී. පාර්ශව 3 ටම අදාලව අවසර තත්වයන් වෙනස් කරන ආකාරය ගැන විස්තරාත්මකව පහත සාකච්ඡා කර ඇත.

 පසුගිය ලිපියෙන් මේ අවසර තත්ව හා හිමිකාරිත්වය එහෙමත් නැත්තම් permissions ගැන මූලික වැටහීමක් ලැබෙන්න ඇතිනේ. අද අපි සාකච්ඡා කරන්න යන්නේ එම පාඩමේ දෙවන කොටස. අපි අද බලමු අපේ පද්ධතියේ තියෙන ෆයිල්ස් වල මෙම අවසර තත්ව හා හිමිකාරීත්වය පරීක්ෂා කරන හැටි හා ඒවා වෙනස් කරන්නේ කොහොමද කියලා.

අවසර තත්වයන් පරික්ෂා කරමු.

Linux සිංහලෙන්

ලිනක්ස් ගැන ඉගෙනගන්න ආසාවෙන් ඉන්න අයට සිංහලෙන් අත් වැල.

උබුන්ටු ලෝකයේ අළුත්ම ලිපි...

මූණු පොතේ අපි..

සින්ඩි...

සිංහල බ්ලොග් කියවනය

-------------------------

------------------------

Geek.lk

------------------------

lankeeya sithuwili

------------------------

පෝෂක ලබාගන්න