Shaakunthala is an undergraduate at University of Colombo School of Computing. A wannabe hacker, FOSS enthuciast and a blogger. He is interested in cyber security and networking. You can find him at www.shaakunthala.com
 

Shell Scripting සිංහලෙන්

03/30/2010 2:56 am By Sameera Shaakunthala | Articles: 10

අප මෙම ලිපි පෙළ තුළින් ඉදිරිපත් කරන්නේ ලිනක්ස් පාරිසරිකය තුළ දී shell script සකස් කර භාවිතයට ගන්නා පිළිබඳවයි. අප මෙහි මෙහි මුල් අදියර diGIT පසුගිය කලාපයෙන් අවසාන කළා. දෙවන අදියරෙහි මුල් කොටස ලෙස අප බලාපොරොත්තු වන්නේ පරිශීලක විසින් ලබා දෙන පරාමිතීන් හා ඒ ආශ්‍රිත කරුණු පිළිබඳවයි.

 

ලිනක්ස් shell එකකට දෙනු ලබන විධානයක් සාමාන්‍යයෙන් පහත ආකාර වෙයි.

        $ command param1 param2 param3 …

$ - ප්‍රේරකය (විධාන සඳහා shell එක සූදානම් බව හැඟවෙන සාමාන්‍ය සලකුණ)
command – විධානය
param1, param2, param3, … - පරාමිතීන්

මෙම පරාමිතීන් මගින් පරිශීලකට අවශ්‍ය පරිදි script එක හෝ ක්‍රමලේඛය ක්‍රියා කරන ආකාරය හැසිරවිය හැකියි. පහත දැක්වෙන උදාහරණ දෙක බලන්න.

 

උදා (1):

$ chmod +x .bashrc
chmod – විධානය
+x, .bashrc – පරාමිතීන්


උදා (2):

$ cat license.txt
cat – විධානය
license.txt – පරාමිතිය

 

මෙම පරාමිතීන් ලිනක්ස් shell එක මගින් ඔබේ ක්‍රමලේඛය/ script එක වෙත යවනු ලබන්නේ එක්තරා ක්‍රමවේදයක් අනුගමනය කරමිනුයි. මෙහිදී $ ලකුණ (එනම් සූදානම් බව හැඟවෙන ප්‍රේරකයට) පසු ඔබ විසින් ලබා දී ඇති පෙළ, 0 සිට ක්‍රමාංකනය කර ගැනීමයි. මෙහිදී එක් පෙළ කොටසක් අනෙකෙන් වෙන් කරනය ලෙස සලකන්නේ හිස්තැන (space) යි. මෙය පැහැදිලිව තේරුම් ගැනීම සඳහා ඉහත පළමු උදාහරණය ගනිමු.

$ chmod +x .bashrc

chmod    → (0)
+x    → (1)
.bashrc    → (2)

එනම්, chmod විධානය තුළදී මෙම ශ්‍රේණිගත අංකනයෙහි 0, chmod යන පාඨයට ලැබෙනවා. එමෙන්ම, 1 හා 2 යන ස්ථාන ලැබෙන්නේ +x හා .bashrc යන පෙළ කොටස් වලටයි.

 

Shell script තුළදී මෙම ශේණිගත පරාමිතීන්, විචල්‍යයන් පාවිච්චි කරන රටාව අනුවම යමින් පාවිච්චි කළ හැකියි. පහත දැක්වෙන්නේ ඒ පිළිබඳ ක්‍රමලේඛණ නීතියි.

  • $0, $1, $2, … යනාදී වශයෙන් ඉහත කී ශ්‍රේණියෙහි ඇති අගයයන් (පාඨයන්) වෙත ප්‍රවේශ විය හැකි ය.
  • $# මගින් $0 හැර ඉතිරි පරාමිතීන් සංඛ්‍යාව ලබා ගත හැකියි.
  • $* මඟින් $0 හැර ඉතිරි පරාමිතීන්, හිස්තැන් වලින් වෙන්වූ තනි පෙළක් ලෙස ලබා ගත හැකියි.

 

මෙය අවබෝධ කර ගැනීමට, අපි සරල script එකක් ලියා අත්හදා බලමු. පහත දැක්වෙන කේතය ලියා කැමැති නමකින් save කරන්න.

#!/bin/bash
echo "You executed " $0
echo "First argument is " $1
echo "Third argument is " $3
echo "All arguments in a single line: " $*
echo "Total number of arguments is " $#

මෙය පහත දැක්වෙන පරිදි පරාමිතීන් කීපයක් සහිතව ක්‍රියාත්මක කරවන්න. (මෙහි scriptname.sh යනු ඔබේ script එක save කරන ලද ගොනු නාමයයි)

$ ./scriptname.sh this is command line processing

පරාමිතීන් භාවිත කිරීමෙන් shell script එක ක්‍රියාත්මක වන ආකාරය විවිධාකාරයෙන් පාලනය කළ හැකියි. එනම්, පරාමිතීන් අපට වෙනස් කළ හැකි නිසා script එක මගින් කරගත හැකි කාර්යයන්හි වපසරිය වැඩියි.

Shell script ලිවීමේදී 'තීරණ ගැනීම' (decision making) පිළිබඳව සාකච්ඡා කිරීමට ප්‍රවේශයක් ලෙස මෙම කලාපයෙන් අපි සාකච්ඡා කළේ විධාන පෙළ පරාමිතීන් භාවිතය පිළිබඳවයි. තීරණ ගැනීමේ ක්‍රමවේදයන් ක්‍රමලේඛණය පිළිබඳව අපි diGIT මීළඟ කලාපයෙන් සාකච්ඡා කරමු.

 

Previous Article

Share/Save
Your rating: None Average: 5 (3 votes)

හොද ලිපියක්

අනිවාර්යයෙන්ම, ඕනෑම විශයක මූලික කරුණු/සිද්ධාන්ත හරි හැටි අවබෝධ කර ගැනීම ඉතා වැදගත්.

Post new comment