ඔන්න තොවිලෙ 12 වෙනි කොටස. දැන් තමයි හොඳ හොඳ නර්තන බලාගන්න පුළුවන්. දැන් මෙච්චර දුර ආව ආතුරයෙක්ගෙ බය දුරු වෙලා තියෙන්න ඕන අනිවාර්යයෙන්. හොඳයි, අපි තවදුරටත් ඉගෙනගනිමු. එහෙනම් පසුගිය පාඩමෙන් පොරොන්දු වුණ ඉතිරිය, Arithmetic Expressions වලින් පටන්ගනිමු.
Arithmetic Expressions
Arithmetic Expressions කියන්නෙ ගණිතමය ප්රකාශනය කියන එකනෙ. Arithmetic Expressions කරන්න Bash Shell එකේ නිකන් බෑ, ඒකට ක්රම තියෙනවා.
අපි උදාහරණයක් ගනිමු.
num=3
echo $num + 2
Shell Script එකක මේක ලියලා Run කළොත් අපිට හිතෙන්නෙ මේකට 5 ඒවි කියලානෙ. හැබැයි ඒක එහෙම නෑ. අපි ස්ක්රිප්ට් එකකට නොයා නිකන් terminal එකේ ගහලා බලමුකො.
ඔන්න ඔහොමයි වෙන්නෙ. අපිට මේකෙන් එකතු කිරීමක් බලාගන්න බැරි වුණා. අපි ඒ නිසා expr utility එකේ උදව් ලබා ගනිමු.
දැන් හරිනෙ, ඔන්න උත්තරේ ඇවිල්ලා. අපි ඊළඟට බලමු අපිට මෙහෙම කරන්න පුළුවන් ගණිතකර්ම මොනාද කියලා.
මේ වගුවේ මූලික ගණිතකර්ම ටික හොඳට practice කරන්න. දැන් variables ගැනත් දැණුවත් නිසා, විවිධ variables භාවිතා කරමින් විවිධ ගණිතකර්ම පරීක්ෂා කරලා පුහුණුව ලබාගන්න.
මතක තියාගන්න, වරහන් භාවිතා කරලා ගණිතකර්ම වල පිළිවෙල වෙනස් කරන්න පුළුවන්. මතකනෙ වන්බෙගුධරි නොහොත් BODMAS ක්රමය. මූලිකම ගණිතය.
echo `expr ( 2 + 3 ) * 5`
නිතරම තනිව පුහුණු වෙන්න. එතකොට තමයි ප්රවීණයෙක් වෙන්න පුළුවන්. අනෙක් ඔපරේටර්ස් ගැන අපි ඉදිරියෙදි කතා කරමු. දැනට මේ ටික හොඳින් මතක තියාගන්න.
Interactive shell scripts
අපි දැන් බලමු bash script එකකින් කොහොමද user input එකක් ගන්නෙ කියලා.
මේකට අපි පාවිච්චි කරන්නෙ read කියන කමාන්ඩ් එක.
Read command එකෙන් user ඇතුළත් කරන දේ variable එකකට save කරගන්න පුළුවන්. අපි උදාහරණයක් අරන් පැහැදිලි කරගනිමු.
echo “Enter your username: ”
read username
echo “You have successfully logged in $username!”
මෙන්න මගේ script එක.
මෙන්න මම script එක run කරවලා output එක ගත්ත විදිය.
echo command
echo කමාන්ඩ් එක ගැන නම් දැන් මට වඩා ඔයාලා දන්නවනෙ. හැබැයි, මේ කමාන්ඩ් එකෙන් තව වැඩ ටිකක් ගන්න පුළුවන්.
ඒවායින් ටිකක් අපි දැන් ඉගෙනගනිමු. මේවට අපි කියනවා escape sequences කියලා. මේවා භාවිතා කරන්න නම් -e
කියන formatting option එක පාවිච්චි කරන්න වෙනවා.
\t
- tab space එකක් print කරගන්න පුළුවන්
\n
- අලුත් ලයින් එකකට cursor එක යවන්න පුළුවන්
\c
- මේකෙන් පිටිපස්සෙ තියෙන ටික මඟහරින්න පුළුවන්.
මම මේ ටික run කළේ මෙන්න මෙහෙමයි.
Script එක Run වෙන්න කලින්ම inputs ලබාගන්නෙ මෙහෙමයි.
Script එකේ නම මෙන්න මෙහෙම /.scriptname ටයිප් කරලා අපි script එක run කරවන අවස්ථාවේදීම අපිට පුළුවන් මේ script එකට අවශ්ය inputs ලබාදෙන්න. ඒ inputs පිළිවෙලින් ලබාගැනීමේ ක්රමවේදයක් bash scripting වල තියෙනවා.
අපි උදාහරණයක් ගනිමු.
මෙන්න මේ script එක මම run කරවනවා මෙන්න මේ විදියට, මේ inputs නොහොත් positional parameters එක්ක.
Output එක අධ්යනය කළොත් ඔයාට වැටහේවි.
$0
කියන variable එකෙන් දැක්වෙන්නෙ script file එකේ නම.$1,$2,$3
විදියට ගන්න variables වලින් දැක්වෙන්නේ පිළිවෙලින් ඔයා ඇතුළත් කරන inputs නොහොත් positional parameters.$#
එකෙන් පෙන්වන්නෙ ඔයා ඇතුළත් කරපු inputs ගණන.$*
සහ$@
දෙකෙන්ම ඔයා ඇතුළත් කරපු arguments list එක පෙන්වනවා. මේ දෙකේ වෙනස තමයි, $* එකෙන් ඔයා ඇතුළත් කරන positional parameters ගන්නෙ තනි වාක්යයක් විදියට. නමුත් $@ එකෙන් ඒවා ගන්නේ වෙන් වෙන්ව වචන විදියට. මේ output එකෙන් නම් ඒකෙ වෙනසක් දකින්න අපිට බැහැ.
විශේෂ Shell Variables
මේ විශේෂ variables අපිට පුළුවන් පාවිච්චි කරන්න විශේෂ අවශ්යතා වලදි.
$?
- මේකෙන් පුළුවන් අපි අන්තිමට execute කරපු command එකේ status එක ලබාගන්න.$$
- මේකෙන් පුළුවන් දැන් භාවිතා වන shell එකේ Pid එක නොහොත් processes number එක ලබාගන්න.$!
- අන්තිමට background එකට යැව්ව command එකේ Pid එක ලබාගන්න පුළුවන් මේකෙන්.
හොඳයි, එහෙනම් අදට පාඩම අවසන් කරන්නම්. ඉදිරියටත් ප්රායෝගික පාඩම් තොගයක්ම බලාපොරොත්තු වන්න. ගිහින් එන්නම්, ඔබට ජය!