មគ្គុទ្ទេសប់អ្នកចាប់ផ្តើមដើម្បី BASH - លក្ខខណ្ឌនិងអថេរ

សេចក្តីណែនាំ

សូមស្វាគមន៍មកកាន់ផ្នែកទីបីនៃ "មគ្គុទ្ទេសក៍អ្នកណែនាំថ្មីដើម្បីបូមទឹក" ។ ប្រសិនបើអ្នកខកខានអត្ថបទពីរមុនអ្នកប្រហែលជាចង់ដឹងពីអ្វីដែលធ្វើអោយមគ្គុទ្ទេសក៍នេះខុសពីមគ្គុទ្ទេសក៍ស្គ្រីប BASH ផ្សេងទៀត។

មគ្គុទ្ទេសក៍នេះត្រូវបានសរសេរដោយមនុស្សគ្រប់ស្រទាប់ទាំងស្រុងទៅជា BASH ហើយជាអ្នកអានដែលអ្នករៀនដូចដែលខ្ញុំបានរៀន។ ទោះបីជាខ្ញុំជាអ្នកថ្មីម្នាក់ក្នុងការប្រើ BASH ក៏ដោយក៏ខ្ញុំបានមកពីផ្ទៃខាងក្រោយនៃការអភិវឌ្ឍន៍កម្មវិធីប៉ុន្តែភាគច្រើននៃវត្ថុដែលខ្ញុំបានសរសេរគឺសម្រាប់វីនដូ។

អ្នកអាចឃើញមគ្គុទ្ទេសក៍ពីរដំបូងដោយការទស្សនា:

ប្រសិនបើអ្នកជាអ្នកថ្មីក្នុងការបង្កើតស្គ្រីប BASH ខ្ញុំសូមណែនាំឱ្យអានមគ្គុទ្ទេសក៍ពីរដំបូងមុននឹងបន្តប្រើវា។

នៅក្នុងមគ្គុទ្ទេសក៍នេះខ្ញុំនឹងត្រូវបានបន្លិចពីរបៀបប្រើសេចក្តីថ្លែងការណ៍តាមលក្ខខណ្ឌដើម្បីសាកល្បងការបញ្ចូលរបស់អ្នកប្រើនិងដើម្បីគ្រប់គ្រងរបៀបដំណើរការស្គ្រីប។

ដំឡើង rsstail

ដើម្បីអនុវត្តតាមមគ្គុទ្ទេសក៍នេះអ្នកត្រូវដំឡើងកម្មវិធីបន្ទាត់ពាក្យបញ្ជាដែលត្រូវបានគេហៅថា rsstail ដែលត្រូវបានប្រើដើម្បីអាន RSS feeds

ប្រសិនបើអ្នកកំពុងប្រើប្រភេទចែកចាយដែលមានមូលដ្ឋានលើ ដេបៀន / អ៊ូប៊ុនទូ / Mint ដូចខាងក្រោម:

sudo apt-get ដំឡើង rsstail

សម្រាប់ Fedora / CentOS លវាយដូចខាងក្រោម:

yum ដំឡើង rsstail

សម្រាប់ អូផឹនស៊ូស៊ី វាយបញ្ចូលដូចខាងក្រោម:

zypper ដំឡើង rsstail

សេចក្តីថ្លែងការណ៍ IF

បើកស្ថានីយមួយហើយបង្កើតឯកសារឈ្មោះ rssget.sh ដោយវាយដូចខាងក្រោម:

sudo nano rssget.sh

នៅក្នុងកម្មវិធីនិពន្ធ nano បញ្ចូលអត្ថបទដូចខាងក្រោម:

#! / bin / bash
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;

រក្សាទុកឯកសារដោយចុច CTRL និង O ហើយបន្ទាប់មកចេញដោយចុច CTRL និង X ។

រត់ស្គ្រីបដោយវាយដូចខាងក្រោម:

sh rssget.sh

ស្គ្រីបនឹងត្រឡប់ចំណងជើងបញ្ជីពីចំណងជើងរបស់ linux.about.com RSS ។

វាមិនមែនជាស្គ្រីបដែលមានប្រយោជន៍ខ្លាំងពេកទេព្រោះវាគ្រាន់តែយកចំណងជើងពីមតិព័ត៌មាន RSS មួយប៉ុន្តែវារក្សាទុកដើម្បីចាំផ្លូវទៅមតិព័ត៌មាន RSS របស់ Linux.about.com ។

បើកស្គ្រីប rssget.sh ជា nano ជាថ្មីម្តងទៀតហើយកែសម្រួលឯកសារដើម្បីរកមើលដូចខាងក្រោម:

#! / bin / bash

ប្រសិនបើ [$ 1 = "verbose"]
បន្ទាប់មក
rsstail -d -l -u http://z.about.com/6/o/m/linux_p2.xml;
fi

រត់ស្គ្រីបម្ដងទៀតដោយវាយដូចខាងក្រោម:

sh rssget.sh verbose

ពេលនេះមតិព័ត៌មាន RSS ភ្ជាប់មកវិញជាមួយចំណងជើងតំណនិងការពិពណ៌នា។

ចូរវិភាគស្គ្រីបបន្តិចបន្តួច។

#! / bin / bash បង្ហាញនៅក្នុងរាល់ស្គ្រីបដែលយើងសរសេរ។ បន្ទាត់បន្ទាប់ជាទូទៅមើលប៉ារ៉ាម៉ែត្របញ្ចូលដំបូងដែលផ្តល់ដោយអ្នកប្រើហើយប្រៀបធៀបវាទៅពាក្យ "កិរិយាស័ព្ទ" ។ ប្រសិនបើប៉ារ៉ាម៉ែត្របញ្ចូលនិងពាក្យ "verbose" ផ្គូផ្គងបន្ទាត់រវាង ពេលនោះ ហើយ ហ្វ្រេស កំពុងរត់។

ស្គ្រីបខាងលើគឺមានកំហុស។ តើមានអ្វីកើតឡើងប្រសិនបើអ្នកមិនផ្តល់ប៉ារ៉ាម៉ែត្របញ្ចូលអ្វីទាំងអស់? ចម្លើយគឺអ្នកទទួលបានកំហុសមួយតាមបន្ទាត់របស់អ្នកប្រតិបត្តិដែលមិនបានរំពឹងទុក។

គុណវិបត្តិសំខាន់ៗដទៃទៀតគឺថាប្រសិនបើអ្នកមិនផ្តល់ពាក្យថា "កិរិយាស័ព្ទ" នោះគ្មានអ្វីកើតឡើងទេ។ តាមឧត្ដមគតិប្រសិនបើអ្នកមិនផ្តល់ពាក្យ verbose ទេស្គ្រីបនឹងត្រឡប់បញ្ជីនៃចំណងជើង។

ប្រើ nano ម្តងទៀតដើម្បីកែសម្រួលឯកសារ rssget.sh ហើយកែប្រែលេខកូដដូចខាងក្រោម:

#! / bin / bash

ប្រសិនបើ [$ 1 = "verbose"]
បន្ទាប់មក
rsstail -d -l -u http://z.about.com/6/o/m/linux_p2.xml;
ផ្សេង
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi

រក្សាទុកឯកសារហើយរត់វាដោយវាយដូចខាងក្រោម:

sh rssget.sh verbose

បញ្ជីចំណងជើងសេចក្ដីពណ៌នានិងតំណភ្ជាប់នឹងបង្ហាញ។ ឥឡូវនេះរត់វាម្តងទៀតដូចខាងក្រោម:

sh rssget.sh ចំណងជើង

លើកនេះមានតែបញ្ជីឈ្មោះប៉ុណ្ណោះ។

ផ្នែកបន្ថែមនៃស្គ្រីបគឺនៅលើបន្ទាត់ទី 4 និងបង្ហាញសេចក្តីថ្លែង ផ្សេងទៀត ។ ជាទូទៅស្គ្រីបឥឡូវនេះនិយាយថាប្រសិនបើប៉ារ៉ាម៉ែត្រដំបូងគឺពាក្យ "verbose" ទទួលបានសេចក្ដីពិពណ៌នាតំណនិងចំណងជើងសម្រាប់មតិព័ត៌មាន RSS ទេប៉ុន្តែប្រសិនបើប៉ារ៉ាម៉ែត្រដំបូងគឺអ្វីផ្សេងទៀតគ្រាន់តែទទួលបានបញ្ជីចំណងជើង។

ស្គ្រីបបានប្រសើរបន្តិចប៉ុន្តែនៅតែមានកំហុស។ ប្រសិនបើអ្នកបរាជ័យក្នុងការបញ្ចូលប៉ារ៉ាម៉ែត្រអ្នកនឹងនៅតែទទួលបានកំហុស។ សូម្បីតែអ្នកផ្តល់ប៉ារ៉ាម៉ែត្រក៏ដោយគ្រាន់តែនិយាយថាអ្នកមិនចង់និយាយមិនមានន័យថាអ្នកចង់បានចំណងជើងតែប៉ុណ្ណោះ។ ឧទាហរណ៍អ្នកប្រហែលជាបានសរសេរពាក្យខុសយ៉ាងខ្លាំងឬអ្នកអាចវាយសត្វព្រាបដែលជាការពិតគ្មានន័យ។

មុនពេលយើងព្យាយាមដោះស្រាយបញ្ហាទាំងនេះខ្ញុំចង់បង្ហាញអ្នកនូវពាក្យបញ្ជាមួយទៀតដែលមានជាមួយសេចក្តីថ្លែងការណ៍ IF ។

កែសម្រួលស្គ្រីប rssget.sh របស់អ្នកឱ្យមានរូបរាងដូចខាងក្រោម:

#! / bin / bash

ប្រសិនបើ [$ 1 = "ទាំងអស់"]
បន្ទាប់មក
rsstail -d -l -u http://z.about.com/6/o/m/linux_p2.xml;
elif [$ 1 = "description"]
បន្ទាប់មក
rsstail-d -u http://z.about.com/6/o/m/linux_p2.xml;

ផ្សេង
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi

ខ្ញុំបានសំរេចចិត្តកម្ចាត់ពាក្យ verbose ហើយជំនួសវាទាំងអស់។ នោះមិនមែនជាផ្នែកសំខាន់ទេ។ ស្គ្រីបខាងលើណែនាំពីអេលីហ្វដែលជាវិធីខ្លីមួយក្នុងការនិយាយថាអ្នកផ្សេង។

ឥឡូវស្គ្រីបដំណើរការដូចខាងក្រោម។ ប្រសិនបើអ្នករត់ sh rssget.sh ទាំងអស់ នោះអ្នកនឹងទទួលបានការពិពណ៌នាតំណភ្ជាប់និងចំណងជើង។ ប្រសិនបើជំនួសអ្នកគ្រាន់តែរត់ ការពិពណ៌នា sh rssget.sh អ្នកនឹងទទួលបានចំណងជើងនិងការពិពណ៌នា។ ប្រសិនបើអ្នកផ្តល់ពាក្យផ្សេងទៀតអ្នកនឹងទទួលបានបញ្ជីឈ្មោះ។

នេះបង្ហាញនូវវិធីមួយយ៉ាងឆាប់រហ័សលេចចេញបញ្ជីនៃសេចក្តីថ្លែងការណ៍លក្ខខណ្ឌ។ មធ្យោបាយជំនួសមួយនៃការធ្វើ ELIF គឺត្រូវប្រើអ្វីដែលត្រូវបានគេស្គាល់ថាជា IF statements ខាងក្នុង។

ខាងក្រោមនេះគឺជាឧទាហរណ៍មួយដែលបង្ហាញពីរបៀបដែលសេចក្តីថ្លែងការណ៍ IF ខាងក្នុងដំណើរការ:

#! / bin / bash

ប្រសិនបើ [$ 2 = "aboutdotcom"]
បន្ទាប់មក
ប្រសិនបើ [$ 1 = "ទាំងអស់"]
បន្ទាប់មក
rsstail -d -l -u http://z.about.com/6/o/m/linux_p2.xml;
elif [$ 1 = "description"]
បន្ទាប់មក
rsstail-d -u http://z.about.com/6/o/m/linux_p2.xml;

ផ្សេង
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi
ផ្សេង
ប្រសិនបើ [$ 1 = "ទាំងអស់"]
បន្ទាប់មក
rsstail -d -l -u http://lxer.com/module/newswire/headlines.rss
elif [$ 1 = "description"]
បន្ទាប់មក
rsstail-d -u http://lxer.com/module/newswire/headlines.rss
ផ្សេង
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi
fi

មានអារម្មណ៍ដោយឥតគិតថ្លៃក្នុងការវាយបញ្ចូលទាំងអស់ដែលនៅក្នុងប្រសិនបើអ្នកចូលចិត្តឬចម្លងនិងបិទភ្ជាប់វាទៅក្នុងឯកសារ rssget.sh របស់អ្នក។

ស្គ្រីបខាងលើណែនាំប៉ារ៉ាម៉ែត្រទី 2 ដែលអនុញ្ញាតឱ្យអ្នកជ្រើសរើស "about.com" ឬ "lxer.com" ជាមតិព័ត៌មាន RSS ។

ដើម្បីដំណើរការវាអ្នកវាយបញ្ចូលដូចខាងក្រោម:

sh rssget.sh all aboutdotcom

sh rssget.sh all lxer

អ្នកអាចជំនួសទាំងអស់ដោយសេចក្ដីពិពណ៌នាឬចំណងជើងដើម្បីផ្តល់ការពិពណ៌នាឬចំណងជើងត្រឹមតែ។

ជាទូទៅកូដខាងលើបាននិយាយថាប្រសិនបើប៉ារ៉ាម៉ែត្រទីពីរគឺ aboutdotcom បន្ទាប់មកសម្លឹងមើលទីពីរប្រសិនបើសេចក្តីថ្លែងការណ៍ទីពីរដែលជាតួអក្សរដដែលពីស្គ្រីបពីមុនប្រសិនបើប៉ារ៉ាម៉ែត្រទីពីរគឺ lxer បន្ទាប់មកសម្លឹងមើលនៅក្នុងសេចក្តីថ្លែងការណ៍ខាងក្នុងម្តងទៀតដើម្បីសម្រេចថាតើត្រូវបង្ហាញចំណងជើងឬសេចក្ដីពិពណ៌នា ឬអ្វីគ្រប់យ៉ាង។

ស្គ្រីបនោះត្រូវបានផ្តល់គ្រាន់តែជាឧទាហរណ៍នៃសេចក្តីថ្លែងការណ៍ IF ដែលនៅខាងក្នុងហើយមានរឿងជាច្រើនដែលខុសនឹងស្គ្រីបនោះវានឹងត្រូវការអត្ថបទមួយផ្សេងទៀតដើម្បីពន្យល់ទាំងអស់។ បញ្ហាចម្បងគឺថាវាមិនអាចធ្វើមាត្រដ្ឋានបានទេ។

ស្រមៃថាអ្នកចង់បន្ថែមមតិព័ត៌មាន RSS ផ្សេងទៀតដូចជាអ្នកប្រើ Linux ប្រចាំថ្ងៃឬលីនុចថ្ងៃនេះ? ស្គ្រីបនឹងក្លាយជាធំហើយប្រសិនបើអ្នកសម្រេចចិត្តថាអ្នកចង់អោយសេចក្តីថ្លែងការណ៍ IF នៅក្នុងការផ្លាស់ប្តូរអ្នកនឹងត្រូវតែផ្លាស់ប្តូរវានៅក្នុងកន្លែងជាច្រើន។

ខណៈដែលមានពេលវេលានិងទីកន្លែងសម្រាប់ការដាក់បញ្ចូលគ្នាប្រសិនបើពួកវាគួរតែត្រូវបានគេប្រើញឹកញាប់ពេក។ ជាទូទៅគឺមានវិធីមួយដើម្បីធ្វើឱ្យកូដរបស់អ្នកឡើងវិញដូច្នេះអ្នកមិនត្រូវការអ៊ីម៉ែលនៅក្នុងគ្នាទេ។ ខ្ញុំនឹងនិយាយអំពីប្រធានបទនេះក្នុងអត្ថបទមួយនាពេលអនាគត។

តោះយើងពិនិត្យមើលបញ្ហារបស់មនុស្សដែលចូលក្នុងប៉ារ៉ាម៉ែត្រ Duff ។ ឧទាហរណ៍នៅក្នុងស្គ្រីបខាងលើបើអ្នកប្រើចូលអ្វីផ្សេងក្រៅពី "aboutdotcom" ជាប៉ារ៉ាម៉ែត្រទី 2 បន្ទាប់មកបញ្ជីអត្ថបទមួយបង្ហាញពីមតិព័ត៌មាន RSS ពី LXER ដោយមិនគិតថាតើអ្នកប្រើបញ្ចូល lxer ឬអត់។

លើសពីនេះទៀតប្រសិនបើអ្នកប្រើមិនបញ្ចូល "ទាំងអស់" ឬ "សេចក្ដីពិពណ៌នា" ជាប៉ារ៉ាម៉ែត្រទី 1 នោះលំនាំដើមគឺជាបញ្ជីចំណងជើងដែលអាចឬមិនជាអ្វីដែលអ្នកប្រើចង់បាន។

រកមើលស្គ្រីបខាងក្រោម (ឬចម្លងហើយបិទភ្ជាប់វាទៅក្នុងឯកសារ rssget.sh របស់អ្នក។

#! / bin / bash

ប្រសិនបើ [$ 2 = "aboutdotcom"] || [$ 2 = "lxer"]
បន្ទាប់មក
ប្រសិនបើ [$ 1 = "ទាំងអស់"] || [$ 1 = "សេចក្ដីពិពណ៌នា"] || [$ 1 = "ចំណងជើង"]
បន្ទាប់មក
ប្រសិនបើ [$ 2 = "aboutdotcom"]
បន្ទាប់មក

ប្រសិនបើ [$ 1 = "ទាំងអស់"]
បន្ទាប់មក
rsstail -d -l -u http://z.about.com/6/o/m/linux_p2.xml;
elif [$ 1 = "description"]
បន្ទាប់មក
rsstail-d -u http://z.about.com/6/o/m/linux_p2.xml;

ផ្សេង
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi
ផ្សេង
ប្រសិនបើ [$ 1 = "ទាំងអស់"]
បន្ទាប់មក
rsstail -d -l -u http://lxer.com/module/newswire/headlines.rss
elif [$ 1 = "description"]
បន្ទាប់មក
rsstail-d -u http://lxer.com/module/newswire/headlines.rss
ផ្សេង
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi
fi
fi
fi

រឿងដំបូងដែលត្រូវកត់សម្គាល់នោះគឺថាស្គ្រីបឥឡូវនេះទទួលបានធំទូលាយហើយអ្នកអាចមើលឃើញយ៉ាងរហ័សពីរបៀបដែលការគ្រប់គ្រងខាងក្រៅត្រូវបានគ្រប់គ្រង។

ប៊ីតដែលសំខាន់នៅក្នុងស្គ្រីបនេះគឺជាសេចក្តីថ្លែងការណ៍ IF || សេចក្តីថ្លែងការណ៍បន្ទាប់មកផ្នែកទី 2 និងបន្ទាត់ទី 4 ។

The || តំណាងឱ្យ OR ។ ដូច្នេះបន្ទាត់ ប្រសិនបើ [$ 2 = "aboutdotcom"] || [$ 2 = "lxer"] ពិនិត្យមើលថាតើប៉ារ៉ាម៉ែត្រទីពីរស្មើ "aboutdotcom" រឺ "lxer" ។ ប្រសិនបើវាមិនមែនបន្ទាប់មកសេចក្តីថ្លែងការណ៍ IF គឺពេញលេញដោយសារតែមិនមានសេចក្តីថ្លែងការណ៍ ផ្សេងទៀត សម្រាប់ IF ខាងក្រៅ

ដូចគ្នានេះដែរនៅបន្ទាត់ទី 4 បន្ទាត់ ប្រសិនបើ [$ 1 = "all"] || [$ 1 = "សេចក្ដីពិពណ៌នា"] || [$ 1 = "title"] ពិនិត្យថាតើប៉ារ៉ាម៉ែត្រទីមួយស្មើនឹង "ទាំងអស់" ឬ "ការពិពណ៌នា" ឬ "ចំណងជើង" ។

ឥឡូវនេះប្រសិនបើអ្នកប្រើរត់ sh rssget.sh ដំឡូងឈីស គ្មានអ្វីត្រូវបានត្រឡប់ខណៈពេលដែលពួកគេនឹងទទួលបានបញ្ជីនៃចំណងជើងពី LXER ។

ទល់មុខ || គឺ && ។ សញ្ញាប្រមាណវិធី && គឺតំណាងឱ្យ AND ។

ខ្ញុំនឹងធ្វើឱ្យស្គ្រីបមើលទៅកាន់តែដូចសុបិន្តអាក្រក់ប៉ុន្តែវាធ្វើឱ្យការត្រួតពិនិត្យសំខាន់ៗទាំងអស់ធ្វើឱ្យប្រាកដថាអ្នកប្រើបានផ្តល់ប៉ារ៉ាម៉ែត្រ 2 ។

#! / bin / bash

បើ [$ # -eq 2]
បន្ទាប់មក

ប្រសិនបើ [$ 2 = "aboutdotcom"] || [$ 2 = "lxer"]
បន្ទាប់មក
ប្រសិនបើ [$ 1 = "ទាំងអស់"] || [$ 1 = "សេចក្ដីពិពណ៌នា"] || [$ 1 = "ចំណងជើង"]
បន្ទាប់មក
ប្រសិនបើ [$ 2 = "aboutdotcom"]
បន្ទាប់មក

ប្រសិនបើ [$ 1 = "ទាំងអស់"]
បន្ទាប់មក
rsstail -d -l -u http://z.about.com/6/o/m/linux_p2.xml;
elif [$ 1 = "description"]
បន្ទាប់មក
rsstail-d -u http://z.about.com/6/o/m/linux_p2.xml;

ផ្សេង
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi
ផ្សេង
ប្រសិនបើ [$ 1 = "ទាំងអស់"]
បន្ទាប់មក
rsstail -d -l -u http://lxer.com/module/newswire/headlines.rss
elif [$ 1 = "description"]
បន្ទាប់មក
rsstail-d -u http://lxer.com/module/newswire/headlines.rss
ផ្សេង
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi
fi
fi
fi
fi

ប៊ីតតែមួយគត់ដែលមានបន្ថែមនៅក្នុងស្គ្រីបនោះគឺជាសេចក្តីថ្លែងការណ៍ IF ខាងក្រៅមួយទៀតដូចខាងក្រោម: ប្រសិនបើ [$ # -eq 2] ។ ប្រសិនបើអ្នកអានអត្ថបទអំពីប៉ារ៉ាម៉ែត្របញ្ចូលអ្នកនឹងដឹងថា $ # ត្រឡប់ចំនួននៃប៉ារ៉ាម៉ែត្របញ្ចូល។ eq តំណាងឱ្យស្មើគ្នា។ ដូច្នេះសេចក្តីថ្លែងការណ៍ IF ពិនិត្យមើលថាអ្នកប្រើបានបញ្ចូល 2 ប៉ារ៉ាម៉ែត្រហើយបើពួកគេមិនបានទេវាគ្រាន់តែចេញដោយមិនធ្វើអ្វីទេ។ (មិនងាយស្រួលទេ) ។

ខ្ញុំដឹងថាការបង្រៀននេះកំពុងមានទំហំធំណាស់។ មិនមានអ្វីច្រើនទៀតដែលត្រូវគ្របដណ្តប់នៅសប្តាហ៍នេះទេប៉ុន្តែខ្ញុំចង់ជួយរៀបចំស្គ្រីបមុនពេលយើងបញ្ចប់។

ពាក្យបញ្ជាចុងក្រោយដែលអ្នកត្រូវរៀនអំពីសេចក្តីថ្លែងការណ៍តាមលក្ខខណ្ឌគឺសេចក្តីថ្លែងការណ៍ CASE ។

#! / bin / bash


បើ [$ # -eq 2]
បន្ទាប់មក
ករណី $ 2 ក្នុង
aboutdotcom)
ករណី $ 1 ក្នុង
ទាំងអស់)
rsstail -d -l -u z.about.com/6/o/m/linux_p2.xml
;
ការពិពណ៌នា)
rsstail-d -u z.about.com/6/o/m/linux_p2.xml
;
ចំណងជើង)
rsstail -u z.about.com/6/o/m/linux.about.com/6/o/m/linux_p2.xml
;
esac
;
lxer)
ករណី $ 1 ក្នុង
ទាំងអស់)
rsstail -d -l -u http://lxer.com/module/newswire/headlines.rss
;
ការពិពណ៌នា)
rsstail-d -u http://lxer.com/module/newswire/headlines.rss
;
ចំណងជើង)
rsstail -u http://lxer.com/module/newswire/headlines.rss
;
esac
;
esac
fi

សេចក្តីថ្លែងការណ៍ករណីនេះគឺជាវិធីសាស្រ្ដល្អក្នុងការសរសេរប្រសិនបើអ៊ីចឹងបើសិនជាមាន។

ឧទាហរណ៍តក្កនេះ

ប្រសិនបើផ្លែឈើ = ចេក
បន្ទាប់មកនេះ
បើសិនជាផ្លែបើក្រូច
បន្ទាប់មកនេះ
ប្រសិនបើអ្នកទទួលទានផ្លែទំពាំងបាយជូរ
បន្ទាប់មកនេះ
បញ្ចប់ប្រសិនបើ

អាចត្រូវបានសរសេរឡើងវិញដូចជា:

ផ្លែឈើនៅក្នុង
ចេក)
ធ្វើដូចនេះ
;
ក្រូច)
ធ្វើដូចនេះ
;
ទំពាំងបាយជូរ)
ធ្វើដូចនេះ
;
esac

ជាទូទៅធាតុដំបូងបន្ទាប់ពីករណីនេះគឺជារឿងដែលអ្នកនឹងប្រៀបធៀប (ឧទាហរណ៍ផ្លែឈើ) ។ បន្ទាប់មកធាតុនីមួយៗនៅពីមុខតង្កៀបគឺជាវត្ថុដែលអ្នកកំពុងប្រៀបធៀបហើយប្រសិនបើវាផ្គូផ្គងជួរខាងមុខ; នឹងត្រូវបានរត់។ សេចក្តីថ្លែងការណ៍ករណីត្រូវបានបញ្ចប់ដោយ esac បញ្ច្រាស (ដែលជាករណីថយក្រោយ) ។

នៅក្នុងស្គ្រីប rssget.sh សេចក្តីថ្លែងការណ៍នេះយកចេញនូវផ្នែកណាមួយនៃការធ្វើសំបុកដ៏អាក្រក់នោះបើទោះបីជាមិនបានធ្វើឱ្យវាប្រសើរឡើង។

ដើម្បីឱ្យប្រសើរឡើងនូវស្គ្រីបដែលខ្ញុំត្រូវការដើម្បីណែនាំអ្នកពីអថេរ។

រកមើលកូដដូចខាងក្រោម:

#! / bin / bash

lxer = "lxer.com/module/newswire/headlines.rss"
aboutdotcom = "z.about.com/6/o/m/linux_p2.xml"
បង្ហាញ = ""
url = ""

ប្រសិនបើ [$ # -lt 2] || [$ # -gt 2]
បន្ទាប់មក
អេកូ "ការប្រើប្រាស់: rssget.sh [ទាំងអស់ | សេចក្ដីពិពណ៌នា] ចំណងជើង] [aboutdotcom | lxer]";
ចេញ;
fi

ករណី $ 1 ក្នុង
ទាំងអស់)
បង្ហាញ = "- d-l-u"
;
ការពិពណ៌នា)
បង្ហាញ = "- d-u"
;
ចំណងជើង)
បង្ហាញ = "- u"
;
esac

ករណី $ 2 ក្នុង
aboutdotcom)
url = $ aboutdotcom;
;
lxer)
url = $ lxer;
;
esac
rsstail $ បង្ហាញ url $;

អថេរមួយត្រូវបានកំណត់ដោយផ្តល់ឱ្យវានូវឈ្មោះហើយបន្ទាប់មកផ្តល់តម្លៃទៅវា។ នៅក្នុងឧទាហរណ៍ខាងលើនេះគឺជាការងារកំណត់អថេរ:

lxer = "lxer.com/module/newswire/headlines.rss"
aboutdotcom = "z.about.com/6/o/m/linux_p2.xml"
បង្ហាញ = ""
url = ""

ស្គ្រីបអាចគ្រប់គ្រងបានភ្លាមៗដោយប្រើអថេរ។ ឧទាហរណ៍ប៉ារ៉ាម៉ែត្រនីមួយៗត្រូវបានដោះស្រាយដោយឡែកពីគ្នាហើយដូច្នេះមិនមានសេចក្តីថ្លែងការណ៍ IF ខាងក្នុង។

អថេរបង្ហាញឥឡូវត្រូវបានកំណត់អាស្រ័យលើថាតើអ្នកបានជ្រើសរើសអ្វីទាំងអស់សេចក្ដីពិពណ៌នាឬចំណងជើងហើយអថេរ url ត្រូវបានកំណត់ទៅតម្លៃនៃអថេរ aboutdotcom ឬតម្លៃនៃអថេរ lxer អាស្រ័យថាតើអ្នកជ្រើសរើស aboutdotcom ឬ lxer ។

ពាក្យបញ្ជា rsstail ឥឡូវនេះគ្រាន់តែប្រើតម្លៃនៃការបង្ហាញនិង url ដើម្បីដំណើរការបានត្រឹមត្រូវ។

ខណៈពេលដែលអថេរត្រូវបានកំណត់ដោយផ្តល់ឱ្យពួកគេនូវឈ្មោះដើម្បីប្រើពួកវាអ្នកត្រូវតែដាក់សញ្ញា $ នៅពីមុខពួកវា។ នៅក្នុងពាក្យផ្សេងទៀត variable = value កំណត់អថេរទៅជាតម្លៃចំណែកឯអថេរ $ មានន័យថាផ្តល់ឱ្យខ្ញុំនូវមាតិកានៃអថេរ។

ខាងក្រោមនេះគឺជាស្គ្រីបចុងក្រោយសម្រាប់ការបង្រៀននេះ។

#! / bin / bash

lxer = "lxer.com/module/newswire/headlines.rss"
aboutdotcom = "z.about.com/6/o/m/linux_p2.xml"
dailylinuxuser = "http://feeds.feedburner.com/everydaylinuxuser/WLlg"
linuxtoday = "http://feedproxy.google.com/linuxtoday/linux"
ការប្រើប្រាស់ = "ការប្រើប្រាស់: rssget.sh [ទាំងអស់ | សេចក្តីពិពណ៌នា] ចំណងជើង] [lxer | aboutdotcom | everydaylinuxuser | linuxtoday]"
បង្ហាញ = ""
url = ""

ប្រសិនបើ [$ # -lt 2] || [$ # -gt 2]
បន្ទាប់មក
echo ការប្រើប្រាស់ $;
ចេញ;
fi

ករណី $ 1 ក្នុង
ទាំងអស់)
បង្ហាញ = "- d-l-u"
;
ការពិពណ៌នា)
បង្ហាញ = "- d-u"
;
ចំណងជើង)
បង្ហាញ = "- u"
;
*)
echo ការប្រើប្រាស់ $;
ចេញ;
;
esac

ករណី $ 2 ក្នុង
aboutdotcom)
url = $ aboutdotcom;
;
lxer)
url = $ lxer;
;
linuxtoday)
url = $ linuxtoday;
;
dailylinuxuser)
url = $ everydaylinuxuser;
;
*)
echo ការប្រើប្រាស់ $;
ចេញ;
esac

rsstail $ បង្ហាញ url $;

ស្គ្រីបខាងលើណែនាំអំពីមតិព័ត៌មាន RSS បន្ថែមទៀតហើយមានអថេរប្រើដែលប្រាប់អ្នកប្រើពីរបៀបប្រើស្គ្រីបបើពួកគេមិនបញ្ចូលអថេរ 2 ឬបញ្ចូលជម្រើសមិនត្រឹមត្រូវសម្រាប់អថេរ។

សង្ខេប

នេះជាអត្ថបទវីរភាពហើយប្រហែលជាឆាប់ពេកហើយ។ នៅក្នុងមគ្គុទ្ទេសក៍បន្ទាប់ខ្ញុំនឹងបង្ហាញអ្នកនូវជម្រើសប្រៀបធៀបទាំងអស់សម្រាប់សេចក្តីថ្លែងការណ៍ IF ហើយនៅតែមានច្រើនទៀតដើម្បីនិយាយអំពីការទាក់ទងទៅនឹងអថេរ។

មានច្រើនទៀតដែលអាចធ្វើបានដើម្បីកែលម្អស្គ្រីបខាងលើហើយវានឹងត្រូវបានគ្របដណ្តប់នៅក្នុងមគ្គុទ្ទេសក៍នាពេលអនាគតខណៈដែលយើងស្វែងរករង្វិលជុំ, grep និងកន្សោមធម្មតា។

សូមពិនិត្យមើលរបៀបដើម្បីរមូរចុះក្រោមប្រភេទដើម្បីមើលបញ្ជីនៃអត្ថបទនៅក្នុងផ្នែកខាងក្នុង inux.about.com ដើម្បីរកមគ្គុទ្ទេសក៍មានប្រយោជន៍ច្រើនទៀតពី ការបើកពីរវីនដូនិងអ៊ូប៊ុនទូ ដើម្បី ដំឡើងម៉ាស៊ីននិម្មិតដោយប្រើប្រអប់ GNOME