'\" t .\" Title: getopt .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.20 .\" Date: 2024-05-14 .\" Manual: Корисничке наредбе .\" Source: util-linux 2.40.1 .\" Language: English .\" .TH "GETOPT" "1" "2024-05-14" "util\-linux 2.40.1" "Корисничке наредбе" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "НАЗИВ" getopt \- обрађује опције наредбе (побољшано) .SH "УВОД" .sp \fBgetopt\fP \fIoptstring\fP \fIparameters\fP .sp \fBgetopt\fP [options] [\fB\-\-\fP] \fIoptstring\fP \fIparameters\fP .sp \fBgetopt\fP [options] \fB\-o\fP|\fB\-\-options\fP \fIoptstring\fP [options] [\fB\-\-\fP] \fIparameters\fP .SH "ОПИС" .sp \fBgetopt\fP is used to break up (\fIparse\fP) options in command lines for easy parsing by shell procedures, and to check for valid options. It uses the GNU \fBgetopt\fP(3) routines to do this. .sp Параметри са којима је \fBgetopt\fP позван могу да се поделе на два дела: опције које мењају начин на који ће \fBgetopt\fP урадити обраду (\fIопције\fP и \fIоптниска\fP у \fBSYNOPSIS\fP\-у), и на параметре који ће бити обрађени (\fIпараметри\fP у \fBSYNOPSIS\fP\-у). Други део ће почети на првом не\-опционом параметру који није аргумент опције, или након првог појављивања „\fB\-\-\fP“. Ак се не нађе опција \fB\-o\fP или \fB\-\-options\fP у првом делу, први параметар другог дела се користи као ниска кратких опција. .sp Ако је променљива окружења \fBGETOPT_COMPATIBLE\fP постављена, или ако први \fIпараметар\fP није опција (не почиње са \fB\-\fP, први формат у \fBSYNOPSIS\fP\-у), \fBgetopt\fP ће створити излаз који је сагласан са тим или другим издањима \fBgetopt\fP(1). Још увек ће мешати параметре и препознати опционалне аргументе (видите одељак \fBСАДЕЈСТВЕНОСТ\fP за више о томе). .sp Традиционалне примене \fBgetopt*а(1) нису у стању да се носе са размаком и другим (за шкољку специфичне) специјалним знаковима у аргументима и не\-опционим параметрима. Да би се решио овај проблем, ова примена може да генерише цитирани излаз који шкољка још једном мора протумачити (обично коришћењем наредбе *eval\fP). Ово има ефекат очувања тих знакова, али морате позвати \fBgetopt\fP на начин који више није сагласан са другим издањима (други или трећи формат у \fBSYNOPSIS\fP\-у). Да би се утврдило да ли је ово побољшано издање \fBgetopt\fP\-а(1) инсталирано, може се користити посебна пробна опција (\fB\-T\fP). .SH "ОПЦИЈЕ" .sp \fB\-a\fP, \fB\-\-alternative\fP .RS 4 Допушта дуге опције да почну једним \*(Aq\fB\-\fP\*(Aq. .RE .sp \fB\-l\fP, \fB\-\-longoptions\fP \fIдуге\-опције\fP .RS 4 Дуге (вишезнаковне) опције за препознавање. Више од једног назива опције може се навести одједном, раздвајањем назива зарезом. Ова опција може бити дата више пута, \fIдуге\-опције\fP су збирне. За сваким називом дуге опције у \fIдугим\-опцијама\fP може да следи једна двотачка да назначи да има захтеван аргумент, и са две двотачке да назначи да има опционални аргумент. .RE .sp \fB\-n\fP, \fB\-\-name\fP \fIназив\-програма\fP .RS 4 Назив који ће користити \fBgetopt\fP(3) рутине када извештавају о грешкама. Знајте да грешке \fBgetopt\fP\-а(1) се још увек извештавају као да долазе из „getopt“\-а. .RE .sp \fB\-o\fP, \fB\-\-options\fP \fIкратке\-опције\fP .RS 4 Кратке (један знак) опције које треба препознати. Ако ова опција није пронађена, први параметар \fBgetopt\fP\-а који не почиње са \fB\-\fP (и није аргумент опције) користи се као ниска кратке опција. За сваким знаком кратке опције у \fIкратким\-опцијама\fP може да следи једна двотачка да би се назначило да има потребан аргумент и две двотачке да би се назначило да има опциони аргумент. Први знак кратких опција може бити \fB+\fP или \fB\-\fP како би се утицало на начин на који се опције обрађују и стварају излаз (погледајте одељак \fBРЕЖИМИ СКЕНИРАЊА\fP за детаље). .RE .sp \fB\-q\fP, \fB\-\-quiet\fP .RS 4 Искључује извештавање о грешкама са \fBgetopt\fP(3). .RE .sp \fB\-Q\fP, \fB\-\-quiet\-output\fP .RS 4 Не ствара нормалан излаз. О грешкама још увек извештава \fBgetopt\fP(3), осим ако такође користите \fB\-q\fP. .RE .sp \fB\-s\fP, \fB\-\-shell\fP \fIшкољка\fP .RS 4 Поставља конвенције цитирања на она \fIшкољке\fP. Ако опција \fB\-s\fP није дата, користе се \fBBASH\fP конвенције. Исправни аргументи су тренутно \fBsh\fP \fBbash\fP, \fBcsh\fP, и \fBtcsh\fP. .RE .sp \fB\-T\fP, \fB\-\-test\fP .RS 4 Тестира да ли је ваша \fBgetopt\fP(1) то побољшано или старо издање. Ово не производи излаз, и поставља стање грешке на 4. Остале примене \fBgetopt\fP\-а(1), и овог издања ако је променљива окружења \fBGETOPT_COMPATIBLE\fP постављена, даће „\fB\-\-\fP“ и стање грешке 0. .RE .sp \fB\-u\fP, \fB\-\-unquoted\fP .RS 4 Не цитира излаз. Знајте да празнине и (од шкољке зависни) знакови могу довести до „havoc“ у овом режиму (као што раде са осталим \fBgetopt\fP(1) применама). .RE .sp \fB\-h\fP, \fB\-\-help\fP .RS 4 Приказује текст помоћи и излази. .RE .sp \fB\-V\fP, \fB\-\-version\fP .RS 4 Исписује издање и излази. .RE .SH "ОБРАЂИВАЊЕ" .sp Овај одељак наводи формат другог дела параметара \fBgetopt\fP\-а (\fIпараметри\fP у \fBSYNOPSIS\fP\-у). Следећи одељак (\fBИЗЛАЗ\fP) описује излаз који се ствара. Ови параметри су обично параметри са којима се позивала функција шкољке. Мора се водити рачуна да сваки параметар са којим је позвана функција шкољке одговара тачно једном параметру на списку параметара \fBgetopt\fP\-а (погледајте \fBПРИМЕРЕ\fP). Сво рашчлањивање обављају Гну \fBgetopt\fP(3) рутине. .sp Параметри се обрађују са лева на десно. Сваки параметар је класификован као кратка опција, дуга опција, аргумент опције, или не\-опциони параметар. .sp Једноставна кратка опција је \fB\-\fP за којом следи знак кратке опције. Ако опција има тражени аргумент, може бити написана непосредно после знака опције или као следећи параметар (тј. одвојена размаком на линији наредби). Ако опција има опциони аргумент, мора бити написана непосредно после знака опције ако постоји. .sp Могуће је навести неколико кратких опција након „\fB\-\fP“, све док све (осим могуће последње) немају захтеване или опционалне аргументе. .sp Дуга опција обично почиње са \fB\-\-\fP након чега следи назив дуге опције. Ако опција има тражени аргумент, може бити написана непосредно после назива дуге опције, одвојена са \fB=\fP, или као следећи аргумент (тј. одвојена размаком на линији наредби). Ако опција има опциони аргумент, мора бити написана непосредно после назива дуге опције, одвојена са \fB=\fP, ако постоји (ако додате \fB=\fP, али ништа после тога, тумачи се као да нема аргумента; ово је мала грешка, видите \fBГРЕШКЕ\fP). Дуге опције могу бити скраћене, све док скраћеница није двосмислена. .sp Сваки параметар који не почиње са \fB\-\fP, и није захтевани аргумент претходне опције, јесте не\-опциони параметар. Сваки параметар после \fB\-\-\fP параметра се увек тумачи као не\-опциони параметар. Ако је променљива окружења \fBPOSIXLY_CORRECT\fP постављена, или ниска кратке опције почиње са \fB+\fP, сви преостали параметри се тумаче као не\-опциони параметри одмах чим се нађе први не\-опциони параметар. .SH "ИЗЛАЗ" .sp Излаз се ствара за сваки елемент описан у претходном одељку. Излаз се врши истим редоследом као што су елементи наведени на улазу, осим не\-опционих параметара. Излаз се може извршити у \fIсагласном\fP (\fIбез\-навода\fP) режиму, или на такав начин да су размаци и други специјални знакови унутар аргумената и не\-опционих параметара сачувани (погледајте \fBЦИТИРАЊЕ\fP). Када се излаз обради у скрипти шкољке, изгледаће да је састављен од различитих елемената који се могу обрадити један по један (користећи наредбу „shift“ у већини језика шкољке). Ово је несавршено у режиму без наводника, јер се елементи могу поделити на неочекиваним местима ако садрже размак или специјалне знакове. .sp Ако има проблема приликом обраде параметара, на пример зато што потребан аргумент није нађен или опција није препозната, биће извештено о грешци на стандардној грешци, неће бити излаза за дати елемент, и вратиће се не\-нулто стање грешке. .sp За кратку опцију, један \fB\-\fP и знак опције се стварају као један параметар. Ако опција има аргумент, следећи параметар биће аргумент. Ако опција садржи опциони аргумент, али се не нађе ни један, следећи параметар биће створен али ће бити празан у режиму цитирања, али никакав други параметар неће бити створен у нецитираном (сагласном) режиму. Знајте да многе друге примене \fBgetopt\fP\-а(1) не подржавају опционалне аргументе. .sp Ако је неколико кратких опција наведено после једног \fB\-\fP, свака ће бити присутна у излазу као одвојени параметар. .sp За дугу опцију, „\fB\-\-\fP“ и пун назив опције се генеришу као један параметар. Ово се уради без обзира да ли је опција скраћена или наведена једним „\fB\-\fP“ на улазу. Са аргументима се ради као са кратким опцијама. .sp Нормално, никакав излаз не\-опционих параметара се не ствара док се не створе све опције и њихови аргументи. Тада се \fB\-\-\fP ствара као један параметар, и након тога не\-опциони параметри по редоследу како се нађу, сваки као засебан параметар. Само ако је први знак ниске кратких опција био \fB\-\fP, излаз не\-опционог параметра се ствара на месту њиховог налажења на улазу (ово није подржано ако се користи први формат \fBSYNOPSIS\fP\-а; у том случају сва претходна појављивања \fB\-\fP и \fB+\fP се занемарују). .SH "ЦИТИРАЊЕ" .sp У режиму сагласности, размацима или „посебним“ знаковима у аргументима или не\-опционим параметрима се не рукује исправно. Пошто се излаз уноси у скрипту шкољке, скрипта не зна како би требало да разбије излаз на засебне параметре. Да би се заобишао овај проблем, ова примена нуди цитирање. Идеја је да се излаз створи са наводницима око сваког параметра. Када се овај излаз још једном унесе у шкољку (обично \fBeval\fP наредбом škoqke), тада се исправно дели на засебне параметре. .sp Цитирање није укључено ако је променљива окружења \fBGETOPT_COMPATIBLE\fP постављена, ако се први облик \fBSYNOPSIS\fP користи, или ако се нађе опција \fB\-u\fP. .sp Другачије шкољке користе другачије договоре о цитирању. Можете да користите опцију \fB\-s\fP\*(Aq да изаберете шкољку коју користите. Следеће шкољке су тренутно подржане: \fBsh\fP, \fBbash\fP, \fBcsh\fP и \fBtcsh\fP. Заправо, разликују се само два „укуса“: sh\-слични и csh\-слични договори цитирања. Постоје шансе да ако користите неки други језик скрипте шкољке, један од ових укуса и даље може да се користи. .SH "РЕЖИМИ СКЕНИРАЊА" .sp Први знак ниски кратких опција може бити „\fB\-\fP“ или „\fB+\fP“ за назначавање специјалног режима скенирања. Ако се користи први облик позивања у \fBSYNOPSIS\fP занемарују се; променљива окружења \fBPOSIXLY_CORRECT\fP се и даље испитује. .sp Ако је први знак „\fB+\fP“, или ако је променљива окружења \fBPOSIXLY_CORRECT\fP постављена, обрађивање се зауставља одмах чим се нађе први параметар не\-опције (тј., параметар који не почиње са „\fB\-\fP“) који није аргумент опције. Преостали параметри се сви тумаче као параметри не\-опције. .sp Ако је први знак „\fB\-\fP“, параметри не\-опције се исписују на месту на коме су пронађени; у нормалним радњама, сви се прикупљају на крај излаза после стварања „\fB\-\-\fP“ параметра. Знајте да се овај „\fB\-\-\fP“ параметар још увек ствара, али ће увек бити последњи параметар у овом режиму. .SH "САОБРАЗНОСТ" .sp Ово издање \fBgetopt\fP\-а(1) је написано да буде што је више могуће сагласно са осталим издањима. Обично можете само да их замените овим издањем без икаквих измена, и са неким предностима. .sp Ако први знак првог параметра „getopt“\-а није \fB\-\fP, \fBgetopt\fP прелази у режим сагласности. Први параметар тумачиће као низ кратких опција, а сви остали аргументи биће обрађени. И даље ће вршити мешање параметара (тј. сви не\-опциони параметри се обрађују на крају), осим ако је променљива окружења \fBPOSIXLY_CORRECT\fP постављена, у ком случају ће, \fBgezopt\fP сам додати \fB+\fP пре кратке опције. .sp Променљива окружења \fBGETOPT_COMPATIBLE\fP приморава \fBgetopt\fP у режим сагласности. Постављање и ове променљиве окружења и \fBPOSIXLY_CORRECT\fP нуди 100% сагласност за „тешке“ програме. Обично, ништа од тога није потребно. .sp У режиму саобразности, водећи знакови \fB\-\fP и \fB+\fP у нискама кратких опција се занемарују. .SH "ПОВРАТНИ КОДОВИ" .sp \fBgetopt\fP returns error code \fB0\fP for successful parsing, \fB1\fP if \fBgetopt\fP(3) returns errors, \fB2\fP if it does not understand its own parameters, \fB3\fP if an internal error occurs like out\-of\-memory, and \fB4\fP if it is called with \fB\-T\fP. .SH "ПРИМЕРИ" .sp Скрипте примера за „(ba)sh“ и „(t)csh“ су достављене са \fBgetopt\fP(1) дистрибуцијом, и инсталиране су у директоријуму \fI/usr/share/doc/util\-linux\fP. .SH "ОКРУЖЕЊЕ" .sp \fBPOSIXLY_CORRECT\fP .RS 4 Ова променљива окружења је испитана \fBgetopt\fP(3) рутинама. Ако је постављена, обрада стаје одмах чим се нађе параметар који није опција или аргумент опције. Сви преостали параметри се такође тумаче као не\-опциони параметри, без обзира да ли почињу са „\fB\-\fP“. .RE .sp \fBGETOPT_COMPATIBLE\fP .RS 4 Приморава да \fBgetopt\fP користи први формат позивања као што је наведено у \fBSYNOPSIS\fP. .RE .SH "ГРЕШКЕ" .sp \fBgetopt\fP(3) can parse long options with optional arguments that are given an empty optional argument (but cannot do this for short options). This \fBgetopt\fP(1) treats optional arguments that are empty as if they were not present. .sp Синтакса ако уопште не желите никакве променљиве кратке опције није баш препознатљива (морате изричито да их поставите на празну ниску). .SH "АУТОР" .sp .MTO "frodo\(atfrodo.looijaard.name" "Frodo Looijaard" "" .SH "ПОГЛЕДАЈТЕ ТАКОЂЕ" .sp \fBbash\fP(1), \fBtcsh\fP(1), \fBgetopt\fP(3) .SH "ПРИЈАВЉИВАЊЕ ГРЕШАКА" .sp За пријављивање грешака, користите пратиоца грешака на \c .URL "https://github.com/util\-linux/util\-linux/issues" "" "." .SH "ДОСТУПНОСТ" .sp Наредба \fBgetopt\fP је део пакета „util\-linux“ који се може преузети са \c .URL "https://www.kernel.org/pub/linux/utils/util\-linux/" "Архиве Линукс кернела" "."