د بش سکرپٹ ته دلیلونه څنګه لیږدول کیږي

حکمونه، نخشه او مثالونه

تاسو کولی شئ یو بوش سکرپٹ ولیکئ چې دا هغه میتودونه ترلاسه کوي کله چې د لینډ لیک څخه لرې کیدی شي یاد شوي وي. دا میتود کارول کیږي کله چې یو لپ ټاپ د انټرنټ پیرټیمونو (دلیلونو) ارزښتونو سره سم یو څه مختلف فعالیت ترسره کړي.

د مثال په توګه، تاسو ممکن د "stats.sh" په نوم یو سکریپټر ولرئ چې په یوه فایل کې یو ځانګړي عملیات ترسره کوي، لکه د هغه کلمو شمیرل. که تاسو غواړئ چې د ډیرو فایلونو په اړه د دې لینک کارولو وړ وي، نو دا به غوره وي چې د فایل نوم د یو دلیل په توګه وپیژني، نو تاسو کولی شئ د پروسس کولو لپاره د ټولو فایلونو لپاره ورته سکرټ استعمال وکړو. د بېلګې په توګه، که چېرته د دوتنې نوم پروسس شي نو "songlistlist" دی، تاسو به لاندې کمانډ لائن کې داخل کړئ:

سندره

مکتوبونه د متن په دننه کې د متغیر $ 1، $ 2، $ 3 او نور په کارولو سره لاسرسي شوي، چيرته چې $ 1 لومړی دلیل، $ 2 دویم دلیل ته اشاره کوي او داسې نور. دا په لاندې مثال کې ښودل شوي:

FILE1 = $ 1 wc $ FILE1

د لوست کولو لپاره، د متغیر نوم سره متغیر د لومړۍ دلیل ارزښت ($ 1) ارزښت ته ورکړئ، او بیا د دې متغیر ($ FILE1) باندې د شمېرنې کاروونکي (wc) ته ټیلیفون وکړئ.

که تاسو د مباحثو متغیر شمیره لرئ، تاسو کولی شئ "$ @" متغیر استعمال کړئ، دا د ټولو انډیز پیرامیټونو یوه برخه ده. دا پدې مانا چې تاسو کولی شئ د لوپ استعمال څخه کار واخلئ چې په هرصورت د هر یو پروسس وکړي، لکه څنګه چې په لاندې مثال کې ښودل شوي:

د FILE1 لپاره "$ @" کې $ wc $ FILE1 ترسره کړی

دلته یو مثال دی چې څنګه دا لپ ټاپ د کمانډ کرښې له دلیلونو سره اړیکه ونیسئ:

سندره. سندره

که چیرې یو دلیل خنډونه وي، نو تاسو باید د یو واحد کوټونو سره تړل کړئ. د مثال په توګه:

sh stats.sh 'سندرېlist 1' 'songlist 2' 'songlist 3'

په ځینو وختونو کې یوه لیکل شوی لیکل شوی، داسې چې کاروونکي د بیرغونو په کارولو سره په هر ترتیب کې دلیلونو کې ننوتلی شي. د جغرافیه میتود سره، تاسو کولی شئ ځینې استدلالونه اختیاري کړئ.

راځئ چې تاسو داسې سکریپټ ولرئ چې معلومات د ډیټابیسټیسټ څخه د ټاکل شوي پیرامیټونو، لکه "کارنومین"، "نیټه"، او "محصول" پر اساس بیا ترلاسه کول، او په یوه مشخص "بڼه" کې یو راپور چمتو کوي. اوس تاسو غواړئ خپل سکرټیک ولیکئ نو تاسو کولی شئ په دغو پیرامیټونو کې کله چې سکرېپټ په نوم یادیږی تاسو ته انتقال شي. دا کیدی شي دا داسې ښکاري:

makereport -u jsmith -p نوټ بوکونه -d 10-20-2011 -f pdf

بش دا فعالیتونه د "ترلاسه کولو" فعالیت سره وړ کوي. د پورته بېلګې لپاره، تاسو کولی شئ په لاندې ډول د ترلاسه کولو لپاره کاروونې وکولی شئ:

دا یو وخت دی چې د "getopts" فعالیت او یو بل په نامه یادیږي "optstring" کاروي، په دې حالت کې "u: d: p: f:"، د دلیلونو له لارې تیریږي. لیپپپ د نظریې له لارې حرکت کوي، کوم چې هغه جغرافات دي چې د دلیلونو د لیږد لپاره کارول کیدی شي، او د هغه پرچون ارزښت وړاندې کړي چې د "بیرغ" په بدل کې د بیرغ لپاره چمتو شوي. بیا د قضیې بیان د متغیر "اختیار" ارزښت ارزښت لري چې د نړیوال متغیر لپاره کارول کیدی شي چې وروسته د ټولو استدلالونو لوستلو څخه کار اخیستل کیدی شي.

په نظریه کې کلونونه پدې مانا دي چې ارزښتونه د جغرافیایي توکو لپاره اړین دي. په پورته بېلګه کې ټول بيرغونه د استعمار له خوا تعقیب شوي: "u: d: p: f:". دا پدې مانا ده چې ټول بيرغونه ارزښت لري. که د بیلګې په توګه، "d" او "f" بیرغونه تمه نده چې ارزښت ولري، نو تاسو به "u: dp: f" وي.

د نظریې په پیل کې کولاین، د مثال په توګه ": u: d: p: f:"، په بشپړ ډول مختلف معنا لري. دا تاسو ته اجازه درکوي چې بیرغونه سمبال کړئ چې په نظریه کې استازیتوب نه کوي. په دې حالت کې د "اختیار" متغیر ارزښت د "؟" لپاره ټاکل شوی دی. او د "OPTARG" ارزښت ارزښت غیر متوقع پرچم ته لیږل شوی دی. تاسو ته د یو مناسب غلطی پیغام ښکاره کولو لپاره اجازه درکوی چې د غلطی کاروونکي خبروی.

داسې نښې نښانې چې د پرچم لخوا ندي وړاندې شوي د بټیوټونو لخوا ناڅاپي دي. که چیرې په نظریه کې مشخص شوي بیرغونه چمتو نشي کله چې لیکل کیږي، نو هیڅ شی نه کیږي، مګر که تاسو دا قضیه ستاسو په کوډ کې په ځانګړي توګه نه و ساتئ. هر ډول مباحثې چې د بکسونو لخوا ندي سمبال شوي کیدی شي بیا هم د $ 1، $ 2، او نور متغیر سره ونیول شي.