Чӣ тавр ба мубоҳисаҳо ба як блогҳо гузаред

Фармонҳо, матн ва мисолҳо

Шумо метавонед скрипкаи чопро чоп кунед , ки он далелҳоро қабул мекунад, ки вақте ки скрипт аз хати фармон даъват мешавад. Ин усул вақте истифода мешавад, ки як скрипт бояд функсияҳои каме фарқ кунад, вобаста ба арзишҳои параметрҳои параметр (argument).

Масалан, шумо метавонед як скрипт номида мешавад "stats.sh", ки амалиётро дар як файл иҷро мекунад, ба монанди ҳисобкунии калимаҳои худ. Агар шумо хоҳед, ки ин файлро дар бисёр файлҳо истифода баред, беҳтар аст, ки номи файл ҳамчун далели гузаред, то шумо метавонед ҳамаи скриптҳоро барои ҳамаи файлҳои коркардашуда истифода баред. Масалан, агар номи корбаре, ки коркард карда мешавад, "рӯйхати суроға" бошад, шумо сатрҳои зеринро ворид кардаед:

Садо Ояндасоз

Аргентҳо дар дохили як скрипт бо истифода аз тағйирёбии $ 1, $ 2, $ 3, ва ғ., Ки дар он $ 1 ба ибтидои ибтидоӣ, $ 2 ба ду далели дуюм ишора мекунад. Ин дар мисоли зерин оварда шудааст:

FILE1 = $ 1 wc $ FILE1

Барои хондан, як тағирро бо номи тавсифӣ ба арзиши ибтидоӣ ($ 1) таъин кунед ва сипас номи ин калимаро ( wc ) дар ин тағирот ($ FILE1) занг занед.

Агар шумо шумораи рақамҳои вобасташуда дошта бошед, шумо метавонед ба "$ @" иваз карда шавед, ки ин маҷмӯи ҳамаи параметрҳои воридотӣ мебошад. Ин маънои онро дорад, ки шумо метавонед барои якбора истифода бурдани ҳар як корро, ки дар намунаи зерин нишон додаед, истифода баред:

барои FILE1 дар "$ @" wc $ FILE1 анҷом дода шудааст

Ин мисолест, ки чӣ тавр ба ин калима бо зикри аз хати фармонҳо занг занед:

Шейх Мишари Рашид

Агар баҳсу мундариҷа мавҷуд бошад, шумо бояд онро бо як нусхаи ягона ҳамроҳ кунед. Барои намуна:

sh stats.sh 'феҳристи мусиқӣ' 1 '' listlist 2 '' феҳристи мусиқӣ 3 '

Одатан як скрипт навишта шудааст, ки истифодабаранда метавонад дар ҳама гуна тартибот бо парчамҳо дар аризаҳо гузарад. Бо усули парчам, шумо метавонед якчанд далелҳоро интихоб кунед.

Бигӯед, ки шумо дорои скриптест, ки маълумотро аз пойгоҳи додашударо дар асоси параметрҳои муайян ба монанди "номи корбар", "сана" ва "маҳсулот" дарёфт ва ҳисоботро дар формати "формат" месозад. Акнун шумо мехоҳед, ки скрипти худро нависед, то шумо дар ин параметрҳо гузаред, вақте ки скрипт номида мешавад. Ин метавонад чунин бошад:

ки дар он 10-20-2011 -f pdf

Башорат ба ин функсия бо функсияи "getopts" имконият медиҳад. Барои мисоли дар боло зикршуда, шумо метавонед ба таври дастӣ истифода баред:

Ин як давраест, ки функсияи "getopts" ва "номаълум" -ро истифода мебарад, дар ин ҳолат "u: d: p: f:", ки ба воситаи далелҳо такрор кунед. Ҳангоми давра ба давра ба воситаи оптикӣ, ки дорои парчамҳое ҳастанд, ки метавонанд барои мубоҳисаҳо истифода шаванд, ва арзиши ибтидоӣ барои параграф ба намуди "ихтиёр" дода мешавад. Сатҳи баёнот арзиши тағйирёбандаи "интихоби" ба як тағйироти глобалӣ, ки баъд аз ҳамаи далелҳо хонда мешавад, таъин мекунад.

Сутунҳо дар оптикӣ маънои онро доранд, ки арзишҳо барои парчамҳои дахлдор заруранд. Дар намунаи дар боло зикршуда, ҳамаи байрақҳо аз ҷониби колония пайравӣ мекунанд: "u: d: p: f:". Ин маънои онро дорад, ки ҳамаи парчамҳо арзиши худро талаб мекунанд. Агар, масалан, парчамҳои "d" ва "f" интизори арзиш дошта бошанд, оптимӣ "u: dp: f" хоҳад буд.

Дар колонияи оптикӣ, масалан, "u: d: p: f:", маънои комилан дигар дорад. Он ба шумо имкон медиҳад, ки парчамонро, ки дар оптикӣ намебошанд, истифода баред. Дар ин ҳолат арзиши "интихоби" параметр ба "?" ва арзиши "OPTARG" ба байрақи ногаҳонӣ муқаррар карда мешавад. Ба шумо имкон медиҳад, ки паёми хатоеро, ки ба корбар хатогӣ медиҳад, нишон диҳед.

Аргументҳое, ки пеш аз парчам набошанд, аз ҷониби дастхатҳо беэътибор дониста мешаванд. Агар параметрҳои дар оптикӣ муқарраршуда, вақте ки ин номро хонда намешавад, таъмин карда намешавад, агар шумо ин коғазро дар коди худ махсусан ҳал накунед. Ҳар як баҳсҳое, ки аз тарафи дастгоҳҳо идора нашудаанд, бо вуҷуди тағйирёбии $ 1, $ 2 ва ғайра боқӣ мемонанд.