Unix/Linux පරිසරයේ වැඩ කරන සංවර්ධකයින්ට "shell script" ලියීම දිනපතා කරන වැඩක්. ඒත් කවදාවත් අහම්බෙන් අමතක වන "colon" (:) නාමක null‑command එක ගැන දැනුවත්ද? මේ කුඩා සංකේතය ඔබේ කේතය කෙටි කර, පරීක්ෂණයක් පවා සරල කර දෙන විශේෂත්වයක් ගෙන එයි.
සාමාන්යයෙන් argument එකක් අතුරුදන් වුනාම පරීක්ෂා කර "if [ -z \"$1\" ]; then echo \"missing argument\"; exit 1; fi" වැනි කොඩි කොටස් ලියනවා. ඒ වෙනුවට එකම ලයිනයක් පමණක් ලියන්න පුළුවන්: : "${1:?missing argument, aborting.}". Variable එක හිස් නම්, shell එක error message එක stderr එකට දාලා non‑zero status එකකින් නතර වෙයි; variable එක තියෙනවා නම් ඒක නිරවද්යව ප්රතිඵලයක් ලෙස පෙනේ.
මෙම syntax එකේ "${name:?diagnostic}" කියන කොටස parameter expansion එක, "?" නිරූපකය variable එක unset හෝ empty වෙලාද කියලා පරීක්ෂා කර, අවශ්ය නම් diagnostic message එක ප්රදර්ශනය කරයි. එම message එකට variable නාමයද ඇතුළත් වීම නිසා debug කිරීම තවත් පහසු වේ.
දෙවන colon, ඒත් ලයිනයේ මුලින්ම පෙනෙන එක, null‑command ලෙස හැඳින්වේ. එය කිසිවක් කරන්නේ නැත, නමුත් arguments evaluate කර, ප්රතිඵල අහරිනවා. මෙය 1971 Thompson shell වලින් ආරම්භ වූ, comment marker එකක් වශයෙන්ද භාවිතා වූ ඉතිහාසයක් ඇත. එම නිසා " : " භාවිතයෙන් variable default value එකක් සකස් කරගත හැක: : "${DATA_DIR:=/var/data}" – variable එක නැතිනම් /var/data යන default එකක් දෙනවා.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තරුණ සංවර්ධකයින්ට Linux පදනම්ව වැඩ කරන අවස්ථා වැඩි වෙමින් පවතී. මෙම colon tricks භාවිතා කරමින් කේතය කෙටි කර, script එකේ පණිවුඩ පාලනය පහසු කර, production environment එකේ වැරදි අවස්ථා අඩු කර ගත හැක. විශේෂයෙන් DevOps, CI/CD pipeline, automation job වගේ වැඩ වලදී එකක් හෝ දෙකක් අතුරුදන් වුවත් script එක නතර වීමෙන් service outage එකක් වැළැක්විය හැක. අධ්යාපන පරිසරයේත්, පාඨමාලා ව්යාපෘති වලදී ඉගෙනුම් වේගය වැඩි කර, අතුරුදන් වීමේ වැරදි අඩු කරයි.
අවසන් වශයෙන්, colon එකේ මේ “මැජික්” ඔබේ කේතයට අඩු typing, වැඩි readability, සහ වඩාත් ශක්තිමත් error handling ලබා දෙයි. ඒ නිසා ඔබේ next shell script එකේ මේ tricks අත්හදා බලන්න – coffee එක තණ්හා වීමකට පෙරම ඔබේ කේතය සාර්ථකයි!