ស្វែងយល់ពី Linux Shell Script

Linux បានបង្កើត Tool ដ៏ពិសេសមួយរដែល Windows មិនមានគឺ Shell Script។ក៏ប៉ុន្តែប្រសិនបើប្រៀបធៀបរវាង Shell Script របស់លីនុច និង Ms.Dos របស់ Windows គឺ Shell Script ល្អជាង។ថ្មីៗនេះ Microsoft ក៏បានសហការណ៍ Ubuntu ផងដែរដើម្បីយក Shell Script ទៅដាក់បញ្ចូលក្នុង Windows 10។

Shell Script មានច្រើនប្រភេទដូចជា Almquist shell (ash), Bourne Again shell (sh), Debian Almquist shell (dash), korn shell (ksh), Public domain korn shell (pdksh), MirBSD korn shell (mksh), Z shell (zsh), Busybox, .ល។

Shell Script ដែលបាននិងកំពុងពេញនិយមប្រើប្រាស់នៅក្នុង Linux បច្ចុប្បន្នគឺ Bournce Again Shell ដែលត្រូវបានគេប្រើប្រាស់នៅក្នុង Redhat, Ubuntu, Debian, CentOS ជាដើម។ ចំនែកឯ Busybox ត្រូវបានគេប្រើប្រាស់នៅក្នុង Mobile Android Linux ដែលជាប្រភេទ Linux For Mobile។

Shell Script អាចសរសេរអោយបិទបើក Service បានតែមិនអាចសរសេរភ្ជាប់ទៅកាន់ Database បាននោះទេ តែអាចសរសេរបញ្ជា អោយ Linux OS ធ្វើការអ្វីមួយតាមចិត្តយើងចង់បាន ដូចជា Backup File, លុប File, បង្កើត User ជាដើម វាងាយស្រួលជាងការសរសេរ command ដដែលៗនៅពេលត្រូវការធ្វើអ្វីមួយ។

មុនសរសេរ Linux Shell Script  អ្នកត្រូវកំណត់ខ្លួនឯងជាមុនសិនថាចង់អោយ Script ធ្វើការងារអ្វីមួយអោយប្រាកដ ហើយត្រូវដឹងថាតើ Command នោះវានិងបោះលទ្ធផលមកវិញដូចម្តេចខ្លះ។

នៅពេលបញ្ចប់ Command អ្វីមួយគួរប្រើ echo  $? ដើម្បីអោយវាចេញ Status code 0 ឬ ១ ប្រសិនបើ ០ មានន័យថាជោគជ័យ ឬ ១ មានន័យថា Error ឬ ចេញលេខកូដអ្វីផ្សេងៗទៀតដើម្បីយកទៅផ្ទៀងផ្ទាត់ជាមួយលក្ខណ្ឌនៅក្នុង Script code។

រូបខាងក្រោមនេះ ប្រសិនបើ command ifconfig ដំណើរការត្រឹមត្រូវ វានិង ស្វែងរកពាក្យថា net នៅក្នុង output របស់ command នោះ រួចហើយវានិងបោះតម្លៃដែលបានរកឃើញនោះទៅក្នុង File test.txt ប្រសិនបើមាន File Test រួចស្រេចវានិង overwrite តែបើមិនមានវានិងបង្កើត File ថ្មី។ បន្ទាប់មក Script និង ដំណើរការ command cat ដើម្បីអាន File test.txt រួចហើយចុងក្រោយ Script count file test.txt ថាតើមានប៉ុន្មានបន្ទាត់។

mess-sh

 

នៅពេលដែល Execute Shell Script គ្រាន់តែសរសេរ path របស់ Script File តែប៉ុណ្ណោះ

./script.sh សម្រាប់ Execute Script File នៅពេលដែលយើងកំពុងឈនៅ Directory Script នោះ។

Extension របស់ Bash shell គឺ .sh

hello

Echo ប្រើសម្រាប់បង្ហាញ ដូចជា Print នៅក្នុងភាសារ python

read  a ប្រើប្រាស់សម្រាប់អាននៅ Input ដែលអ្នកបានបញ្ចូលនៅក្នុង Echo Statement

រូបភាពខាងក្រោមនេះជាការប្រើប្រាស់ if else statement នៅក្នុង Shell Script

if-1

-lt = less than តិចជាង gt = greater than ធំជាង -eq = Equal ស្មើរគ្នា && ឈ្នាប់និង  || ឈ្នាប់ឬ

រួចហើយនៅពេលដែលបញ្ចប់ត្រូវបញ្ចប់ដោយពាក្យ fi

 

រូបភាពខាងក្រោមនេះជាការប្រើប្រាស iterative loop ដោយប្រើ forloop

for-sh

seq $a ប្រើប្រាស់ដើ់ម្បី  count ចំនួនដែលយើងបានបញ្ចូល បន្ទាប់មក do

នៅពេលចុងបញ្ចប់ត្រូវសរសេរពាក្យថា done

 

រូបភាពខាងក្រោមជាការប្រើប្រាស់ Case (ជម្រើសក្នុងការជ្រើសរើសអ្វីមួយ)

case-sh

for multiple choice can use 1||a||b = First option ថ្ងៃច័ន្ទជាដើម។

សម្រាប់ពាក្យចុងក្រោយរបស់ Case ត្រូវបញ្ចប់ដោយ Esac

 

Function មានតួរនាទី សម្រាប់ដាក់ Code នៅក្នុងក្រុមតូចៗនិងងាយស្រួលហៅមកប្រើប្រាស់។ Shell script អានពីលើចុះក្រោម ដោយមិនមាន Class ឬ Object ដូច OOP នោះទេ ដូចនេះការសរសេរ Function ត្រូវសរសេរពីលើទាំងអស់និងហៅ Function មកប្រើនៅបន្ទាត់ខាងក្រោម Function។

រូបភាពខាងក្រោម ជា Function

function

Shell Script មានឥទ្ធីពលខ្លាំងបំផុតទៅលើលីនុចដោយអាចសរសេរបង្កើតជា Service អោយដំណើរការបាននៅក្នុងលីនុច អាចត្រួតពិនិត្យមើល Service ឬ ផ្ញើ Email ចេញទៅក្រៅបានទៀតផង។

ពត៏មានបន្ថែមអាចស្រាវជ្រាវនៅក្នុងតំណរនេះ  LINUX SCRIPT