bashref.pot 498 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147
  1. # SOME DESCRIPTIVE TITLE
  2. # Copyright (C) YEAR Free Software Foundation, Inc.
  3. # This file is distributed under the same license as the PACKAGE package.
  4. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
  5. #
  6. #, fuzzy
  7. msgid ""
  8. msgstr ""
  9. "Project-Id-Version: PACKAGE VERSION\n"
  10. "POT-Creation-Date: 2020-12-07 18:35+0100\n"
  11. "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  12. "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  13. "Language-Team: LANGUAGE <LL@li.org>\n"
  14. "Language: \n"
  15. "MIME-Version: 1.0\n"
  16. "Content-Type: text/plain; charset=CHARSET\n"
  17. "Content-Transfer-Encoding: 8bit\n"
  18. #. type: title
  19. #: ./bashref.texi:4 ./bashref.texi:41
  20. #, no-wrap
  21. msgid "Bash Reference Manual"
  22. msgstr ""
  23. #. type: include
  24. #: ./bashref.texi:6
  25. #, no-wrap
  26. msgid "version.texi"
  27. msgstr ""
  28. #. type: copying
  29. #: ./bashref.texi:12
  30. msgid ""
  31. "This text is a brief description of the features that are present in the "
  32. "Bash shell (version @value{VERSION}, @value{UPDATED})."
  33. msgstr ""
  34. #. type: ifnottex
  35. #: ./bashref.texi:16 ./bashref.texi:67
  36. msgid ""
  37. "This is Edition @value{EDITION}, last updated @value{UPDATED}, of @cite{The "
  38. "GNU Bash Reference Manual}, for @code{Bash}, Version @value{VERSION}."
  39. msgstr ""
  40. #. type: copying
  41. #: ./bashref.texi:18
  42. msgid "Copyright @copyright{} 1988--2020 Free Software Foundation, Inc."
  43. msgstr ""
  44. #. type: quotation
  45. #: ./bashref.texi:26
  46. msgid ""
  47. "Permission is granted to copy, distribute and/or modify this document under "
  48. "the terms of the GNU Free Documentation License, Version 1.3 or any later "
  49. "version published by the Free Software Foundation; with no Invariant "
  50. "Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the "
  51. "license is included in the section entitled ``GNU Free Documentation "
  52. "License''."
  53. msgstr ""
  54. #. type: dircategory
  55. #: ./bashref.texi:33
  56. #, no-wrap
  57. msgid "Basics"
  58. msgstr ""
  59. #. type: menuentry
  60. #: ./bashref.texi:36
  61. msgid "Bash: (bash)"
  62. msgstr ""
  63. #. type: menuentry
  64. #: ./bashref.texi:36
  65. msgid "The GNU Bourne-Again SHell."
  66. msgstr ""
  67. #. type: subtitle
  68. #: ./bashref.texi:42
  69. #, no-wrap
  70. msgid "Reference Documentation for Bash"
  71. msgstr ""
  72. #. type: subtitle
  73. #: ./bashref.texi:43
  74. #, no-wrap
  75. msgid "Edition @value{EDITION}, for @code{Bash} Version @value{VERSION}."
  76. msgstr ""
  77. #. type: subtitle
  78. #: ./bashref.texi:44
  79. #, no-wrap
  80. msgid "@value{UPDATED-MONTH}"
  81. msgstr ""
  82. #. type: author
  83. #: ./bashref.texi:45
  84. #, no-wrap
  85. msgid "Chet Ramey, Case Western Reserve University"
  86. msgstr ""
  87. #. type: author
  88. #: ./bashref.texi:46
  89. #, no-wrap
  90. msgid "Brian Fox, Free Software Foundation"
  91. msgstr ""
  92. #. type: node
  93. #: ./bashref.texi:57
  94. #, no-wrap
  95. msgid "Top"
  96. msgstr ""
  97. #. type: chapter
  98. #: ./bashref.texi:57 ./bashref.texi:100 ./bashref.texi:103 ./bashref.texi:104
  99. #, no-wrap
  100. msgid "Introduction"
  101. msgstr ""
  102. #. type: node
  103. #: ./bashref.texi:57 ./bashref.texi:57
  104. #, no-wrap
  105. msgid "(dir)"
  106. msgstr ""
  107. #. type: chapter
  108. #: ./bashref.texi:58 ./bashref.texi:100 ./bashref.texi:6463 ./bashref.texi:6464
  109. #, no-wrap
  110. msgid "Bash Features"
  111. msgstr ""
  112. #. type: ifnottex
  113. #: ./bashref.texi:63
  114. msgid ""
  115. "This text is a brief description of the features that are present in the "
  116. "Bash shell (version @value{VERSION}, @value{UPDATED}). The Bash home page "
  117. "is @url{http://www.gnu.org/software/bash/}."
  118. msgstr ""
  119. #. type: ifnottex
  120. #: ./bashref.texi:75
  121. msgid ""
  122. "Bash contains features that appear in other popular shells, and some "
  123. "features that only appear in Bash. Some of the shells that Bash has "
  124. "borrowed concepts from are the Bourne Shell (@file{sh}), the Korn Shell "
  125. "(@file{ksh}), and the C-shell (@file{csh} and its successor, @file{tcsh}). "
  126. "The following menu breaks the features up into categories, noting which "
  127. "features were inspired by other shells and which are specific to Bash."
  128. msgstr ""
  129. #. type: ifnottex
  130. #: ./bashref.texi:79
  131. msgid ""
  132. "This manual is meant as a brief introduction to features found in Bash. The "
  133. "Bash manual page should be used as the definitive reference on shell "
  134. "behavior."
  135. msgstr ""
  136. #. type: menuentry
  137. #: ./bashref.texi:100
  138. msgid "An introduction to the shell."
  139. msgstr ""
  140. #. type: chapter
  141. #: ./bashref.texi:100 ./bashref.texi:191 ./bashref.texi:192
  142. #, no-wrap
  143. msgid "Definitions"
  144. msgstr ""
  145. #. type: menuentry
  146. #: ./bashref.texi:100
  147. msgid "Some definitions used in the rest of this manual."
  148. msgstr ""
  149. #. type: chapter
  150. #: ./bashref.texi:100 ./bashref.texi:305 ./bashref.texi:306
  151. #, no-wrap
  152. msgid "Basic Shell Features"
  153. msgstr ""
  154. #. type: menuentry
  155. #: ./bashref.texi:100
  156. msgid "The shell \"building blocks\"."
  157. msgstr ""
  158. #. type: chapter
  159. #: ./bashref.texi:100 ./bashref.texi:3403 ./bashref.texi:3404
  160. #, no-wrap
  161. msgid "Shell Builtin Commands"
  162. msgstr ""
  163. #. type: menuentry
  164. #: ./bashref.texi:100
  165. msgid "Commands that are a part of the shell."
  166. msgstr ""
  167. #. type: chapter
  168. #: ./bashref.texi:100 ./bashref.texi:5574 ./bashref.texi:5575
  169. #, no-wrap
  170. msgid "Shell Variables"
  171. msgstr ""
  172. #. type: menuentry
  173. #: ./bashref.texi:100
  174. msgid "Variables used or set by Bash."
  175. msgstr ""
  176. #. type: menuentry
  177. #: ./bashref.texi:100
  178. msgid "Features found only in Bash."
  179. msgstr ""
  180. #. type: chapter
  181. #: ./bashref.texi:100 ./bashref.texi:8179 ./bashref.texi:8180
  182. #, no-wrap
  183. msgid "Job Control"
  184. msgstr ""
  185. #. type: menuentry
  186. #: ./bashref.texi:100
  187. msgid "What job control is and how Bash allows you to use it."
  188. msgstr ""
  189. #. type: menuentry
  190. #: ./bashref.texi:100
  191. msgid "Command Line Editing"
  192. msgstr ""
  193. #. type: menuentry
  194. #: ./bashref.texi:100
  195. msgid "Chapter describing the command line editing features."
  196. msgstr ""
  197. #. type: menuentry
  198. #: ./bashref.texi:100
  199. msgid "Using History Interactively"
  200. msgstr ""
  201. #. type: menuentry
  202. #: ./bashref.texi:100
  203. msgid "Command History Expansion"
  204. msgstr ""
  205. #. type: chapter
  206. #: ./bashref.texi:100 ./bashref.texi:8498 ./bashref.texi:8499
  207. #, no-wrap
  208. msgid "Installing Bash"
  209. msgstr ""
  210. #. type: menuentry
  211. #: ./bashref.texi:100
  212. msgid "How to build and install Bash on your system."
  213. msgstr ""
  214. #. type: appendix
  215. #: ./bashref.texi:100 ./bashref.texi:9031 ./bashref.texi:9032
  216. #, no-wrap
  217. msgid "Reporting Bugs"
  218. msgstr ""
  219. #. type: menuentry
  220. #: ./bashref.texi:100
  221. msgid "How to report bugs in Bash."
  222. msgstr ""
  223. #. type: appendix
  224. #: ./bashref.texi:100 ./bashref.texi:9070 ./bashref.texi:9071
  225. #, no-wrap
  226. msgid "Major Differences From The Bourne Shell"
  227. msgstr ""
  228. #. type: menuentry
  229. #: ./bashref.texi:100
  230. msgid ""
  231. "A terse list of the differences between Bash and historical versions of "
  232. "/bin/sh."
  233. msgstr ""
  234. #. type: appendix
  235. #: ./bashref.texi:100 ./bashref.texi:9538 ./bashref.texi:9539
  236. #, no-wrap
  237. msgid "GNU Free Documentation License"
  238. msgstr ""
  239. #. type: menuentry
  240. #: ./bashref.texi:100
  241. msgid "Copying and sharing this documentation."
  242. msgstr ""
  243. #. type: appendix
  244. #: ./bashref.texi:100 ./bashref.texi:9543 ./bashref.texi:9544
  245. #, no-wrap
  246. msgid "Indexes"
  247. msgstr ""
  248. #. type: menuentry
  249. #: ./bashref.texi:100
  250. msgid "Various indexes for this manual."
  251. msgstr ""
  252. #. type: section
  253. #: ./bashref.texi:108 ./bashref.texi:110 ./bashref.texi:111
  254. #, no-wrap
  255. msgid "What is Bash?"
  256. msgstr ""
  257. #. type: menuentry
  258. #: ./bashref.texi:108
  259. msgid "A short description of Bash."
  260. msgstr ""
  261. #. type: section
  262. #: ./bashref.texi:108 ./bashref.texi:136 ./bashref.texi:137
  263. #, no-wrap
  264. msgid "What is a shell?"
  265. msgstr ""
  266. #. type: menuentry
  267. #: ./bashref.texi:108
  268. msgid "A brief introduction to shells."
  269. msgstr ""
  270. #. type: Plain text
  271. #: ./bashref.texi:120
  272. msgid ""
  273. "Bash is the shell, or command language interpreter, for the @sc{gnu} "
  274. "operating system. The name is an acronym for the @samp{Bourne-Again SHell}, "
  275. "a pun on Stephen Bourne, the author of the direct ancestor of the current "
  276. "Unix shell @code{sh}, which appeared in the Seventh Edition Bell Labs "
  277. "Research version of Unix."
  278. msgstr ""
  279. #. type: Plain text
  280. #: ./bashref.texi:128
  281. msgid ""
  282. "Bash is largely compatible with @code{sh} and incorporates useful features "
  283. "from the Korn shell @code{ksh} and the C shell @code{csh}. It is intended "
  284. "to be a conformant implementation of the @sc{ieee} @sc{posix} Shell and "
  285. "Tools portion of the @sc{ieee} @sc{posix} specification (@sc{ieee} Standard "
  286. "1003.1). It offers functional improvements over @code{sh} for both "
  287. "interactive and programming use."
  288. msgstr ""
  289. #. type: Plain text
  290. #: ./bashref.texi:135
  291. msgid ""
  292. "While the @sc{gnu} operating system provides other shells, including a "
  293. "version of @code{csh}, Bash is the default shell. Like other @sc{gnu} "
  294. "software, Bash is quite portable. It currently runs on nearly every version "
  295. "of Unix and a few other operating systems @minus{} independently-supported "
  296. "ports exist for @sc{ms-dos}, @sc{os/2}, and Windows platforms."
  297. msgstr ""
  298. #. type: Plain text
  299. #: ./bashref.texi:142
  300. msgid ""
  301. "At its base, a shell is simply a macro processor that executes commands. "
  302. "The term macro processor means functionality where text and symbols are "
  303. "expanded to create larger expressions."
  304. msgstr ""
  305. #. type: Plain text
  306. #: ./bashref.texi:152
  307. msgid ""
  308. "A Unix shell is both a command interpreter and a programming language. As a "
  309. "command interpreter, the shell provides the user interface to the rich set "
  310. "of @sc{gnu} utilities. The programming language features allow these "
  311. "utilities to be combined. Files containing commands can be created, and "
  312. "become commands themselves. These new commands have the same status as "
  313. "system commands in directories such as @file{/bin}, allowing users or groups "
  314. "to establish custom environments to automate their common tasks."
  315. msgstr ""
  316. #. type: Plain text
  317. #: ./bashref.texi:157
  318. msgid ""
  319. "Shells may be used interactively or non-interactively. In interactive mode, "
  320. "they accept input typed from the keyboard. When executing "
  321. "non-interactively, shells execute commands read from a file."
  322. msgstr ""
  323. #. type: Plain text
  324. #: ./bashref.texi:167
  325. msgid ""
  326. "A shell allows execution of @sc{gnu} commands, both synchronously and "
  327. "asynchronously. The shell waits for synchronous commands to complete before "
  328. "accepting more input; asynchronous commands continue to execute in parallel "
  329. "with the shell while it reads and executes additional commands. The "
  330. "@dfn{redirection} constructs permit fine-grained control of the input and "
  331. "output of those commands. Moreover, the shell allows control over the "
  332. "contents of commands' environments."
  333. msgstr ""
  334. #. type: Plain text
  335. #: ./bashref.texi:179
  336. msgid ""
  337. "Shells also provide a small set of built-in commands (@dfn{builtins}) "
  338. "implementing functionality impossible or inconvenient to obtain via separate "
  339. "utilities. For example, @code{cd}, @code{break}, @code{continue}, and "
  340. "@code{exec} cannot be implemented outside of the shell because they directly "
  341. "manipulate the shell itself. The @code{history}, @code{getopts}, "
  342. "@code{kill}, or @code{pwd} builtins, among others, could be implemented in "
  343. "separate utilities, but they are more convenient to use as builtin "
  344. "commands. All of the shell builtins are described in subsequent sections."
  345. msgstr ""
  346. #. type: Plain text
  347. #: ./bashref.texi:184
  348. msgid ""
  349. "While executing commands is essential, most of the power (and complexity) of "
  350. "shells is due to their embedded programming languages. Like any high-level "
  351. "language, the shell provides variables, flow control constructs, quoting, "
  352. "and functions."
  353. msgstr ""
  354. #. type: Plain text
  355. #: ./bashref.texi:190
  356. msgid ""
  357. "Shells offer features geared specifically for interactive use rather than to "
  358. "augment the programming language. These interactive features include job "
  359. "control, command line editing, command history and aliases. Each of these "
  360. "features is described in this manual."
  361. msgstr ""
  362. #. type: Plain text
  363. #: ./bashref.texi:194
  364. msgid "These definitions are used throughout the remainder of this manual."
  365. msgstr ""
  366. #. type: cindex
  367. #: ./bashref.texi:197 ./bashref.texi:198
  368. #, no-wrap
  369. msgid "POSIX"
  370. msgstr ""
  371. #. type: table
  372. #: ./bashref.texi:202
  373. msgid ""
  374. "A family of open system standards based on Unix. Bash is primarily "
  375. "concerned with the Shell and Utilities portion of the @sc{posix} 1003.1 "
  376. "standard."
  377. msgstr ""
  378. #. type: item
  379. #: ./bashref.texi:203
  380. #, no-wrap
  381. msgid "blank"
  382. msgstr ""
  383. #. type: table
  384. #: ./bashref.texi:205
  385. msgid "A space or tab character."
  386. msgstr ""
  387. #. type: btindex
  388. #: ./bashref.texi:206 ./bashref.texi:207 ./bashref.texi:4128 ./bashref.texi:4129
  389. #, no-wrap
  390. msgid "builtin"
  391. msgstr ""
  392. #. type: table
  393. #: ./bashref.texi:210
  394. msgid ""
  395. "A command that is implemented internally by the shell itself, rather than by "
  396. "an executable program somewhere in the file system."
  397. msgstr ""
  398. #. type: cindex
  399. #: ./bashref.texi:211 ./bashref.texi:212
  400. #, no-wrap
  401. msgid "control operator"
  402. msgstr ""
  403. #. type: table
  404. #: ./bashref.texi:217
  405. msgid ""
  406. "A @code{token} that performs a control function. It is a @code{newline} or "
  407. "one of the following: @samp{||}, @samp{&&}, @samp{&}, @samp{;}, @samp{;;}, "
  408. "@samp{;&}, @samp{;;&}, @samp{|}, @samp{|&}, @samp{(}, or @samp{)}."
  409. msgstr ""
  410. #. type: cindex
  411. #: ./bashref.texi:218 ./bashref.texi:219 ./bashref.texi:3251
  412. #, no-wrap
  413. msgid "exit status"
  414. msgstr ""
  415. #. type: table
  416. #: ./bashref.texi:222
  417. msgid ""
  418. "The value returned by a command to its caller. The value is restricted to "
  419. "eight bits, so the maximum value is 255."
  420. msgstr ""
  421. #. type: cindex
  422. #: ./bashref.texi:223 ./bashref.texi:224
  423. #, no-wrap
  424. msgid "field"
  425. msgstr ""
  426. #. type: table
  427. #: ./bashref.texi:228
  428. msgid ""
  429. "A unit of text that is the result of one of the shell expansions. After "
  430. "expansion, when executing a command, the resulting fields are used as the "
  431. "command name and arguments."
  432. msgstr ""
  433. #. type: cindex
  434. #: ./bashref.texi:229 ./bashref.texi:230
  435. #, no-wrap
  436. msgid "filename"
  437. msgstr ""
  438. #. type: table
  439. #: ./bashref.texi:232
  440. msgid "A string of characters used to identify a file."
  441. msgstr ""
  442. #. type: cindex
  443. #: ./bashref.texi:233 ./bashref.texi:234
  444. #, no-wrap
  445. msgid "job"
  446. msgstr ""
  447. #. type: table
  448. #: ./bashref.texi:237
  449. msgid ""
  450. "A set of processes comprising a pipeline, and any processes descended from "
  451. "it, that are all in the same process group."
  452. msgstr ""
  453. #. type: cindex
  454. #: ./bashref.texi:238 ./bashref.texi:239 ./bashref.texi:8195
  455. #, no-wrap
  456. msgid "job control"
  457. msgstr ""
  458. #. type: table
  459. #: ./bashref.texi:242
  460. msgid ""
  461. "A mechanism by which users can selectively stop (suspend) and restart "
  462. "(resume) execution of processes."
  463. msgstr ""
  464. #. type: cindex
  465. #: ./bashref.texi:243 ./bashref.texi:244
  466. #, no-wrap
  467. msgid "metacharacter"
  468. msgstr ""
  469. #. type: table
  470. #: ./bashref.texi:249
  471. msgid ""
  472. "A character that, when unquoted, separates words. A metacharacter is a "
  473. "@code{space}, @code{tab}, @code{newline}, or one of the following "
  474. "characters: @samp{|}, @samp{&}, @samp{;}, @samp{(}, @samp{)}, @samp{<}, or "
  475. "@samp{>}."
  476. msgstr ""
  477. #. type: cindex
  478. #: ./bashref.texi:250 ./bashref.texi:251
  479. #, no-wrap
  480. msgid "name"
  481. msgstr ""
  482. #. type: cindex
  483. #: ./bashref.texi:252
  484. #, no-wrap
  485. msgid "identifier"
  486. msgstr ""
  487. #. type: table
  488. #: ./bashref.texi:257
  489. msgid ""
  490. "A @code{word} consisting solely of letters, numbers, and underscores, and "
  491. "beginning with a letter or underscore. @code{Name}s are used as shell "
  492. "variable and function names. Also referred to as an @code{identifier}."
  493. msgstr ""
  494. #. type: item
  495. #: ./bashref.texi:258
  496. #, no-wrap
  497. msgid "operator"
  498. msgstr ""
  499. #. type: cindex
  500. #: ./bashref.texi:259
  501. #, no-wrap
  502. msgid "operator, shell"
  503. msgstr ""
  504. #. type: table
  505. #: ./bashref.texi:263
  506. msgid ""
  507. "A @code{control operator} or a @code{redirection operator}. "
  508. "@xref{Redirections}, for a list of redirection operators. Operators contain "
  509. "at least one unquoted @code{metacharacter}."
  510. msgstr ""
  511. #. type: cindex
  512. #: ./bashref.texi:264 ./bashref.texi:265
  513. #, no-wrap
  514. msgid "process group"
  515. msgstr ""
  516. #. type: table
  517. #: ./bashref.texi:268
  518. msgid ""
  519. "A collection of related processes each having the same process group "
  520. "@sc{id}."
  521. msgstr ""
  522. #. type: cindex
  523. #: ./bashref.texi:269 ./bashref.texi:270
  524. #, no-wrap
  525. msgid "process group ID"
  526. msgstr ""
  527. #. type: table
  528. #: ./bashref.texi:273
  529. msgid ""
  530. "A unique identifier that represents a @code{process group} during its "
  531. "lifetime."
  532. msgstr ""
  533. #. type: cindex
  534. #: ./bashref.texi:274 ./bashref.texi:275
  535. #, no-wrap
  536. msgid "reserved word"
  537. msgstr ""
  538. #. type: table
  539. #: ./bashref.texi:279
  540. msgid ""
  541. "A @code{word} that has a special meaning to the shell. Most reserved words "
  542. "introduce shell flow control constructs, such as @code{for} and "
  543. "@code{while}."
  544. msgstr ""
  545. #. type: cindex
  546. #: ./bashref.texi:280 ./bashref.texi:281
  547. #, no-wrap
  548. msgid "return status"
  549. msgstr ""
  550. #. type: table
  551. #: ./bashref.texi:283
  552. msgid "A synonym for @code{exit status}."
  553. msgstr ""
  554. #. type: cindex
  555. #: ./bashref.texi:284 ./bashref.texi:285
  556. #, no-wrap
  557. msgid "signal"
  558. msgstr ""
  559. #. type: table
  560. #: ./bashref.texi:288
  561. msgid ""
  562. "A mechanism by which a process may be notified by the kernel of an event "
  563. "occurring in the system."
  564. msgstr ""
  565. #. type: cindex
  566. #: ./bashref.texi:289 ./bashref.texi:290 ./bashref.texi:5545
  567. #, no-wrap
  568. msgid "special builtin"
  569. msgstr ""
  570. #. type: table
  571. #: ./bashref.texi:293
  572. msgid ""
  573. "A shell builtin command that has been classified as special by the "
  574. "@sc{posix} standard."
  575. msgstr ""
  576. #. type: cindex
  577. #: ./bashref.texi:294 ./bashref.texi:295
  578. #, no-wrap
  579. msgid "token"
  580. msgstr ""
  581. #. type: table
  582. #: ./bashref.texi:298
  583. msgid ""
  584. "A sequence of characters considered a single unit by the shell. It is "
  585. "either a @code{word} or an @code{operator}."
  586. msgstr ""
  587. #. type: cindex
  588. #: ./bashref.texi:299 ./bashref.texi:300
  589. #, no-wrap
  590. msgid "word"
  591. msgstr ""
  592. #. type: table
  593. #: ./bashref.texi:303
  594. msgid ""
  595. "A sequence of characters treated as a unit by the shell. Words may not "
  596. "include unquoted @code{metacharacters}."
  597. msgstr ""
  598. #. type: cindex
  599. #: ./bashref.texi:307
  600. #, no-wrap
  601. msgid "Bourne shell"
  602. msgstr ""
  603. #. type: Plain text
  604. #: ./bashref.texi:315
  605. msgid ""
  606. "Bash is an acronym for @samp{Bourne-Again SHell}. The Bourne shell is the "
  607. "traditional Unix shell originally written by Stephen Bourne. All of the "
  608. "Bourne shell builtin commands are available in Bash, The rules for "
  609. "evaluation and quoting are taken from the @sc{posix} specification for the "
  610. "`standard' Unix shell."
  611. msgstr ""
  612. #. type: Plain text
  613. #: ./bashref.texi:321
  614. msgid ""
  615. "This chapter briefly summarizes the shell's `building blocks': commands, "
  616. "control structures, shell functions, shell @i{parameters}, shell expansions, "
  617. "@i{redirections}, which are a way to direct input and output from and to "
  618. "named files, and how the shell executes commands."
  619. msgstr ""
  620. #. type: section
  621. #: ./bashref.texi:332 ./bashref.texi:334 ./bashref.texi:335
  622. #, no-wrap
  623. msgid "Shell Syntax"
  624. msgstr ""
  625. #. type: menuentry
  626. #: ./bashref.texi:332
  627. msgid "What your input means to the shell."
  628. msgstr ""
  629. #. type: section
  630. #: ./bashref.texi:332 ./bashref.texi:575 ./bashref.texi:576
  631. #, no-wrap
  632. msgid "Shell Commands"
  633. msgstr ""
  634. #. type: menuentry
  635. #: ./bashref.texi:332
  636. msgid "The types of commands you can use."
  637. msgstr ""
  638. #. type: section
  639. #: ./bashref.texi:332 ./bashref.texi:1394 ./bashref.texi:1395
  640. #, no-wrap
  641. msgid "Shell Functions"
  642. msgstr ""
  643. #. type: menuentry
  644. #: ./bashref.texi:332
  645. msgid "Grouping commands by name."
  646. msgstr ""
  647. #. type: section
  648. #: ./bashref.texi:332 ./bashref.texi:1578 ./bashref.texi:1579
  649. #, no-wrap
  650. msgid "Shell Parameters"
  651. msgstr ""
  652. #. type: menuentry
  653. #: ./bashref.texi:332
  654. msgid "How the shell stores values."
  655. msgstr ""
  656. #. type: section
  657. #: ./bashref.texi:332 ./bashref.texi:1785 ./bashref.texi:1786
  658. #, no-wrap
  659. msgid "Shell Expansions"
  660. msgstr ""
  661. #. type: menuentry
  662. #: ./bashref.texi:332
  663. msgid "How Bash expands parameters and the various expansions available."
  664. msgstr ""
  665. #. type: section
  666. #: ./bashref.texi:332 ./bashref.texi:2703 ./bashref.texi:2704
  667. #, no-wrap
  668. msgid "Redirections"
  669. msgstr ""
  670. #. type: menuentry
  671. #: ./bashref.texi:332
  672. msgid "A way to control where input and output go."
  673. msgstr ""
  674. #. type: section
  675. #: ./bashref.texi:332 ./bashref.texi:2995 ./bashref.texi:2996
  676. #, no-wrap
  677. msgid "Executing Commands"
  678. msgstr ""
  679. #. type: menuentry
  680. #: ./bashref.texi:332
  681. msgid "What happens when you run a command."
  682. msgstr ""
  683. #. type: section
  684. #: ./bashref.texi:332 ./bashref.texi:3333 ./bashref.texi:3334
  685. #, no-wrap
  686. msgid "Shell Scripts"
  687. msgstr ""
  688. #. type: menuentry
  689. #: ./bashref.texi:332
  690. msgid "Executing files of shell commands."
  691. msgstr ""
  692. #. type: subsection
  693. #: ./bashref.texi:340 ./bashref.texi:357 ./bashref.texi:358
  694. #, no-wrap
  695. msgid "Shell Operation"
  696. msgstr ""
  697. #. type: menuentry
  698. #: ./bashref.texi:340
  699. msgid "The basic operation of the shell."
  700. msgstr ""
  701. #. type: subsection
  702. #: ./bashref.texi:340 ./bashref.texi:398 ./bashref.texi:399
  703. #, no-wrap
  704. msgid "Quoting"
  705. msgstr ""
  706. #. type: menuentry
  707. #: ./bashref.texi:340
  708. msgid "How to remove the special meaning from characters."
  709. msgstr ""
  710. #. type: subsection
  711. #: ./bashref.texi:340 ./bashref.texi:560 ./bashref.texi:561
  712. #, no-wrap
  713. msgid "Comments"
  714. msgstr ""
  715. #. type: menuentry
  716. #: ./bashref.texi:340
  717. msgid "How to specify comments."
  718. msgstr ""
  719. #. type: Plain text
  720. #: ./bashref.texi:346
  721. msgid ""
  722. "When the shell reads input, it proceeds through a sequence of operations. "
  723. "If the input indicates the beginning of a comment, the shell ignores the "
  724. "comment symbol (@samp{#}), and the rest of that line."
  725. msgstr ""
  726. #. type: Plain text
  727. #: ./bashref.texi:350
  728. msgid ""
  729. "Otherwise, roughly speaking, the shell reads its input and divides the input "
  730. "into words and operators, employing the quoting rules to select which "
  731. "meanings to assign various words and characters."
  732. msgstr ""
  733. #. type: Plain text
  734. #: ./bashref.texi:356
  735. msgid ""
  736. "The shell then parses these tokens into commands and other constructs, "
  737. "removes the special meaning of certain words or characters, expands others, "
  738. "redirects input and output as needed, executes the specified command, waits "
  739. "for the command's exit status, and makes that exit status available for "
  740. "further inspection or processing."
  741. msgstr ""
  742. #. type: Plain text
  743. #: ./bashref.texi:363
  744. msgid ""
  745. "The following is a brief description of the shell's operation when it reads "
  746. "and executes a command. Basically, the shell does the following:"
  747. msgstr ""
  748. #. type: enumerate
  749. #: ./bashref.texi:369
  750. msgid ""
  751. "Reads its input from a file (@pxref{Shell Scripts}), from a string supplied "
  752. "as an argument to the @option{-c} invocation option (@pxref{Invoking Bash}), "
  753. "or from the user's terminal."
  754. msgstr ""
  755. #. type: enumerate
  756. #: ./bashref.texi:375
  757. msgid ""
  758. "Breaks the input into words and operators, obeying the quoting rules "
  759. "described in @ref{Quoting}. These tokens are separated by "
  760. "@code{metacharacters}. Alias expansion is performed by this step "
  761. "(@pxref{Aliases})."
  762. msgstr ""
  763. #. type: enumerate
  764. #: ./bashref.texi:379
  765. msgid ""
  766. "Parses the tokens into simple and compound commands (@pxref{Shell "
  767. "Commands})."
  768. msgstr ""
  769. #. type: enumerate
  770. #: ./bashref.texi:384
  771. msgid ""
  772. "Performs the various shell expansions (@pxref{Shell Expansions}), breaking "
  773. "the expanded tokens into lists of filenames (@pxref{Filename Expansion}) "
  774. "and commands and arguments."
  775. msgstr ""
  776. #. type: enumerate
  777. #: ./bashref.texi:388
  778. msgid ""
  779. "Performs any necessary redirections (@pxref{Redirections}) and removes the "
  780. "redirection operators and their operands from the argument list."
  781. msgstr ""
  782. #. type: enumerate
  783. #: ./bashref.texi:391
  784. msgid "Executes the command (@pxref{Executing Commands})."
  785. msgstr ""
  786. #. type: enumerate
  787. #: ./bashref.texi:395
  788. msgid ""
  789. "Optionally waits for the command to complete and collects its exit status "
  790. "(@pxref{Exit Status})."
  791. msgstr ""
  792. #. type: cindex
  793. #: ./bashref.texi:400
  794. #, no-wrap
  795. msgid "quoting"
  796. msgstr ""
  797. #. type: subsubsection
  798. #: ./bashref.texi:410 ./bashref.texi:430 ./bashref.texi:431
  799. #, no-wrap
  800. msgid "Escape Character"
  801. msgstr ""
  802. #. type: menuentry
  803. #: ./bashref.texi:410
  804. msgid "How to remove the special meaning from a single character."
  805. msgstr ""
  806. #. type: subsubsection
  807. #: ./bashref.texi:410 ./bashref.texi:439 ./bashref.texi:440
  808. #, no-wrap
  809. msgid "Single Quotes"
  810. msgstr ""
  811. #. type: menuentry
  812. #: ./bashref.texi:410
  813. msgid "How to inhibit all interpretation of a sequence of characters."
  814. msgstr ""
  815. #. type: subsubsection
  816. #: ./bashref.texi:410 ./bashref.texi:446 ./bashref.texi:447
  817. #, no-wrap
  818. msgid "Double Quotes"
  819. msgstr ""
  820. #. type: menuentry
  821. #: ./bashref.texi:410
  822. msgid "How to suppress most of the interpretation of a sequence of characters."
  823. msgstr ""
  824. #. type: subsubsection
  825. #: ./bashref.texi:410 ./bashref.texi:474 ./bashref.texi:475
  826. #, no-wrap
  827. msgid "ANSI-C Quoting"
  828. msgstr ""
  829. #. type: menuentry
  830. #: ./bashref.texi:410
  831. msgid "How to expand ANSI-C sequences in quoted strings."
  832. msgstr ""
  833. #. type: node
  834. #: ./bashref.texi:410 ./bashref.texi:529
  835. #, no-wrap
  836. msgid "Locale Translation"
  837. msgstr ""
  838. #. type: menuentry
  839. #: ./bashref.texi:410
  840. msgid "How to translate strings into different languages."
  841. msgstr ""
  842. #. type: Plain text
  843. #: ./bashref.texi:417
  844. msgid ""
  845. "Quoting is used to remove the special meaning of certain characters or words "
  846. "to the shell. Quoting can be used to disable special treatment for special "
  847. "characters, to prevent reserved words from being recognized as such, and to "
  848. "prevent parameter expansion."
  849. msgstr ""
  850. #. type: Plain text
  851. #: ./bashref.texi:426
  852. msgid ""
  853. "Each of the shell metacharacters (@pxref{Definitions}) has special meaning "
  854. "to the shell and must be quoted if it is to represent itself. When the "
  855. "command history expansion facilities are being used (@pxref{History "
  856. "Interaction}), the @var{history expansion} character, usually @samp{!}, must "
  857. "be quoted to prevent history expansion. @xref{Bash History Facilities}, for "
  858. "more details concerning history expansion."
  859. msgstr ""
  860. #. type: Plain text
  861. #: ./bashref.texi:429
  862. msgid ""
  863. "There are three quoting mechanisms: the @var{escape character}, single "
  864. "quotes, and double quotes."
  865. msgstr ""
  866. #. type: Plain text
  867. #: ./bashref.texi:438
  868. msgid ""
  869. "A non-quoted backslash @samp{\\} is the Bash escape character. It preserves "
  870. "the literal value of the next character that follows, with the exception of "
  871. "@code{newline}. If a @code{\\newline} pair appears, and the backslash "
  872. "itself is not quoted, the @code{\\newline} is treated as a line continuation "
  873. "(that is, it is removed from the input stream and effectively ignored)."
  874. msgstr ""
  875. #. type: Plain text
  876. #: ./bashref.texi:445
  877. msgid ""
  878. "Enclosing characters in single quotes (@samp{'}) preserves the literal value "
  879. "of each character within the quotes. A single quote may not occur between "
  880. "single quotes, even when preceded by a backslash."
  881. msgstr ""
  882. #. type: Plain text
  883. #: ./bashref.texi:470
  884. msgid ""
  885. "Enclosing characters in double quotes (@samp{\"}) preserves the literal "
  886. "value of all characters within the quotes, with the exception of @samp{$}, "
  887. "@samp{`}, @samp{\\}, and, when history expansion is enabled, @samp{!}. When "
  888. "the shell is in @sc{posix} mode (@pxref{Bash POSIX Mode}), the @samp{!} has "
  889. "no special meaning within double quotes, even when history expansion is "
  890. "enabled. The characters @samp{$} and @samp{`} retain their special meaning "
  891. "within double quotes (@pxref{Shell Expansions}). The backslash retains its "
  892. "special meaning only when followed by one of the following characters: "
  893. "@samp{$}, @samp{`}, @samp{\"}, @samp{\\}, or @code{newline}. Within double "
  894. "quotes, backslashes that are followed by one of these characters are "
  895. "removed. Backslashes preceding characters without a special meaning are "
  896. "left unmodified. A double quote may be quoted within double quotes by "
  897. "preceding it with a backslash. If enabled, history expansion will be "
  898. "performed unless an @samp{!} appearing in double quotes is escaped using a "
  899. "backslash. The backslash preceding the @samp{!} is not removed."
  900. msgstr ""
  901. #. type: Plain text
  902. #: ./bashref.texi:473
  903. msgid ""
  904. "The special parameters @samp{*} and @samp{@@} have special meaning when in "
  905. "double quotes (@pxref{Shell Parameter Expansion})."
  906. msgstr ""
  907. #. type: cindex
  908. #: ./bashref.texi:476
  909. #, no-wrap
  910. msgid "quoting, ANSI"
  911. msgstr ""
  912. #. type: Plain text
  913. #: ./bashref.texi:482
  914. msgid ""
  915. "Words of the form @code{$'@var{string}'} are treated specially. The word "
  916. "expands to @var{string}, with backslash-escaped characters replaced as "
  917. "specified by the ANSI C standard. Backslash escape sequences, if present, "
  918. "are decoded as follows:"
  919. msgstr ""
  920. #. type: item
  921. #: ./bashref.texi:484 ./bashref.texi:4323 ./bashref.texi:7536
  922. #, no-wrap
  923. msgid "\\a"
  924. msgstr ""
  925. #. type: table
  926. #: ./bashref.texi:486 ./bashref.texi:4325
  927. msgid "alert (bell)"
  928. msgstr ""
  929. #. type: item
  930. #: ./bashref.texi:486 ./bashref.texi:4325
  931. #, no-wrap
  932. msgid "\\b"
  933. msgstr ""
  934. #. type: table
  935. #: ./bashref.texi:488 ./bashref.texi:4327
  936. msgid "backspace"
  937. msgstr ""
  938. #. type: item
  939. #: ./bashref.texi:488 ./bashref.texi:4329 ./bashref.texi:7544
  940. #, no-wrap
  941. msgid "\\e"
  942. msgstr ""
  943. #. type: itemx
  944. #: ./bashref.texi:489 ./bashref.texi:4330
  945. #, no-wrap
  946. msgid "\\E"
  947. msgstr ""
  948. #. type: table
  949. #: ./bashref.texi:491
  950. msgid "an escape character (not ANSI C)"
  951. msgstr ""
  952. #. type: item
  953. #: ./bashref.texi:491 ./bashref.texi:4332
  954. #, no-wrap
  955. msgid "\\f"
  956. msgstr ""
  957. #. type: table
  958. #: ./bashref.texi:493 ./bashref.texi:4334
  959. msgid "form feed"
  960. msgstr ""
  961. #. type: item
  962. #: ./bashref.texi:493 ./bashref.texi:4334 ./bashref.texi:7554
  963. #, no-wrap
  964. msgid "\\n"
  965. msgstr ""
  966. #. type: table
  967. #: ./bashref.texi:495
  968. msgid "newline"
  969. msgstr ""
  970. #. type: item
  971. #: ./bashref.texi:495 ./bashref.texi:4336 ./bashref.texi:7556
  972. #, no-wrap
  973. msgid "\\r"
  974. msgstr ""
  975. #. type: table
  976. #: ./bashref.texi:497 ./bashref.texi:4338
  977. msgid "carriage return"
  978. msgstr ""
  979. #. type: item
  980. #: ./bashref.texi:497 ./bashref.texi:4338 ./bashref.texi:7561
  981. #, no-wrap
  982. msgid "\\t"
  983. msgstr ""
  984. #. type: table
  985. #: ./bashref.texi:499 ./bashref.texi:4340
  986. msgid "horizontal tab"
  987. msgstr ""
  988. #. type: item
  989. #: ./bashref.texi:499 ./bashref.texi:4340 ./bashref.texi:7571
  990. #, no-wrap
  991. msgid "\\v"
  992. msgstr ""
  993. #. type: table
  994. #: ./bashref.texi:501 ./bashref.texi:4342
  995. msgid "vertical tab"
  996. msgstr ""
  997. #. type: item
  998. #: ./bashref.texi:501 ./bashref.texi:4342 ./bashref.texi:7588
  999. #, no-wrap
  1000. msgid "\\\\"
  1001. msgstr ""
  1002. #. type: table
  1003. #: ./bashref.texi:503 ./bashref.texi:4344
  1004. msgid "backslash"
  1005. msgstr ""
  1006. #. type: item
  1007. #: ./bashref.texi:503
  1008. #, no-wrap
  1009. msgid "\\'"
  1010. msgstr ""
  1011. #. type: table
  1012. #: ./bashref.texi:505
  1013. msgid "single quote"
  1014. msgstr ""
  1015. #. type: item
  1016. #: ./bashref.texi:505
  1017. #, no-wrap
  1018. msgid "\\\""
  1019. msgstr ""
  1020. #. type: table
  1021. #: ./bashref.texi:507
  1022. msgid "double quote"
  1023. msgstr ""
  1024. #. type: item
  1025. #: ./bashref.texi:507
  1026. #, no-wrap
  1027. msgid "\\?"
  1028. msgstr ""
  1029. #. type: table
  1030. #: ./bashref.texi:509
  1031. msgid "question mark"
  1032. msgstr ""
  1033. #. type: item
  1034. #: ./bashref.texi:509 ./bashref.texi:7586
  1035. #, no-wrap
  1036. msgid "\\@var{nnn}"
  1037. msgstr ""
  1038. #. type: table
  1039. #: ./bashref.texi:512
  1040. msgid ""
  1041. "the eight-bit character whose value is the octal value @var{nnn} (one to "
  1042. "three octal digits)"
  1043. msgstr ""
  1044. #. type: item
  1045. #: ./bashref.texi:512 ./bashref.texi:4347
  1046. #, no-wrap
  1047. msgid "\\x@var{HH}"
  1048. msgstr ""
  1049. #. type: table
  1050. #: ./bashref.texi:515 ./bashref.texi:4350
  1051. msgid ""
  1052. "the eight-bit character whose value is the hexadecimal value @var{HH} (one "
  1053. "or two hex digits)"
  1054. msgstr ""
  1055. #. type: item
  1056. #: ./bashref.texi:515 ./bashref.texi:4350
  1057. #, no-wrap
  1058. msgid "\\u@var{HHHH}"
  1059. msgstr ""
  1060. #. type: table
  1061. #: ./bashref.texi:518 ./bashref.texi:4353
  1062. msgid ""
  1063. "the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value "
  1064. "@var{HHHH} (one to four hex digits)"
  1065. msgstr ""
  1066. #. type: item
  1067. #: ./bashref.texi:518 ./bashref.texi:4353
  1068. #, no-wrap
  1069. msgid "\\U@var{HHHHHHHH}"
  1070. msgstr ""
  1071. #. type: table
  1072. #: ./bashref.texi:521 ./bashref.texi:4356
  1073. msgid ""
  1074. "the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value "
  1075. "@var{HHHHHHHH} (one to eight hex digits)"
  1076. msgstr ""
  1077. #. type: item
  1078. #: ./bashref.texi:521
  1079. #, no-wrap
  1080. msgid "\\c@var{x}"
  1081. msgstr ""
  1082. #. type: table
  1083. #: ./bashref.texi:523
  1084. msgid "a control-@var{x} character"
  1085. msgstr ""
  1086. #. type: Plain text
  1087. #: ./bashref.texi:528
  1088. msgid ""
  1089. "The expanded result is single-quoted, as if the dollar sign had not been "
  1090. "present."
  1091. msgstr ""
  1092. #. type: subsubsection
  1093. #: ./bashref.texi:530
  1094. #, no-wrap
  1095. msgid "Locale-Specific Translation"
  1096. msgstr ""
  1097. #. type: cindex
  1098. #: ./bashref.texi:531
  1099. #, no-wrap
  1100. msgid "localization"
  1101. msgstr ""
  1102. #. type: cindex
  1103. #: ./bashref.texi:532
  1104. #, no-wrap
  1105. msgid "internationalization"
  1106. msgstr ""
  1107. #. type: cindex
  1108. #: ./bashref.texi:533
  1109. #, no-wrap
  1110. msgid "native languages"
  1111. msgstr ""
  1112. #. type: cindex
  1113. #: ./bashref.texi:534
  1114. #, no-wrap
  1115. msgid "translation, native languages"
  1116. msgstr ""
  1117. #. type: Plain text
  1118. #: ./bashref.texi:547
  1119. msgid ""
  1120. "A double-quoted string preceded by a dollar sign (@samp{$}) will cause the "
  1121. "string to be translated according to the current locale. The @var{gettext} "
  1122. "infrastructure performs the message catalog lookup and translation, using "
  1123. "the @code{LC_MESSAGES} and @code{TEXTDOMAIN} shell variables, as explained "
  1124. "below. See the gettext documentation for additional details. If the current "
  1125. "locale is @code{C} or @code{POSIX}, or if there are no translations "
  1126. "available, the dollar sign is ignored. If the string is translated and "
  1127. "replaced, the replacement is double-quoted."
  1128. msgstr ""
  1129. #. type: item
  1130. #: ./bashref.texi:548 ./bashref.texi:6218
  1131. #, no-wrap
  1132. msgid "LC_MESSAGES"
  1133. msgstr ""
  1134. #. type: vindex
  1135. #: ./bashref.texi:549
  1136. #, no-wrap
  1137. msgid "TEXTDOMAIN"
  1138. msgstr ""
  1139. #. type: vindex
  1140. #: ./bashref.texi:550
  1141. #, no-wrap
  1142. msgid "TEXTDOMAINDIR"
  1143. msgstr ""
  1144. #. type: Plain text
  1145. #: ./bashref.texi:559
  1146. msgid ""
  1147. "Some systems use the message catalog selected by the @env{LC_MESSAGES} shell "
  1148. "variable. Others create the name of the message catalog from the value of "
  1149. "the @env{TEXTDOMAIN} shell variable, possibly adding a suffix of "
  1150. "@samp{.mo}. If you use the @env{TEXTDOMAIN} variable, you may need to set "
  1151. "the @env{TEXTDOMAINDIR} variable to the location of the message catalog "
  1152. "files. Still others use both variables in this fashion: "
  1153. "@env{TEXTDOMAINDIR}/@env{LC_MESSAGES}/LC_MESSAGES/@env{TEXTDOMAIN}.mo."
  1154. msgstr ""
  1155. #. type: cindex
  1156. #: ./bashref.texi:562
  1157. #, no-wrap
  1158. msgid "comments, shell"
  1159. msgstr ""
  1160. #. type: Plain text
  1161. #: ./bashref.texi:574
  1162. msgid ""
  1163. "In a non-interactive shell, or an interactive shell in which the "
  1164. "@code{interactive_comments} option to the @code{shopt} builtin is enabled "
  1165. "(@pxref{The Shopt Builtin}), a word beginning with @samp{#} causes that word "
  1166. "and all remaining characters on that line to be ignored. An interactive "
  1167. "shell without the @code{interactive_comments} option enabled does not allow "
  1168. "comments. The @code{interactive_comments} option is on by default in "
  1169. "interactive shells. @xref{Interactive Shells}, for a description of what "
  1170. "makes a shell interactive."
  1171. msgstr ""
  1172. #. type: cindex
  1173. #: ./bashref.texi:577
  1174. #, no-wrap
  1175. msgid "commands, shell"
  1176. msgstr ""
  1177. #. type: Plain text
  1178. #: ./bashref.texi:581
  1179. msgid ""
  1180. "A simple shell command such as @code{echo a b c} consists of the command "
  1181. "itself followed by arguments, separated by spaces."
  1182. msgstr ""
  1183. #. type: Plain text
  1184. #: ./bashref.texi:586
  1185. msgid ""
  1186. "More complex shell commands are composed of simple commands arranged "
  1187. "together in a variety of ways: in a pipeline in which the output of one "
  1188. "command becomes the input of a second, in a loop or conditional construct, "
  1189. "or in some other grouping."
  1190. msgstr ""
  1191. #. type: subsection
  1192. #: ./bashref.texi:596 ./bashref.texi:598 ./bashref.texi:599
  1193. #, no-wrap
  1194. msgid "Reserved Words"
  1195. msgstr ""
  1196. #. type: menuentry
  1197. #: ./bashref.texi:596
  1198. msgid "Words that have special meaning to the shell."
  1199. msgstr ""
  1200. #. type: subsection
  1201. #: ./bashref.texi:596 ./bashref.texi:624 ./bashref.texi:625
  1202. #, no-wrap
  1203. msgid "Simple Commands"
  1204. msgstr ""
  1205. #. type: menuentry
  1206. #: ./bashref.texi:596
  1207. msgid "The most common type of command."
  1208. msgstr ""
  1209. #. type: subsection
  1210. #: ./bashref.texi:596 ./bashref.texi:639 ./bashref.texi:640
  1211. #, no-wrap
  1212. msgid "Pipelines"
  1213. msgstr ""
  1214. #. type: menuentry
  1215. #: ./bashref.texi:596
  1216. msgid "Connecting the input and output of several commands."
  1217. msgstr ""
  1218. #. type: node
  1219. #: ./bashref.texi:596 ./bashref.texi:713
  1220. #, no-wrap
  1221. msgid "Lists"
  1222. msgstr ""
  1223. #. type: menuentry
  1224. #: ./bashref.texi:596
  1225. msgid "How to execute commands sequentially."
  1226. msgstr ""
  1227. #. type: subsection
  1228. #: ./bashref.texi:596 ./bashref.texi:770 ./bashref.texi:771
  1229. #, no-wrap
  1230. msgid "Compound Commands"
  1231. msgstr ""
  1232. #. type: menuentry
  1233. #: ./bashref.texi:596
  1234. msgid "Shell commands for control flow."
  1235. msgstr ""
  1236. #. type: subsection
  1237. #: ./bashref.texi:596 ./bashref.texi:1221 ./bashref.texi:1222
  1238. #, no-wrap
  1239. msgid "Coprocesses"
  1240. msgstr ""
  1241. #. type: menuentry
  1242. #: ./bashref.texi:596
  1243. msgid "Two-way communication between commands."
  1244. msgstr ""
  1245. #. type: subsection
  1246. #: ./bashref.texi:596 ./bashref.texi:1268 ./bashref.texi:1269
  1247. #, no-wrap
  1248. msgid "GNU Parallel"
  1249. msgstr ""
  1250. #. type: menuentry
  1251. #: ./bashref.texi:596
  1252. msgid "Running commands in parallel."
  1253. msgstr ""
  1254. #. type: cindex
  1255. #: ./bashref.texi:600
  1256. #, no-wrap
  1257. msgid "reserved words"
  1258. msgstr ""
  1259. #. type: Plain text
  1260. #: ./bashref.texi:604
  1261. msgid ""
  1262. "Reserved words are words that have special meaning to the shell. They are "
  1263. "used to begin and end the shell's compound commands."
  1264. msgstr ""
  1265. #. type: Plain text
  1266. #: ./bashref.texi:607
  1267. msgid ""
  1268. "The following words are recognized as reserved when unquoted and the first "
  1269. "word of a command (see below for exceptions):"
  1270. msgstr ""
  1271. #. type: item
  1272. #: ./bashref.texi:609
  1273. #, no-wrap
  1274. msgid "@code{if} @tab @code{then} @tab @code{elif}"
  1275. msgstr ""
  1276. #. type: rwindex
  1277. #: ./bashref.texi:611 ./bashref.texi:879
  1278. #, no-wrap
  1279. msgid "else"
  1280. msgstr ""
  1281. #. type: rwindex
  1282. #: ./bashref.texi:611 ./bashref.texi:881
  1283. #, no-wrap
  1284. msgid "fi"
  1285. msgstr ""
  1286. #. type: multitable
  1287. #: ./bashref.texi:611
  1288. msgid "@code{time}"
  1289. msgstr ""
  1290. #. type: item
  1291. #: ./bashref.texi:611
  1292. #, no-wrap
  1293. msgid "@code{for} @tab @code{in} @tab @code{until}"
  1294. msgstr ""
  1295. #. type: rwindex
  1296. #: ./bashref.texi:613 ./bashref.texi:818 ./bashref.texi:819
  1297. #, no-wrap
  1298. msgid "while"
  1299. msgstr ""
  1300. #. type: rwindex
  1301. #: ./bashref.texi:613 ./bashref.texi:805
  1302. #, no-wrap
  1303. msgid "do"
  1304. msgstr ""
  1305. #. type: multitable
  1306. #: ./bashref.texi:613
  1307. msgid "@code{done}"
  1308. msgstr ""
  1309. #. type: item
  1310. #: ./bashref.texi:613
  1311. #, no-wrap
  1312. msgid "@code{case} @tab @code{esac} @tab @code{coproc}"
  1313. msgstr ""
  1314. #. type: rwindex
  1315. #: ./bashref.texi:615 ./bashref.texi:974 ./bashref.texi:975
  1316. #, no-wrap
  1317. msgid "select"
  1318. msgstr ""
  1319. #. type: multitable
  1320. #: ./bashref.texi:615
  1321. msgid "@code{function}"
  1322. msgstr ""
  1323. #. type: item
  1324. #: ./bashref.texi:615
  1325. #, no-wrap
  1326. msgid "@code{@{} @tab @code{@}} @tab @code{[[} @tab @code{]]} @tab @code{!}"
  1327. msgstr ""
  1328. #. type: Plain text
  1329. #: ./bashref.texi:623
  1330. msgid ""
  1331. "@code{in} is recognized as a reserved word if it is the third word of a "
  1332. "@code{case} or @code{select} command. @code{in} and @code{do} are "
  1333. "recognized as reserved words if they are the third word in a @code{for} "
  1334. "command."
  1335. msgstr ""
  1336. #. type: cindex
  1337. #: ./bashref.texi:626
  1338. #, no-wrap
  1339. msgid "commands, simple"
  1340. msgstr ""
  1341. #. type: Plain text
  1342. #: ./bashref.texi:633
  1343. msgid ""
  1344. "A simple command is the kind of command encountered most often. It's just a "
  1345. "sequence of words separated by @code{blank}s, terminated by one of the "
  1346. "shell's control operators (@pxref{Definitions}). The first word generally "
  1347. "specifies a command to be executed, with the rest of the words being that "
  1348. "command's arguments."
  1349. msgstr ""
  1350. #. type: Plain text
  1351. #: ./bashref.texi:638
  1352. msgid ""
  1353. "The return status (@pxref{Exit Status}) of a simple command is its exit "
  1354. "status as provided by the @sc{posix} 1003.1 @code{waitpid} function, or "
  1355. "128+@var{n} if the command was terminated by signal @var{n}."
  1356. msgstr ""
  1357. #. type: cindex
  1358. #: ./bashref.texi:641
  1359. #, no-wrap
  1360. msgid "pipeline"
  1361. msgstr ""
  1362. #. type: cindex
  1363. #: ./bashref.texi:642
  1364. #, no-wrap
  1365. msgid "commands, pipelines"
  1366. msgstr ""
  1367. #. type: Plain text
  1368. #: ./bashref.texi:646
  1369. msgid ""
  1370. "A @code{pipeline} is a sequence of one or more commands separated by one of "
  1371. "the control operators @samp{|} or @samp{|&}."
  1372. msgstr ""
  1373. #. type: rwindex
  1374. #: ./bashref.texi:647
  1375. #, no-wrap
  1376. msgid "time"
  1377. msgstr ""
  1378. #. type: item
  1379. #: ./bashref.texi:648 ./bashref.texi:1768
  1380. #, no-wrap
  1381. msgid "!"
  1382. msgstr ""
  1383. #. type: cindex
  1384. #: ./bashref.texi:649
  1385. #, no-wrap
  1386. msgid "command timing"
  1387. msgstr ""
  1388. #. type: Plain text
  1389. #: ./bashref.texi:651
  1390. msgid "The format for a pipeline is"
  1391. msgstr ""
  1392. #. type: example
  1393. #: ./bashref.texi:653
  1394. #, no-wrap
  1395. msgid "[time [-p]] [!] @var{command1} [ | or |& @var{command2} ] @dots{}\n"
  1396. msgstr ""
  1397. #. type: Plain text
  1398. #: ./bashref.texi:661
  1399. msgid ""
  1400. "The output of each command in the pipeline is connected via a pipe to the "
  1401. "input of the next command. That is, each command reads the previous "
  1402. "command's output. This connection is performed before any redirections "
  1403. "specified by the command."
  1404. msgstr ""
  1405. #. type: Plain text
  1406. #: ./bashref.texi:668
  1407. msgid ""
  1408. "If @samp{|&} is used, @var{command1}'s standard error, in addition to its "
  1409. "standard output, is connected to @var{command2}'s standard input through the "
  1410. "pipe; it is shorthand for @code{2>&1 |}. This implicit redirection of the "
  1411. "standard error to the standard output is performed after any redirections "
  1412. "specified by the command."
  1413. msgstr ""
  1414. #. type: Plain text
  1415. #: ./bashref.texi:684
  1416. msgid ""
  1417. "The reserved word @code{time} causes timing statistics to be printed for the "
  1418. "pipeline once it finishes. The statistics currently consist of elapsed "
  1419. "(wall-clock) time and user and system time consumed by the command's "
  1420. "execution. The @option{-p} option changes the output format to that "
  1421. "specified by @sc{posix}. When the shell is in @sc{posix} mode (@pxref{Bash "
  1422. "POSIX Mode}), it does not recognize @code{time} as a reserved word if the "
  1423. "next token begins with a @samp{-}. The @env{TIMEFORMAT} variable may be set "
  1424. "to a format string that specifies how the timing information should be "
  1425. "displayed. @xref{Bash Variables}, for a description of the available "
  1426. "formats. The use of @code{time} as a reserved word permits the timing of "
  1427. "shell builtins, shell functions, and pipelines. An external @code{time} "
  1428. "command cannot time these easily."
  1429. msgstr ""
  1430. #. type: Plain text
  1431. #: ./bashref.texi:690
  1432. msgid ""
  1433. "When the shell is in @sc{posix} mode (@pxref{Bash POSIX Mode}), @code{time} "
  1434. "may be followed by a newline. In this case, the shell displays the total "
  1435. "user and system time consumed by the shell and its children. The "
  1436. "@env{TIMEFORMAT} variable may be used to specify the format of the time "
  1437. "information."
  1438. msgstr ""
  1439. #. type: Plain text
  1440. #: ./bashref.texi:693
  1441. msgid ""
  1442. "If the pipeline is not executed asynchronously (@pxref{Lists}), the shell "
  1443. "waits for all commands in the pipeline to complete."
  1444. msgstr ""
  1445. #. type: Plain text
  1446. #: ./bashref.texi:699
  1447. msgid ""
  1448. "Each command in a pipeline is executed in its own subshell, which is a "
  1449. "separate process (@pxref{Command Execution Environment}). If the "
  1450. "@code{lastpipe} option is enabled using the @code{shopt} builtin (@pxref{The "
  1451. "Shopt Builtin}), the last element of a pipeline may be run by the shell "
  1452. "process."
  1453. msgstr ""
  1454. #. type: Plain text
  1455. #: ./bashref.texi:712
  1456. msgid ""
  1457. "The exit status of a pipeline is the exit status of the last command in the "
  1458. "pipeline, unless the @code{pipefail} option is enabled (@pxref{The Set "
  1459. "Builtin}). If @code{pipefail} is enabled, the pipeline's return status is "
  1460. "the value of the last (rightmost) command to exit with a non-zero status, or "
  1461. "zero if all commands exit successfully. If the reserved word @samp{!} "
  1462. "precedes the pipeline, the exit status is the logical negation of the exit "
  1463. "status as described above. The shell waits for all commands in the pipeline "
  1464. "to terminate before returning a value."
  1465. msgstr ""
  1466. #. type: subsection
  1467. #: ./bashref.texi:714
  1468. #, no-wrap
  1469. msgid "Lists of Commands"
  1470. msgstr ""
  1471. #. type: cindex
  1472. #: ./bashref.texi:715
  1473. #, no-wrap
  1474. msgid "commands, lists"
  1475. msgstr ""
  1476. #. type: Plain text
  1477. #: ./bashref.texi:721
  1478. msgid ""
  1479. "A @code{list} is a sequence of one or more pipelines separated by one of the "
  1480. "operators @samp{;}, @samp{&}, @samp{&&}, or @samp{||}, and optionally "
  1481. "terminated by one of @samp{;}, @samp{&}, or a @code{newline}."
  1482. msgstr ""
  1483. #. type: Plain text
  1484. #: ./bashref.texi:725
  1485. msgid ""
  1486. "Of these list operators, @samp{&&} and @samp{||} have equal precedence, "
  1487. "followed by @samp{;} and @samp{&}, which have equal precedence."
  1488. msgstr ""
  1489. #. type: Plain text
  1490. #: ./bashref.texi:728
  1491. msgid ""
  1492. "A sequence of one or more newlines may appear in a @code{list} to delimit "
  1493. "commands, equivalent to a semicolon."
  1494. msgstr ""
  1495. #. type: Plain text
  1496. #: ./bashref.texi:738
  1497. msgid ""
  1498. "If a command is terminated by the control operator @samp{&}, the shell "
  1499. "executes the command asynchronously in a subshell. This is known as "
  1500. "executing the command in the @var{background}, and these are referred to as "
  1501. "@var{asynchronous} commands. The shell does not wait for the command to "
  1502. "finish, and the return status is 0 (true). When job control is not active "
  1503. "(@pxref{Job Control}), the standard input for asynchronous commands, in the "
  1504. "absence of any explicit redirections, is redirected from @code{/dev/null}."
  1505. msgstr ""
  1506. #. type: Plain text
  1507. #: ./bashref.texi:742
  1508. msgid ""
  1509. "Commands separated by a @samp{;} are executed sequentially; the shell waits "
  1510. "for each command to terminate in turn. The return status is the exit status "
  1511. "of the last command executed."
  1512. msgstr ""
  1513. #. type: Plain text
  1514. #: ./bashref.texi:747
  1515. msgid ""
  1516. "@sc{and} and @sc{or} lists are sequences of one or more pipelines separated "
  1517. "by the control operators @samp{&&} and @samp{||}, respectively. @sc{and} "
  1518. "and @sc{or} lists are executed with left associativity."
  1519. msgstr ""
  1520. #. type: Plain text
  1521. #: ./bashref.texi:749
  1522. msgid "An @sc{and} list has the form"
  1523. msgstr ""
  1524. #. type: example
  1525. #: ./bashref.texi:751
  1526. #, no-wrap
  1527. msgid "@var{command1} && @var{command2}\n"
  1528. msgstr ""
  1529. #. type: Plain text
  1530. #: ./bashref.texi:756
  1531. msgid ""
  1532. "@var{command2} is executed if, and only if, @var{command1} returns an exit "
  1533. "status of zero (success)."
  1534. msgstr ""
  1535. #. type: Plain text
  1536. #: ./bashref.texi:758
  1537. msgid "An @sc{or} list has the form"
  1538. msgstr ""
  1539. #. type: example
  1540. #: ./bashref.texi:760
  1541. #, no-wrap
  1542. msgid "@var{command1} || @var{command2}\n"
  1543. msgstr ""
  1544. #. type: Plain text
  1545. #: ./bashref.texi:765
  1546. msgid ""
  1547. "@var{command2} is executed if, and only if, @var{command1} returns a "
  1548. "non-zero exit status."
  1549. msgstr ""
  1550. #. type: Plain text
  1551. #: ./bashref.texi:769
  1552. msgid ""
  1553. "The return status of @sc{and} and @sc{or} lists is the exit status of the "
  1554. "last command executed in the list."
  1555. msgstr ""
  1556. #. type: cindex
  1557. #: ./bashref.texi:772
  1558. #, no-wrap
  1559. msgid "commands, compound"
  1560. msgstr ""
  1561. #. type: subsubsection
  1562. #: ./bashref.texi:778 ./bashref.texi:793 ./bashref.texi:794
  1563. #, no-wrap
  1564. msgid "Looping Constructs"
  1565. msgstr ""
  1566. #. type: menuentry
  1567. #: ./bashref.texi:778
  1568. msgid "Shell commands for iterative action."
  1569. msgstr ""
  1570. #. type: subsubsection
  1571. #: ./bashref.texi:778 ./bashref.texi:871 ./bashref.texi:872
  1572. #, no-wrap
  1573. msgid "Conditional Constructs"
  1574. msgstr ""
  1575. #. type: menuentry
  1576. #: ./bashref.texi:778
  1577. msgid "Shell commands for conditional execution."
  1578. msgstr ""
  1579. #. type: node
  1580. #: ./bashref.texi:778 ./bashref.texi:1177
  1581. #, no-wrap
  1582. msgid "Command Grouping"
  1583. msgstr ""
  1584. #. type: menuentry
  1585. #: ./bashref.texi:778
  1586. msgid "Ways to group commands."
  1587. msgstr ""
  1588. #. type: Plain text
  1589. #: ./bashref.texi:785
  1590. msgid ""
  1591. "Compound commands are the shell programming language constructs. Each "
  1592. "construct begins with a reserved word or control operator and is terminated "
  1593. "by a corresponding reserved word or operator. Any redirections "
  1594. "(@pxref{Redirections}) associated with a compound command apply to all "
  1595. "commands within that compound command unless explicitly overridden."
  1596. msgstr ""
  1597. #. type: Plain text
  1598. #: ./bashref.texi:789
  1599. msgid ""
  1600. "In most cases a list of commands in a compound command's description may be "
  1601. "separated from the rest of the command by one or more newlines, and may be "
  1602. "followed by a newline in place of a semicolon."
  1603. msgstr ""
  1604. #. type: Plain text
  1605. #: ./bashref.texi:792
  1606. msgid ""
  1607. "Bash provides looping constructs, conditional commands, and mechanisms to "
  1608. "group commands and execute them as a unit."
  1609. msgstr ""
  1610. #. type: cindex
  1611. #: ./bashref.texi:795
  1612. #, no-wrap
  1613. msgid "commands, looping"
  1614. msgstr ""
  1615. #. type: Plain text
  1616. #: ./bashref.texi:798
  1617. msgid "Bash supports the following looping constructs."
  1618. msgstr ""
  1619. #. type: Plain text
  1620. #: ./bashref.texi:801
  1621. msgid ""
  1622. "Note that wherever a @samp{;} appears in the description of a command's "
  1623. "syntax, it may be replaced with one or more newlines."
  1624. msgstr ""
  1625. #. type: rwindex
  1626. #: ./bashref.texi:803 ./bashref.texi:804
  1627. #, no-wrap
  1628. msgid "until"
  1629. msgstr ""
  1630. #. type: rwindex
  1631. #: ./bashref.texi:806
  1632. #, no-wrap
  1633. msgid "done"
  1634. msgstr ""
  1635. #. type: table
  1636. #: ./bashref.texi:808
  1637. msgid "The syntax of the @code{until} command is:"
  1638. msgstr ""
  1639. #. type: example
  1640. #: ./bashref.texi:811
  1641. #, no-wrap
  1642. msgid "until @var{test-commands}; do @var{consequent-commands}; done\n"
  1643. msgstr ""
  1644. #. type: table
  1645. #: ./bashref.texi:817
  1646. msgid ""
  1647. "Execute @var{consequent-commands} as long as @var{test-commands} has an exit "
  1648. "status which is not zero. The return status is the exit status of the last "
  1649. "command executed in @var{consequent-commands}, or zero if none was executed."
  1650. msgstr ""
  1651. #. type: table
  1652. #: ./bashref.texi:821
  1653. msgid "The syntax of the @code{while} command is:"
  1654. msgstr ""
  1655. #. type: example
  1656. #: ./bashref.texi:824
  1657. #, no-wrap
  1658. msgid "while @var{test-commands}; do @var{consequent-commands}; done\n"
  1659. msgstr ""
  1660. #. type: table
  1661. #: ./bashref.texi:830
  1662. msgid ""
  1663. "Execute @var{consequent-commands} as long as @var{test-commands} has an exit "
  1664. "status of zero. The return status is the exit status of the last command "
  1665. "executed in @var{consequent-commands}, or zero if none was executed."
  1666. msgstr ""
  1667. #. type: rwindex
  1668. #: ./bashref.texi:831 ./bashref.texi:832
  1669. #, no-wrap
  1670. msgid "for"
  1671. msgstr ""
  1672. #. type: table
  1673. #: ./bashref.texi:834
  1674. msgid "The syntax of the @code{for} command is:"
  1675. msgstr ""
  1676. #. type: example
  1677. #: ./bashref.texi:837
  1678. #, no-wrap
  1679. msgid "for @var{name} [ [in [@var{words} @dots{}] ] ; ] do @var{commands}; done\n"
  1680. msgstr ""
  1681. #. type: table
  1682. #: ./bashref.texi:846
  1683. msgid ""
  1684. "Expand @var{words} (@pxref{Shell Expansions}), and execute @var{commands} "
  1685. "once for each member in the resultant list, with @var{name} bound to the "
  1686. "current member. If @samp{in @var{words}} is not present, the @code{for} "
  1687. "command executes the @var{commands} once for each positional parameter that "
  1688. "is set, as if @samp{in \"$@@\"} had been specified (@pxref{Special "
  1689. "Parameters})."
  1690. msgstr ""
  1691. #. type: table
  1692. #: ./bashref.texi:850
  1693. msgid ""
  1694. "The return status is the exit status of the last command that executes. If "
  1695. "there are no items in the expansion of @var{words}, no commands are "
  1696. "executed, and the return status is zero."
  1697. msgstr ""
  1698. #. type: table
  1699. #: ./bashref.texi:852
  1700. msgid "An alternate form of the @code{for} command is also supported:"
  1701. msgstr ""
  1702. #. type: example
  1703. #: ./bashref.texi:855
  1704. #, no-wrap
  1705. msgid ""
  1706. "for (( @var{expr1} ; @var{expr2} ; @var{expr3} )) ; do @var{commands} ; "
  1707. "done\n"
  1708. msgstr ""
  1709. #. type: table
  1710. #: ./bashref.texi:866
  1711. msgid ""
  1712. "First, the arithmetic expression @var{expr1} is evaluated according to the "
  1713. "rules described below (@pxref{Shell Arithmetic}). The arithmetic expression "
  1714. "@var{expr2} is then evaluated repeatedly until it evaluates to zero. Each "
  1715. "time @var{expr2} evaluates to a non-zero value, @var{commands} are executed "
  1716. "and the arithmetic expression @var{expr3} is evaluated. If any expression "
  1717. "is omitted, it behaves as if it evaluates to 1. The return value is the "
  1718. "exit status of the last command in @var{commands} that is executed, or false "
  1719. "if any of the expressions is invalid."
  1720. msgstr ""
  1721. #. type: Plain text
  1722. #: ./bashref.texi:870
  1723. msgid ""
  1724. "The @code{break} and @code{continue} builtins (@pxref{Bourne Shell "
  1725. "Builtins}) may be used to control loop execution."
  1726. msgstr ""
  1727. #. type: cindex
  1728. #: ./bashref.texi:873
  1729. #, no-wrap
  1730. msgid "commands, conditional"
  1731. msgstr ""
  1732. #. type: rwindex
  1733. #: ./bashref.texi:876 ./bashref.texi:877
  1734. #, no-wrap
  1735. msgid "if"
  1736. msgstr ""
  1737. #. type: rwindex
  1738. #: ./bashref.texi:878
  1739. #, no-wrap
  1740. msgid "then"
  1741. msgstr ""
  1742. #. type: rwindex
  1743. #: ./bashref.texi:880
  1744. #, no-wrap
  1745. msgid "elif"
  1746. msgstr ""
  1747. #. type: table
  1748. #: ./bashref.texi:883
  1749. msgid "The syntax of the @code{if} command is:"
  1750. msgstr ""
  1751. #. type: example
  1752. #: ./bashref.texi:891
  1753. #, no-wrap
  1754. msgid ""
  1755. "if @var{test-commands}; then\n"
  1756. " @var{consequent-commands};\n"
  1757. "[elif @var{more-test-commands}; then\n"
  1758. " @var{more-consequents};]\n"
  1759. "[else @var{alternate-consequents};]\n"
  1760. "fi\n"
  1761. msgstr ""
  1762. #. type: table
  1763. #: ./bashref.texi:904
  1764. msgid ""
  1765. "The @var{test-commands} list is executed, and if its return status is zero, "
  1766. "the @var{consequent-commands} list is executed. If @var{test-commands} "
  1767. "returns a non-zero status, each @code{elif} list is executed in turn, and if "
  1768. "its exit status is zero, the corresponding @var{more-consequents} is "
  1769. "executed and the command completes. If @samp{else "
  1770. "@var{alternate-consequents}} is present, and the final command in the final "
  1771. "@code{if} or @code{elif} clause has a non-zero exit status, then "
  1772. "@var{alternate-consequents} is executed. The return status is the exit "
  1773. "status of the last command executed, or zero if no condition tested true."
  1774. msgstr ""
  1775. #. type: rwindex
  1776. #: ./bashref.texi:905 ./bashref.texi:906
  1777. #, no-wrap
  1778. msgid "case"
  1779. msgstr ""
  1780. #. type: rwindex
  1781. #: ./bashref.texi:907
  1782. #, no-wrap
  1783. msgid "in"
  1784. msgstr ""
  1785. #. type: rwindex
  1786. #: ./bashref.texi:908
  1787. #, no-wrap
  1788. msgid "esac"
  1789. msgstr ""
  1790. #. type: table
  1791. #: ./bashref.texi:910
  1792. msgid "The syntax of the @code{case} command is:"
  1793. msgstr ""
  1794. #. type: example
  1795. #: ./bashref.texi:915
  1796. #, no-wrap
  1797. msgid ""
  1798. "case @var{word} in\n"
  1799. " [ [(] @var{pattern} [| @var{pattern}]@dots{}) @var{command-list} "
  1800. ";;]@dots{}\n"
  1801. "esac\n"
  1802. msgstr ""
  1803. #. type: table
  1804. #: ./bashref.texi:929
  1805. msgid ""
  1806. "@code{case} will selectively execute the @var{command-list} corresponding to "
  1807. "the first @var{pattern} that matches @var{word}. The match is performed "
  1808. "according to the rules described below in @ref{Pattern Matching}. If the "
  1809. "@code{nocasematch} shell option (see the description of @code{shopt} in "
  1810. "@ref{The Shopt Builtin}) is enabled, the match is performed without regard "
  1811. "to the case of alphabetic characters. The @samp{|} is used to separate "
  1812. "multiple patterns, and the @samp{)} operator terminates a pattern list. A "
  1813. "list of patterns and an associated command-list is known as a @var{clause}."
  1814. msgstr ""
  1815. #. type: table
  1816. #: ./bashref.texi:937
  1817. msgid ""
  1818. "Each clause must be terminated with @samp{;;}, @samp{;&}, or @samp{;;&}. "
  1819. "The @var{word} undergoes tilde expansion, parameter expansion, command "
  1820. "substitution, arithmetic expansion, and quote removal (@pxref{Shell "
  1821. "Parameter Expansion}) before matching is attempted. Each @var{pattern} "
  1822. "undergoes tilde expansion, parameter expansion, command substitution, and "
  1823. "arithmetic expansion."
  1824. msgstr ""
  1825. #. type: table
  1826. #: ./bashref.texi:944
  1827. msgid ""
  1828. "There may be an arbitrary number of @code{case} clauses, each terminated by "
  1829. "a @samp{;;}, @samp{;&}, or @samp{;;&}. The first pattern that matches "
  1830. "determines the command-list that is executed. It's a common idiom to use "
  1831. "@samp{*} as the final pattern to define the default case, since that pattern "
  1832. "will always match."
  1833. msgstr ""
  1834. #. type: table
  1835. #: ./bashref.texi:947
  1836. msgid ""
  1837. "Here is an example using @code{case} in a script that could be used to "
  1838. "describe one interesting feature of an animal:"
  1839. msgstr ""
  1840. #. type: example
  1841. #: ./bashref.texi:958
  1842. #, no-wrap
  1843. msgid ""
  1844. "echo -n \"Enter the name of an animal: \"\n"
  1845. "read ANIMAL\n"
  1846. "echo -n \"The $ANIMAL has \"\n"
  1847. "case $ANIMAL in\n"
  1848. " horse | dog | cat) echo -n \"four\";;\n"
  1849. " man | kangaroo ) echo -n \"two\";;\n"
  1850. " *) echo -n \"an unknown number of\";;\n"
  1851. "esac\n"
  1852. "echo \" legs.\"\n"
  1853. msgstr ""
  1854. #. type: table
  1855. #: ./bashref.texi:970
  1856. msgid ""
  1857. "If the @samp{;;} operator is used, no subsequent matches are attempted after "
  1858. "the first pattern match. Using @samp{;&} in place of @samp{;;} causes "
  1859. "execution to continue with the @var{command-list} associated with the next "
  1860. "clause, if any. Using @samp{;;&} in place of @samp{;;} causes the shell to "
  1861. "test the patterns in the next clause, if any, and execute any associated "
  1862. "@var{command-list} on a successful match, continuing the case statement "
  1863. "execution as if the pattern list had not matched."
  1864. msgstr ""
  1865. #. type: table
  1866. #: ./bashref.texi:973
  1867. msgid ""
  1868. "The return status is zero if no @var{pattern} is matched. Otherwise, the "
  1869. "return status is the exit status of the @var{command-list} executed."
  1870. msgstr ""
  1871. #. type: table
  1872. #: ./bashref.texi:979
  1873. msgid ""
  1874. "The @code{select} construct allows the easy generation of menus. It has "
  1875. "almost the same syntax as the @code{for} command:"
  1876. msgstr ""
  1877. #. type: example
  1878. #: ./bashref.texi:982
  1879. #, no-wrap
  1880. msgid "select @var{name} [in @var{words} @dots{}]; do @var{commands}; done\n"
  1881. msgstr ""
  1882. #. type: table
  1883. #: ./bashref.texi:997
  1884. msgid ""
  1885. "The list of words following @code{in} is expanded, generating a list of "
  1886. "items. The set of expanded words is printed on the standard error output "
  1887. "stream, each preceded by a number. If the @samp{in @var{words}} is omitted, "
  1888. "the positional parameters are printed, as if @samp{in \"$@@\"} had been "
  1889. "specified. The @env{PS3} prompt is then displayed and a line is read from "
  1890. "the standard input. If the line consists of a number corresponding to one "
  1891. "of the displayed words, then the value of @var{name} is set to that word. "
  1892. "If the line is empty, the words and prompt are displayed again. If "
  1893. "@code{EOF} is read, the @code{select} command completes. Any other value "
  1894. "read causes @var{name} to be set to null. The line read is saved in the "
  1895. "variable @env{REPLY}."
  1896. msgstr ""
  1897. #. type: table
  1898. #: ./bashref.texi:1001
  1899. msgid ""
  1900. "The @var{commands} are executed after each selection until a @code{break} "
  1901. "command is executed, at which point the @code{select} command completes."
  1902. msgstr ""
  1903. #. type: table
  1904. #: ./bashref.texi:1005
  1905. msgid ""
  1906. "Here is an example that allows the user to pick a filename from the current "
  1907. "directory, and displays the name and index of the file selected."
  1908. msgstr ""
  1909. #. type: example
  1910. #: ./bashref.texi:1012
  1911. #, no-wrap
  1912. msgid ""
  1913. "select fname in *;\n"
  1914. "do\n"
  1915. "\techo you picked $fname \\($REPLY\\)\n"
  1916. "\tbreak;\n"
  1917. "done\n"
  1918. msgstr ""
  1919. #. type: item
  1920. #: ./bashref.texi:1014
  1921. #, no-wrap
  1922. msgid "((@dots{}))"
  1923. msgstr ""
  1924. #. type: example
  1925. #: ./bashref.texi:1017
  1926. #, no-wrap
  1927. msgid "(( @var{expression} ))\n"
  1928. msgstr ""
  1929. #. type: table
  1930. #: ./bashref.texi:1023
  1931. msgid ""
  1932. "The arithmetic @var{expression} is evaluated according to the rules "
  1933. "described below (@pxref{Shell Arithmetic}). If the value of the expression "
  1934. "is non-zero, the return status is 0; otherwise the return status is 1. This "
  1935. "is exactly equivalent to"
  1936. msgstr ""
  1937. #. type: example
  1938. #: ./bashref.texi:1025
  1939. #, no-wrap
  1940. msgid "let \"@var{expression}\"\n"
  1941. msgstr ""
  1942. #. type: table
  1943. #: ./bashref.texi:1028
  1944. msgid "@xref{Bash Builtins}, for a full description of the @code{let} builtin."
  1945. msgstr ""
  1946. #. type: item
  1947. #: ./bashref.texi:1029
  1948. #, no-wrap
  1949. msgid "[[@dots{}]]"
  1950. msgstr ""
  1951. #. type: rwindex
  1952. #: ./bashref.texi:1030
  1953. #, no-wrap
  1954. msgid "[["
  1955. msgstr ""
  1956. #. type: rwindex
  1957. #: ./bashref.texi:1031
  1958. #, no-wrap
  1959. msgid "]]"
  1960. msgstr ""
  1961. #. type: example
  1962. #: ./bashref.texi:1034
  1963. #, no-wrap
  1964. msgid "[[ @var{expression} ]]\n"
  1965. msgstr ""
  1966. #. type: table
  1967. #: ./bashref.texi:1046
  1968. msgid ""
  1969. "Return a status of 0 or 1 depending on the evaluation of the conditional "
  1970. "expression @var{expression}. Expressions are composed of the primaries "
  1971. "described below in @ref{Bash Conditional Expressions}. Word splitting and "
  1972. "filename expansion are not performed on the words between the @code{[[} and "
  1973. "@code{]]}; tilde expansion, parameter and variable expansion, arithmetic "
  1974. "expansion, command substitution, process substitution, and quote removal are "
  1975. "performed. Conditional operators such as @samp{-f} must be unquoted to be "
  1976. "recognized as primaries."
  1977. msgstr ""
  1978. #. type: table
  1979. #: ./bashref.texi:1049
  1980. msgid ""
  1981. "When used with @code{[[}, the @samp{<} and @samp{>} operators sort "
  1982. "lexicographically using the current locale."
  1983. msgstr ""
  1984. #. type: table
  1985. #: ./bashref.texi:1063
  1986. msgid ""
  1987. "When the @samp{==} and @samp{!=} operators are used, the string to the right "
  1988. "of the operator is considered a pattern and matched according to the rules "
  1989. "described below in @ref{Pattern Matching}, as if the @code{extglob} shell "
  1990. "option were enabled. The @samp{=} operator is identical to @samp{==}. If "
  1991. "the @code{nocasematch} shell option (see the description of @code{shopt} in "
  1992. "@ref{The Shopt Builtin}) is enabled, the match is performed without regard "
  1993. "to the case of alphabetic characters. The return value is 0 if the string "
  1994. "matches (@samp{==}) or does not match (@samp{!=}) the pattern, and 1 "
  1995. "otherwise. Any part of the pattern may be quoted to force the quoted "
  1996. "portion to be matched as a string."
  1997. msgstr ""
  1998. #. type: table
  1999. #: ./bashref.texi:1084
  2000. msgid ""
  2001. "An additional binary operator, @samp{=~}, is available, with the same "
  2002. "precedence as @samp{==} and @samp{!=}. When it is used, the string to the "
  2003. "right of the operator is considered a @sc{posix} extended regular expression "
  2004. "and matched accordingly (using the @sc{posix} @code{regcomp} and "
  2005. "@code{regexec} interfaces usually described in @i{regex}(3)). The return "
  2006. "value is 0 if the string matches the pattern, and 1 otherwise. If the "
  2007. "regular expression is syntactically incorrect, the conditional expression's "
  2008. "return value is 2. If the @code{nocasematch} shell option (see the "
  2009. "description of @code{shopt} in @ref{The Shopt Builtin}) is enabled, the "
  2010. "match is performed without regard to the case of alphabetic characters. Any "
  2011. "part of the pattern may be quoted to force the quoted portion to be matched "
  2012. "as a string. Bracket expressions in regular expressions must be treated "
  2013. "carefully, since normal quoting characters lose their meanings between "
  2014. "brackets. If the pattern is stored in a shell variable, quoting the "
  2015. "variable expansion forces the entire pattern to be matched as a string."
  2016. msgstr ""
  2017. #. type: table
  2018. #: ./bashref.texi:1096
  2019. msgid ""
  2020. "The pattern will match if it matches any part of the string. Anchor the "
  2021. "pattern using the @samp{^} and @samp{$} regular expression operators to "
  2022. "force it to match the entire string. The array variable @code{BASH_REMATCH} "
  2023. "records which parts of the string matched the pattern. The element of "
  2024. "@code{BASH_REMATCH} with index 0 contains the portion of the string matching "
  2025. "the entire regular expression. Substrings matched by parenthesized "
  2026. "subexpressions within the regular expression are saved in the remaining "
  2027. "@code{BASH_REMATCH} indices. The element of @code{BASH_REMATCH} with index "
  2028. "@var{n} is the portion of the string matching the @var{n}th parenthesized "
  2029. "subexpression."
  2030. msgstr ""
  2031. #. type: table
  2032. #: ./bashref.texi:1103
  2033. msgid ""
  2034. "For example, the following will match a line (stored in the shell variable "
  2035. "@var{line}) if there is a sequence of characters anywhere in the value "
  2036. "consisting of any number, including zero, of characters in the @code{space} "
  2037. "character class, zero or one instances of @samp{a}, then a @samp{b}:"
  2038. msgstr ""
  2039. #. type: example
  2040. #: ./bashref.texi:1105
  2041. #, no-wrap
  2042. msgid "[[ $line =~ [[:space:]]*(a)?b ]]\n"
  2043. msgstr ""
  2044. #. type: table
  2045. #: ./bashref.texi:1110
  2046. msgid ""
  2047. "That means values like @samp{aab} and @samp{ aaaaaab} will match, as will a "
  2048. "line containing a @samp{b} anywhere in its value."
  2049. msgstr ""
  2050. #. type: table
  2051. #: ./bashref.texi:1119
  2052. msgid ""
  2053. "Storing the regular expression in a shell variable is often a useful way to "
  2054. "avoid problems with quoting characters that are special to the shell. It is "
  2055. "sometimes difficult to specify a regular expression literally without using "
  2056. "quotes, or to keep track of the quoting used by regular expressions while "
  2057. "paying attention to the shell's quote removal. Using a shell variable to "
  2058. "store the pattern decreases these problems. For example, the following is "
  2059. "equivalent to the above:"
  2060. msgstr ""
  2061. #. type: example
  2062. #: ./bashref.texi:1122
  2063. #, no-wrap
  2064. msgid ""
  2065. "pattern='[[:space:]]*(a)?b'\n"
  2066. "[[ $line =~ $pattern ]]\n"
  2067. msgstr ""
  2068. #. type: table
  2069. #: ./bashref.texi:1134
  2070. msgid ""
  2071. "If you want to match a character that's special to the regular expression "
  2072. "grammar, it has to be quoted to remove its special meaning. This means that "
  2073. "in the pattern @samp{xxx.txt}, the @samp{.} matches any character in the "
  2074. "string (its usual regular expression meaning), but in the pattern "
  2075. "@samp{\"xxx.txt\"} it can only match a literal @samp{.}. Shell programmers "
  2076. "should take special care with backslashes, since backslashes are used both "
  2077. "by the shell and regular expressions to remove the special meaning from the "
  2078. "following character. The following two sets of commands are @emph{not} "
  2079. "equivalent:"
  2080. msgstr ""
  2081. #. type: example
  2082. #: ./bashref.texi:1136
  2083. #, no-wrap
  2084. msgid ""
  2085. "pattern='\\.'\n"
  2086. "\n"
  2087. msgstr ""
  2088. #. type: example
  2089. #: ./bashref.texi:1139
  2090. #, no-wrap
  2091. msgid ""
  2092. "[[ . =~ $pattern ]]\n"
  2093. "[[ . =~ \\. ]]\n"
  2094. "\n"
  2095. msgstr ""
  2096. #. type: example
  2097. #: ./bashref.texi:1142
  2098. #, no-wrap
  2099. msgid ""
  2100. "[[ . =~ \"$pattern\" ]]\n"
  2101. "[[ . =~ '\\.' ]]\n"
  2102. msgstr ""
  2103. #. type: table
  2104. #: ./bashref.texi:1152
  2105. msgid ""
  2106. "The first two matches will succeed, but the second two will not, because in "
  2107. "the second two the backslash will be part of the pattern to be matched. In "
  2108. "the first two examples, the backslash removes the special meaning from "
  2109. "@samp{.}, so the literal @samp{.} matches. If the string in the first "
  2110. "examples were anything other than @samp{.}, say @samp{a}, the pattern would "
  2111. "not match, because the quoted @samp{.} in the pattern loses its special "
  2112. "meaning of matching any single character."
  2113. msgstr ""
  2114. #. type: table
  2115. #: ./bashref.texi:1155
  2116. msgid ""
  2117. "Expressions may be combined using the following operators, listed in "
  2118. "decreasing order of precedence:"
  2119. msgstr ""
  2120. #. type: item
  2121. #: ./bashref.texi:1157
  2122. #, no-wrap
  2123. msgid "( @var{expression} )"
  2124. msgstr ""
  2125. #. type: table
  2126. #: ./bashref.texi:1160
  2127. msgid ""
  2128. "Returns the value of @var{expression}. This may be used to override the "
  2129. "normal precedence of operators."
  2130. msgstr ""
  2131. #. type: item
  2132. #: ./bashref.texi:1161
  2133. #, no-wrap
  2134. msgid "! @var{expression}"
  2135. msgstr ""
  2136. #. type: table
  2137. #: ./bashref.texi:1163
  2138. msgid "True if @var{expression} is false."
  2139. msgstr ""
  2140. #. type: item
  2141. #: ./bashref.texi:1164
  2142. #, no-wrap
  2143. msgid "@var{expression1} && @var{expression2}"
  2144. msgstr ""
  2145. #. type: table
  2146. #: ./bashref.texi:1166
  2147. msgid "True if both @var{expression1} and @var{expression2} are true."
  2148. msgstr ""
  2149. #. type: item
  2150. #: ./bashref.texi:1167
  2151. #, no-wrap
  2152. msgid "@var{expression1} || @var{expression2}"
  2153. msgstr ""
  2154. #. type: table
  2155. #: ./bashref.texi:1169
  2156. msgid "True if either @var{expression1} or @var{expression2} is true."
  2157. msgstr ""
  2158. #. type: table
  2159. #: ./bashref.texi:1175
  2160. msgid ""
  2161. "The @code{&&} and @code{||} operators do not evaluate @var{expression2} if "
  2162. "the value of @var{expression1} is sufficient to determine the return value "
  2163. "of the entire conditional expression."
  2164. msgstr ""
  2165. #. type: subsubsection
  2166. #: ./bashref.texi:1178
  2167. #, no-wrap
  2168. msgid "Grouping Commands"
  2169. msgstr ""
  2170. #. type: cindex
  2171. #: ./bashref.texi:1179
  2172. #, no-wrap
  2173. msgid "commands, grouping"
  2174. msgstr ""
  2175. #. type: Plain text
  2176. #: ./bashref.texi:1185
  2177. msgid ""
  2178. "Bash provides two ways to group a list of commands to be executed as a "
  2179. "unit. When commands are grouped, redirections may be applied to the entire "
  2180. "command list. For example, the output of all the commands in the list may "
  2181. "be redirected to a single stream."
  2182. msgstr ""
  2183. #. type: item
  2184. #: ./bashref.texi:1187
  2185. #, no-wrap
  2186. msgid "()"
  2187. msgstr ""
  2188. #. type: example
  2189. #: ./bashref.texi:1190
  2190. #, no-wrap
  2191. msgid "( @var{list} )\n"
  2192. msgstr ""
  2193. #. type: table
  2194. #: ./bashref.texi:1197
  2195. msgid ""
  2196. "Placing a list of commands between parentheses causes a subshell environment "
  2197. "to be created (@pxref{Command Execution Environment}), and each of the "
  2198. "commands in @var{list} to be executed in that subshell. Since the "
  2199. "@var{list} is executed in a subshell, variable assignments do not remain in "
  2200. "effect after the subshell completes."
  2201. msgstr ""
  2202. #. type: item
  2203. #: ./bashref.texi:1198
  2204. #, no-wrap
  2205. msgid "@{@}"
  2206. msgstr ""
  2207. #. type: rwindex
  2208. #: ./bashref.texi:1199
  2209. #, no-wrap
  2210. msgid "@{"
  2211. msgstr ""
  2212. #. type: rwindex
  2213. #: ./bashref.texi:1200
  2214. #, no-wrap
  2215. msgid "@}"
  2216. msgstr ""
  2217. #. type: example
  2218. #: ./bashref.texi:1203
  2219. #, no-wrap
  2220. msgid "@{ @var{list}; @}\n"
  2221. msgstr ""
  2222. #. type: table
  2223. #: ./bashref.texi:1208
  2224. msgid ""
  2225. "Placing a list of commands between curly braces causes the list to be "
  2226. "executed in the current shell context. No subshell is created. The "
  2227. "semicolon (or newline) following @var{list} is required."
  2228. msgstr ""
  2229. #. type: Plain text
  2230. #: ./bashref.texi:1217
  2231. msgid ""
  2232. "In addition to the creation of a subshell, there is a subtle difference "
  2233. "between these two constructs due to historical reasons. The braces are "
  2234. "@code{reserved words}, so they must be separated from the @var{list} by "
  2235. "@code{blank}s or other shell metacharacters. The parentheses are "
  2236. "@code{operators}, and are recognized as separate tokens by the shell even if "
  2237. "they are not separated from the @var{list} by whitespace."
  2238. msgstr ""
  2239. #. type: Plain text
  2240. #: ./bashref.texi:1220
  2241. msgid ""
  2242. "The exit status of both of these constructs is the exit status of "
  2243. "@var{list}."
  2244. msgstr ""
  2245. #. type: cindex
  2246. #: ./bashref.texi:1223
  2247. #, no-wrap
  2248. msgid "coprocess"
  2249. msgstr ""
  2250. #. type: Plain text
  2251. #: ./bashref.texi:1230
  2252. msgid ""
  2253. "A @code{coprocess} is a shell command preceded by the @code{coproc} reserved "
  2254. "word. A coprocess is executed asynchronously in a subshell, as if the "
  2255. "command had been terminated with the @samp{&} control operator, with a "
  2256. "two-way pipe established between the executing shell and the coprocess."
  2257. msgstr ""
  2258. #. type: Plain text
  2259. #: ./bashref.texi:1232
  2260. msgid "The format for a coprocess is:"
  2261. msgstr ""
  2262. #. type: example
  2263. #: ./bashref.texi:1234
  2264. #, no-wrap
  2265. msgid "coproc [@var{NAME}] @var{command} [@var{redirections}]\n"
  2266. msgstr ""
  2267. #. type: Plain text
  2268. #: ./bashref.texi:1242
  2269. msgid ""
  2270. "This creates a coprocess named @var{NAME}. If @var{NAME} is not supplied, "
  2271. "the default name is @var{COPROC}. @var{NAME} must not be supplied if "
  2272. "@var{command} is a simple command (@pxref{Simple Commands}); otherwise, it "
  2273. "is interpreted as the first word of the simple command."
  2274. msgstr ""
  2275. #. type: Plain text
  2276. #: ./bashref.texi:1258
  2277. msgid ""
  2278. "When the coprocess is executed, the shell creates an array variable "
  2279. "(@pxref{Arrays}) named @env{NAME} in the context of the executing shell. "
  2280. "The standard output of @var{command} is connected via a pipe to a file "
  2281. "descriptor in the executing shell, and that file descriptor is assigned to "
  2282. "@env{NAME}[0]. The standard input of @var{command} is connected via a pipe "
  2283. "to a file descriptor in the executing shell, and that file descriptor is "
  2284. "assigned to @env{NAME}[1]. This pipe is established before any redirections "
  2285. "specified by the command (@pxref{Redirections}). The file descriptors can "
  2286. "be utilized as arguments to shell commands and redirections using standard "
  2287. "word expansions. Other than those created to execute command and process "
  2288. "substitutions, the file descriptors are not available in subshells."
  2289. msgstr ""
  2290. #. type: Plain text
  2291. #: ./bashref.texi:1263
  2292. msgid ""
  2293. "The process ID of the shell spawned to execute the coprocess is available as "
  2294. "the value of the variable @env{NAME}_PID. The @code{wait} builtin command "
  2295. "may be used to wait for the coprocess to terminate."
  2296. msgstr ""
  2297. #. type: Plain text
  2298. #: ./bashref.texi:1267
  2299. msgid ""
  2300. "Since the coprocess is created as an asynchronous command, the @code{coproc} "
  2301. "command always returns success. The return status of a coprocess is the "
  2302. "exit status of @var{command}."
  2303. msgstr ""
  2304. #. type: Plain text
  2305. #: ./bashref.texi:1273
  2306. msgid ""
  2307. "There are ways to run commands in parallel that are not built into Bash. "
  2308. "GNU Parallel is a tool to do just that."
  2309. msgstr ""
  2310. #. type: Plain text
  2311. #: ./bashref.texi:1281
  2312. msgid ""
  2313. "GNU Parallel, as its name suggests, can be used to build and run commands in "
  2314. "parallel. You may run the same command with different arguments, whether "
  2315. "they are filenames, usernames, hostnames, or lines read from files. GNU "
  2316. "Parallel provides shorthand references to many of the most common operations "
  2317. "(input lines, various portions of the input line, different ways to specify "
  2318. "the input source, and so on). Parallel can replace @code{xargs} or feed "
  2319. "commands from its input sources to several different instances of Bash."
  2320. msgstr ""
  2321. #. type: Plain text
  2322. #: ./bashref.texi:1284
  2323. msgid ""
  2324. "For a complete description, refer to the GNU Parallel documentation. A few "
  2325. "examples should provide a brief introduction to its use."
  2326. msgstr ""
  2327. #. type: Plain text
  2328. #: ./bashref.texi:1287
  2329. msgid ""
  2330. "For example, it is easy to replace @code{xargs} to gzip all html files in "
  2331. "the current directory and its subdirectories:"
  2332. msgstr ""
  2333. #. type: example
  2334. #: ./bashref.texi:1289
  2335. #, no-wrap
  2336. msgid "find . -type f -name '*.html' -print | parallel gzip\n"
  2337. msgstr ""
  2338. #. type: Plain text
  2339. #: ./bashref.texi:1293
  2340. msgid ""
  2341. "If you need to protect special characters such as newlines in file names, "
  2342. "use find's @option{-print0} option and parallel's @option{-0} option."
  2343. msgstr ""
  2344. #. type: Plain text
  2345. #: ./bashref.texi:1296
  2346. msgid ""
  2347. "You can use Parallel to move files from the current directory when the "
  2348. "number of files is too large to process with one @code{mv} invocation:"
  2349. msgstr ""
  2350. #. type: example
  2351. #: ./bashref.texi:1298
  2352. #, no-wrap
  2353. msgid "printf '%s\\n' * | parallel mv @{@} destdir\n"
  2354. msgstr ""
  2355. #. type: Plain text
  2356. #: ./bashref.texi:1306
  2357. msgid ""
  2358. "As you can see, the @{@} is replaced with each line read from standard "
  2359. "input. While using @code{ls} will work in most instances, it is not "
  2360. "sufficient to deal with all filenames. @code{printf} is a shell builtin, and "
  2361. "therefore is not subject to the kernel's limit on the number of arguments to "
  2362. "a program, so you can use @samp{*} (but see below about the @code{dotglob} "
  2363. "shell option). If you need to accommodate special characters in filenames, "
  2364. "you can use"
  2365. msgstr ""
  2366. #. type: example
  2367. #: ./bashref.texi:1309
  2368. #, no-wrap
  2369. msgid "printf '%s\\0' * | parallel -0 mv @{@} destdir\n"
  2370. msgstr ""
  2371. #. type: Plain text
  2372. #: ./bashref.texi:1313
  2373. msgid "as alluded to above."
  2374. msgstr ""
  2375. #. type: Plain text
  2376. #: ./bashref.texi:1317
  2377. msgid ""
  2378. "This will run as many @code{mv} commands as there are files in the current "
  2379. "directory. You can emulate a parallel @code{xargs} by adding the "
  2380. "@option{-X} option:"
  2381. msgstr ""
  2382. #. type: example
  2383. #: ./bashref.texi:1319
  2384. #, no-wrap
  2385. msgid "printf '%s\\0' * | parallel -0 -X mv @{@} destdir\n"
  2386. msgstr ""
  2387. #. type: Plain text
  2388. #: ./bashref.texi:1323
  2389. msgid ""
  2390. "(You may have to modify the pattern if you have the @code{dotglob} option "
  2391. "enabled.)"
  2392. msgstr ""
  2393. #. type: Plain text
  2394. #: ./bashref.texi:1326
  2395. msgid ""
  2396. "GNU Parallel can replace certain common idioms that operate on lines read "
  2397. "from a file (in this case, filenames listed one per line):"
  2398. msgstr ""
  2399. #. type: example
  2400. #: ./bashref.texi:1331
  2401. #, no-wrap
  2402. msgid ""
  2403. "\twhile IFS= read -r x; do\n"
  2404. "\t\tdo-something1 \"$x\" \"config-$x\"\n"
  2405. "\t\tdo-something2 < \"$x\"\n"
  2406. "\tdone < file | process-output\n"
  2407. msgstr ""
  2408. #. type: Plain text
  2409. #: ./bashref.texi:1335
  2410. msgid "with a more compact syntax reminiscent of lambdas:"
  2411. msgstr ""
  2412. #. type: example
  2413. #: ./bashref.texi:1338
  2414. #, no-wrap
  2415. msgid ""
  2416. "cat list | parallel \"do-something1 @{@} config-@{@} ; do-something2 < "
  2417. "@{@}\" |\n"
  2418. " process-output\n"
  2419. msgstr ""
  2420. #. type: Plain text
  2421. #: ./bashref.texi:1342
  2422. msgid ""
  2423. "Parallel provides a built-in mechanism to remove filename extensions, which "
  2424. "lends itself to batch file transformations or renaming:"
  2425. msgstr ""
  2426. #. type: example
  2427. #: ./bashref.texi:1344
  2428. #, no-wrap
  2429. msgid "ls *.gz | parallel -j+0 \"zcat @{@} | bzip2 >@{.@}.bz2 && rm @{@}\"\n"
  2430. msgstr ""
  2431. #. type: Plain text
  2432. #: ./bashref.texi:1352
  2433. msgid ""
  2434. "This will recompress all files in the current directory with names ending in "
  2435. ".gz using bzip2, running one job per CPU (-j+0) in parallel. (We use "
  2436. "@code{ls} for brevity here; using @code{find} as above is more robust in the "
  2437. "face of filenames containing unexpected characters.) Parallel can take "
  2438. "arguments from the command line; the above can also be written as"
  2439. msgstr ""
  2440. #. type: example
  2441. #: ./bashref.texi:1355
  2442. #, no-wrap
  2443. msgid "parallel \"zcat @{@} | bzip2 >@{.@}.bz2 && rm @{@}\" ::: *.gz\n"
  2444. msgstr ""
  2445. #. type: Plain text
  2446. #: ./bashref.texi:1359
  2447. msgid ""
  2448. "If a command generates output, you may want to preserve the input order in "
  2449. "the output. For instance, the following command"
  2450. msgstr ""
  2451. #. type: example
  2452. #: ./bashref.texi:1365
  2453. #, no-wrap
  2454. msgid ""
  2455. "@{\n"
  2456. " echo foss.org.my ;\n"
  2457. " echo debian.org ;\n"
  2458. " echo freenetproject.org ;\n"
  2459. "@} | parallel traceroute\n"
  2460. msgstr ""
  2461. #. type: Plain text
  2462. #: ./bashref.texi:1369
  2463. msgid ""
  2464. "will display as output the traceroute invocation that finishes first. "
  2465. "Adding the @option{-k} option"
  2466. msgstr ""
  2467. #. type: example
  2468. #: ./bashref.texi:1375
  2469. #, no-wrap
  2470. msgid ""
  2471. "@{\n"
  2472. " echo foss.org.my ;\n"
  2473. " echo debian.org ;\n"
  2474. " echo freenetproject.org ;\n"
  2475. "@} | parallel -k traceroute\n"
  2476. msgstr ""
  2477. #. type: Plain text
  2478. #: ./bashref.texi:1378
  2479. msgid ""
  2480. "will ensure that the output of @code{traceroute foss.org.my} is displayed "
  2481. "first."
  2482. msgstr ""
  2483. #. type: Plain text
  2484. #: ./bashref.texi:1385
  2485. msgid ""
  2486. "Finally, Parallel can be used to run a sequence of shell commands in "
  2487. "parallel, similar to @samp{cat file | bash}. It is not uncommon to take a "
  2488. "list of filenames, create a series of shell commands to operate on them, and "
  2489. "feed that list of commands to a shell. Parallel can speed this up. "
  2490. "Assuming that @file{file} contains a list of shell commands, one per line,"
  2491. msgstr ""
  2492. #. type: example
  2493. #: ./bashref.texi:1388
  2494. #, no-wrap
  2495. msgid "parallel -j 10 < file\n"
  2496. msgstr ""
  2497. #. type: Plain text
  2498. #: ./bashref.texi:1393
  2499. msgid ""
  2500. "will evaluate the commands using the shell (since no explicit command is "
  2501. "supplied as an argument), in blocks of ten shell jobs at a time."
  2502. msgstr ""
  2503. #. type: cindex
  2504. #: ./bashref.texi:1396
  2505. #, no-wrap
  2506. msgid "shell function"
  2507. msgstr ""
  2508. #. type: cindex
  2509. #: ./bashref.texi:1397
  2510. #, no-wrap
  2511. msgid "functions, shell"
  2512. msgstr ""
  2513. #. type: Plain text
  2514. #: ./bashref.texi:1406
  2515. msgid ""
  2516. "Shell functions are a way to group commands for later execution using a "
  2517. "single name for the group. They are executed just like a \"regular\" "
  2518. "command. When the name of a shell function is used as a simple command "
  2519. "name, the list of commands associated with that function name is executed. "
  2520. "Shell functions are executed in the current shell context; no new process is "
  2521. "created to interpret them."
  2522. msgstr ""
  2523. #. type: Plain text
  2524. #: ./bashref.texi:1408
  2525. msgid "Functions are declared using this syntax:"
  2526. msgstr ""
  2527. #. type: rwindex
  2528. #: ./bashref.texi:1408
  2529. #, no-wrap
  2530. msgid "function"
  2531. msgstr ""
  2532. #. type: example
  2533. #: ./bashref.texi:1411
  2534. #, no-wrap
  2535. msgid "@var{fname} () @var{compound-command} [ @var{redirections} ]\n"
  2536. msgstr ""
  2537. #. type: Plain text
  2538. #: ./bashref.texi:1414 ./bashref.texi:1912 ./bashref.texi:2402 ./bashref.texi:2465
  2539. msgid "or"
  2540. msgstr ""
  2541. #. type: example
  2542. #: ./bashref.texi:1417
  2543. #, no-wrap
  2544. msgid "function @var{fname} [()] @var{compound-command} [ @var{redirections} ]\n"
  2545. msgstr ""
  2546. #. type: Plain text
  2547. #: ./bashref.texi:1441
  2548. msgid ""
  2549. "This defines a shell function named @var{fname}. The reserved word "
  2550. "@code{function} is optional. If the @code{function} reserved word is "
  2551. "supplied, the parentheses are optional. The @var{body} of the function is "
  2552. "the compound command @var{compound-command} (@pxref{Compound Commands}). "
  2553. "That command is usually a @var{list} enclosed between @{ and @}, but may be "
  2554. "any compound command listed above, with one exception: If the "
  2555. "@code{function} reserved word is used, but the parentheses are not supplied, "
  2556. "the braces are required. @var{compound-command} is executed whenever "
  2557. "@var{fname} is specified as the name of a command. When the shell is in "
  2558. "@sc{posix} mode (@pxref{Bash POSIX Mode}), @var{fname} must be a valid shell "
  2559. "@var{name} and may not be the same as one of the special builtins "
  2560. "(@pxref{Special Builtins}). In default mode, a function name can be any "
  2561. "unquoted shell word that does not contain @samp{$}. Any redirections "
  2562. "(@pxref{Redirections}) associated with the shell function are performed when "
  2563. "the function is executed. A function definition may be deleted using the "
  2564. "@option{-f} option to the @code{unset} builtin (@pxref{Bourne Shell "
  2565. "Builtins})."
  2566. msgstr ""
  2567. #. type: Plain text
  2568. #: ./bashref.texi:1446
  2569. msgid ""
  2570. "The exit status of a function definition is zero unless a syntax error "
  2571. "occurs or a readonly function with the same name already exists. When "
  2572. "executed, the exit status of a function is the exit status of the last "
  2573. "command executed in the body."
  2574. msgstr ""
  2575. #. type: Plain text
  2576. #: ./bashref.texi:1455
  2577. msgid ""
  2578. "Note that for historical reasons, in the most common usage the curly braces "
  2579. "that surround the body of the function must be separated from the body by "
  2580. "@code{blank}s or newlines. This is because the braces are reserved words "
  2581. "and are only recognized as such when they are separated from the command "
  2582. "list by whitespace or another shell metacharacter. Also, when using the "
  2583. "braces, the @var{list} must be terminated by a semicolon, a @samp{&}, or a "
  2584. "newline."
  2585. msgstr ""
  2586. #. type: Plain text
  2587. #: ./bashref.texi:1464
  2588. msgid ""
  2589. "When a function is executed, the arguments to the function become the "
  2590. "positional parameters during its execution (@pxref{Positional Parameters}). "
  2591. "The special parameter @samp{#} that expands to the number of positional "
  2592. "parameters is updated to reflect the change. Special parameter @code{0} is "
  2593. "unchanged. The first element of the @env{FUNCNAME} variable is set to the "
  2594. "name of the function while the function is executing."
  2595. msgstr ""
  2596. #. type: Plain text
  2597. #: ./bashref.texi:1478
  2598. msgid ""
  2599. "All other aspects of the shell execution environment are identical between a "
  2600. "function and its caller with these exceptions: the @env{DEBUG} and "
  2601. "@env{RETURN} traps are not inherited unless the function has been given the "
  2602. "@code{trace} attribute using the @code{declare} builtin or the @code{-o "
  2603. "functrace} option has been enabled with the @code{set} builtin, (in which "
  2604. "case all functions inherit the @env{DEBUG} and @env{RETURN} traps), and the "
  2605. "@env{ERR} trap is not inherited unless the @code{-o errtrace} shell option "
  2606. "has been enabled. @xref{Bourne Shell Builtins}, for the description of the "
  2607. "@code{trap} builtin."
  2608. msgstr ""
  2609. #. type: Plain text
  2610. #: ./bashref.texi:1483
  2611. msgid ""
  2612. "The @env{FUNCNEST} variable, if set to a numeric value greater than 0, "
  2613. "defines a maximum function nesting level. Function invocations that exceed "
  2614. "the limit cause the entire command to abort."
  2615. msgstr ""
  2616. #. type: Plain text
  2617. #: ./bashref.texi:1497
  2618. msgid ""
  2619. "If the builtin command @code{return} is executed in a function, the function "
  2620. "completes and execution resumes with the next command after the function "
  2621. "call. Any command associated with the @code{RETURN} trap is executed before "
  2622. "execution resumes. When a function completes, the values of the positional "
  2623. "parameters and the special parameter @samp{#} are restored to the values "
  2624. "they had prior to the function's execution. If a numeric argument is given "
  2625. "to @code{return}, that is the function's return status; otherwise the "
  2626. "function's return status is the exit status of the last command executed "
  2627. "before the @code{return}."
  2628. msgstr ""
  2629. #. type: Plain text
  2630. #: ./bashref.texi:1502
  2631. msgid ""
  2632. "Variables local to the function may be declared with the @code{local} "
  2633. "builtin. These variables are visible only to the function and the commands "
  2634. "it invokes. This is particularly important when a shell function calls "
  2635. "other functions."
  2636. msgstr ""
  2637. #. type: Plain text
  2638. #: ./bashref.texi:1508
  2639. msgid ""
  2640. "Local variables \"shadow\" variables with the same name declared at previous "
  2641. "scopes. For instance, a local variable declared in a function hides a "
  2642. "global variable of the same name: references and assignments refer to the "
  2643. "local variable, leaving the global variable unmodified. When the function "
  2644. "returns, the global variable is once again visible."
  2645. msgstr ""
  2646. #. type: Plain text
  2647. #: ./bashref.texi:1520
  2648. msgid ""
  2649. "The shell uses @var{dynamic scoping} to control a variable's visibility "
  2650. "within functions. With dynamic scoping, visible variables and their values "
  2651. "are a result of the sequence of function calls that caused execution to "
  2652. "reach the current function. The value of a variable that a function sees "
  2653. "depends on its value within its caller, if any, whether that caller is the "
  2654. "\"global\" scope or another shell function. This is also the value that a "
  2655. "local variable declaration \"shadows\", and the value that is restored when "
  2656. "the function returns."
  2657. msgstr ""
  2658. #. type: Plain text
  2659. #: ./bashref.texi:1526
  2660. msgid ""
  2661. "For example, if a variable @var{var} is declared as local in function "
  2662. "@var{func1}, and @var{func1} calls another function @var{func2}, references "
  2663. "to @var{var} made from within @var{func2} will resolve to the local variable "
  2664. "@var{var} from @var{func1}, shadowing any global variable named @var{var}."
  2665. msgstr ""
  2666. #. type: Plain text
  2667. #: ./bashref.texi:1529
  2668. msgid ""
  2669. "The following script demonstrates this behavior. When executed, the script "
  2670. "displays"
  2671. msgstr ""
  2672. #. type: example
  2673. #: ./bashref.texi:1532
  2674. #, no-wrap
  2675. msgid "In func2, var = func1 local\n"
  2676. msgstr ""
  2677. #. type: example
  2678. #: ./bashref.texi:1540
  2679. #, no-wrap
  2680. msgid ""
  2681. "func1()\n"
  2682. "@{\n"
  2683. " local var='func1 local'\n"
  2684. " func2\n"
  2685. "@}\n"
  2686. "\n"
  2687. msgstr ""
  2688. #. type: example
  2689. #: ./bashref.texi:1545
  2690. #, no-wrap
  2691. msgid ""
  2692. "func2()\n"
  2693. "@{\n"
  2694. " echo \"In func2, var = $var\"\n"
  2695. "@}\n"
  2696. "\n"
  2697. msgstr ""
  2698. #. type: example
  2699. #: ./bashref.texi:1548
  2700. #, no-wrap
  2701. msgid ""
  2702. "var=global\n"
  2703. "func1\n"
  2704. msgstr ""
  2705. #. type: Plain text
  2706. #: ./bashref.texi:1560
  2707. msgid ""
  2708. "The @code{unset} builtin also acts using the same dynamic scope: if a "
  2709. "variable is local to the current scope, @code{unset} will unset it; "
  2710. "otherwise the unset will refer to the variable found in any calling scope as "
  2711. "described above. If a variable at the current local scope is unset, it will "
  2712. "remain so until it is reset in that scope or until the function returns. "
  2713. "Once the function returns, any instance of the variable at a previous scope "
  2714. "will become visible. If the unset acts on a variable at a previous scope, "
  2715. "any instance of a variable with that name that had been shadowed will become "
  2716. "visible."
  2717. msgstr ""
  2718. #. type: Plain text
  2719. #: ./bashref.texi:1572
  2720. msgid ""
  2721. "Function names and definitions may be listed with the @option{-f} option to "
  2722. "the @code{declare} (@code{typeset}) builtin command (@pxref{Bash "
  2723. "Builtins}). The @option{-F} option to @code{declare} or @code{typeset} will "
  2724. "list the function names only (and optionally the source file and line "
  2725. "number, if the @code{extdebug} shell option is enabled). Functions may be "
  2726. "exported so that subshells automatically have them defined with the "
  2727. "@option{-f} option to the @code{export} builtin (@pxref{Bourne Shell "
  2728. "Builtins})."
  2729. msgstr ""
  2730. #. type: Plain text
  2731. #: ./bashref.texi:1577
  2732. msgid ""
  2733. "Functions may be recursive. The @code{FUNCNEST} variable may be used to "
  2734. "limit the depth of the function call stack and restrict the number of "
  2735. "function invocations. By default, no limit is placed on the number of "
  2736. "recursive calls."
  2737. msgstr ""
  2738. #. type: cindex
  2739. #: ./bashref.texi:1580
  2740. #, no-wrap
  2741. msgid "parameters"
  2742. msgstr ""
  2743. #. type: cindex
  2744. #: ./bashref.texi:1581
  2745. #, no-wrap
  2746. msgid "variable, shell"
  2747. msgstr ""
  2748. #. type: cindex
  2749. #: ./bashref.texi:1582
  2750. #, no-wrap
  2751. msgid "shell variable"
  2752. msgstr ""
  2753. #. type: subsection
  2754. #: ./bashref.texi:1587 ./bashref.texi:1679 ./bashref.texi:1680
  2755. #, no-wrap
  2756. msgid "Positional Parameters"
  2757. msgstr ""
  2758. #. type: menuentry
  2759. #: ./bashref.texi:1587
  2760. msgid "The shell's command-line arguments."
  2761. msgstr ""
  2762. #. type: subsection
  2763. #: ./bashref.texi:1587 ./bashref.texi:1699 ./bashref.texi:1700
  2764. #, no-wrap
  2765. msgid "Special Parameters"
  2766. msgstr ""
  2767. #. type: menuentry
  2768. #: ./bashref.texi:1587
  2769. msgid "Parameters denoted by special characters."
  2770. msgstr ""
  2771. #. type: Plain text
  2772. #: ./bashref.texi:1596
  2773. msgid ""
  2774. "A @var{parameter} is an entity that stores values. It can be a @code{name}, "
  2775. "a number, or one of the special characters listed below. A @var{variable} "
  2776. "is a parameter denoted by a @code{name}. A variable has a @var{value} and "
  2777. "zero or more @var{attributes}. Attributes are assigned using the "
  2778. "@code{declare} builtin command (see the description of the @code{declare} "
  2779. "builtin in @ref{Bash Builtins})."
  2780. msgstr ""
  2781. #. type: Plain text
  2782. #: ./bashref.texi:1600
  2783. msgid ""
  2784. "A parameter is set if it has been assigned a value. The null string is a "
  2785. "valid value. Once a variable is set, it may be unset only by using the "
  2786. "@code{unset} builtin command."
  2787. msgstr ""
  2788. #. type: Plain text
  2789. #: ./bashref.texi:1602
  2790. msgid "A variable may be assigned to by a statement of the form"
  2791. msgstr ""
  2792. #. type: example
  2793. #: ./bashref.texi:1604
  2794. #, no-wrap
  2795. msgid "@var{name}=[@var{value}]\n"
  2796. msgstr ""
  2797. #. type: Plain text
  2798. #: ./bashref.texi:1624
  2799. msgid ""
  2800. "If @var{value} is not given, the variable is assigned the null string. All "
  2801. "@var{value}s undergo tilde expansion, parameter and variable expansion, "
  2802. "command substitution, arithmetic expansion, and quote removal (detailed "
  2803. "below). If the variable has its @code{integer} attribute set, then "
  2804. "@var{value} is evaluated as an arithmetic expression even if the "
  2805. "@code{$((@dots{}))} expansion is not used (@pxref{Arithmetic Expansion}). "
  2806. "Word splitting is not performed, with the exception of @code{\"$@@\"} as "
  2807. "explained below. Filename expansion is not performed. Assignment "
  2808. "statements may also appear as arguments to the @code{alias}, @code{declare}, "
  2809. "@code{typeset}, @code{export}, @code{readonly}, and @code{local} builtin "
  2810. "commands (@var{declaration} commands). When in @sc{posix} mode (@pxref{Bash "
  2811. "POSIX Mode}), these builtins may appear in a command after one or more "
  2812. "instances of the @code{command} builtin and retain these assignment "
  2813. "statement properties."
  2814. msgstr ""
  2815. #. type: Plain text
  2816. #: ./bashref.texi:1642
  2817. msgid ""
  2818. "In the context where an assignment statement is assigning a value to a shell "
  2819. "variable or array index (@pxref{Arrays}), the @samp{+=} operator can be used "
  2820. "to append to or add to the variable's previous value. This includes "
  2821. "arguments to builtin commands such as @code{declare} that accept assignment "
  2822. "statements (@var{declaration} commands). When @samp{+=} is applied to a "
  2823. "variable for which the @var{integer} attribute has been set, @var{value} is "
  2824. "evaluated as an arithmetic expression and added to the variable's current "
  2825. "value, which is also evaluated. When @samp{+=} is applied to an array "
  2826. "variable using compound assignment (@pxref{Arrays}), the variable's value is "
  2827. "not unset (as it is when using @samp{=}), and new values are appended to the "
  2828. "array beginning at one greater than the array's maximum index (for indexed "
  2829. "arrays), or added as additional key-value pairs in an associative array. "
  2830. "When applied to a string-valued variable, @var{value} is expanded and "
  2831. "appended to the variable's value."
  2832. msgstr ""
  2833. #. type: Plain text
  2834. #: ./bashref.texi:1657
  2835. msgid ""
  2836. "A variable can be assigned the @var{nameref} attribute using the @option{-n} "
  2837. "option to the @code{declare} or @code{local} builtin commands (@pxref{Bash "
  2838. "Builtins}) to create a @var{nameref}, or a reference to another variable. "
  2839. "This allows variables to be manipulated indirectly. Whenever the nameref "
  2840. "variable is referenced, assigned to, unset, or has its attributes modified "
  2841. "(other than using or changing the nameref attribute itself), the operation "
  2842. "is actually performed on the variable specified by the nameref variable's "
  2843. "value. A nameref is commonly used within shell functions to refer to a "
  2844. "variable whose name is passed as an argument to the function. For instance, "
  2845. "if a variable name is passed to a shell function as its first argument, "
  2846. "running"
  2847. msgstr ""
  2848. #. type: example
  2849. #: ./bashref.texi:1659
  2850. #, no-wrap
  2851. msgid "declare -n ref=$1\n"
  2852. msgstr ""
  2853. #. type: Plain text
  2854. #: ./bashref.texi:1666
  2855. msgid ""
  2856. "inside the function creates a nameref variable @var{ref} whose value is the "
  2857. "variable name passed as the first argument. References and assignments to "
  2858. "@var{ref}, and changes to its attributes, are treated as references, "
  2859. "assignments, and attribute modifications to the variable whose name was "
  2860. "passed as @code{$1}."
  2861. msgstr ""
  2862. #. type: Plain text
  2863. #: ./bashref.texi:1678
  2864. msgid ""
  2865. "If the control variable in a @code{for} loop has the nameref attribute, the "
  2866. "list of words can be a list of shell variables, and a name reference will be "
  2867. "established for each word in the list, in turn, when the loop is executed. "
  2868. "Array variables cannot be given the nameref attribute. However, nameref "
  2869. "variables can reference array variables and subscripted array variables. "
  2870. "Namerefs can be unset using the @option{-n} option to the @code{unset} "
  2871. "builtin (@pxref{Bourne Shell Builtins}). Otherwise, if @code{unset} is "
  2872. "executed with the name of a nameref variable as an argument, the variable "
  2873. "referenced by the nameref variable will be unset."
  2874. msgstr ""
  2875. #. type: cindex
  2876. #: ./bashref.texi:1681
  2877. #, no-wrap
  2878. msgid "parameters, positional"
  2879. msgstr ""
  2880. #. type: Plain text
  2881. #: ./bashref.texi:1695
  2882. msgid ""
  2883. "A @var{positional parameter} is a parameter denoted by one or more digits, "
  2884. "other than the single digit @code{0}. Positional parameters are assigned "
  2885. "from the shell's arguments when it is invoked, and may be reassigned using "
  2886. "the @code{set} builtin command. Positional parameter @code{N} may be "
  2887. "referenced as @code{$@{N@}}, or as @code{$N} when @code{N} consists of a "
  2888. "single digit. Positional parameters may not be assigned to with assignment "
  2889. "statements. The @code{set} and @code{shift} builtins are used to set and "
  2890. "unset them (@pxref{Shell Builtin Commands}). The positional parameters are "
  2891. "temporarily replaced when a shell function is executed (@pxref{Shell "
  2892. "Functions})."
  2893. msgstr ""
  2894. #. type: Plain text
  2895. #: ./bashref.texi:1698
  2896. msgid ""
  2897. "When a positional parameter consisting of more than a single digit is "
  2898. "expanded, it must be enclosed in braces."
  2899. msgstr ""
  2900. #. type: cindex
  2901. #: ./bashref.texi:1701
  2902. #, no-wrap
  2903. msgid "parameters, special"
  2904. msgstr ""
  2905. #. type: Plain text
  2906. #: ./bashref.texi:1705
  2907. msgid ""
  2908. "The shell treats several parameters specially. These parameters may only be "
  2909. "referenced; assignment to them is not allowed."
  2910. msgstr ""
  2911. #. type: Plain text
  2912. #: ./bashref.texi:1707 ./bashref.texi:5593 ./bashref.texi:5660 ./bashref.texi:8468
  2913. msgid "@vtable @code"
  2914. msgstr ""
  2915. #. type: item
  2916. #: ./bashref.texi:1708 ./bashref.texi:2610
  2917. #, no-wrap
  2918. msgid "*"
  2919. msgstr ""
  2920. #. type: vindex
  2921. #: ./bashref.texi:1709
  2922. #, no-wrap
  2923. msgid "$*"
  2924. msgstr ""
  2925. #. type: Plain text
  2926. #: ./bashref.texi:1724
  2927. msgid ""
  2928. "($*) Expands to the positional parameters, starting from one. When the "
  2929. "expansion is not within double quotes, each positional parameter expands to "
  2930. "a separate word. In contexts where it is performed, those words are subject "
  2931. "to further word splitting and filename expansion. When the expansion occurs "
  2932. "within double quotes, it expands to a single word with the value of each "
  2933. "parameter separated by the first character of the @env{IFS} special "
  2934. "variable. That is, @code{\"$*\"} is equivalent to "
  2935. "@code{\"$1@var{c}$2@var{c}@dots{}\"}, where @var{c} is the first character "
  2936. "of the value of the @code{IFS} variable. If @env{IFS} is unset, the "
  2937. "parameters are separated by spaces. If @env{IFS} is null, the parameters "
  2938. "are joined without intervening separators."
  2939. msgstr ""
  2940. #. type: item
  2941. #: ./bashref.texi:1725
  2942. #, no-wrap
  2943. msgid "@@"
  2944. msgstr ""
  2945. #. type: vindex
  2946. #: ./bashref.texi:1726
  2947. #, no-wrap
  2948. msgid "$@@"
  2949. msgstr ""
  2950. #. type: Plain text
  2951. #: ./bashref.texi:1746
  2952. msgid ""
  2953. "($@@) Expands to the positional parameters, starting from one. In contexts "
  2954. "where word splitting is performed, this expands each positional parameter to "
  2955. "a separate word; if not within double quotes, these words are subject to "
  2956. "word splitting. In contexts where word splitting is not performed, this "
  2957. "expands to a single word with each positional parameter separated by a "
  2958. "space. When the expansion occurs within double quotes, and word splitting "
  2959. "is performed, each parameter expands to a separate word. That is, "
  2960. "@code{\"$@@\"} is equivalent to @code{\"$1\" \"$2\" @dots{}}. If the "
  2961. "double-quoted expansion occurs within a word, the expansion of the first "
  2962. "parameter is joined with the beginning part of the original word, and the "
  2963. "expansion of the last parameter is joined with the last part of the original "
  2964. "word. When there are no positional parameters, @code{\"$@@\"} and "
  2965. "@code{$@@} expand to nothing (i.e., they are removed)."
  2966. msgstr ""
  2967. #. type: item
  2968. #: ./bashref.texi:1747
  2969. #, no-wrap
  2970. msgid "#"
  2971. msgstr ""
  2972. #. type: vindex
  2973. #: ./bashref.texi:1748
  2974. #, no-wrap
  2975. msgid "$#"
  2976. msgstr ""
  2977. #. type: Plain text
  2978. #: ./bashref.texi:1750
  2979. msgid "($#) Expands to the number of positional parameters in decimal."
  2980. msgstr ""
  2981. #. type: item
  2982. #: ./bashref.texi:1751 ./bashref.texi:2618
  2983. #, no-wrap
  2984. msgid "?"
  2985. msgstr ""
  2986. #. type: vindex
  2987. #: ./bashref.texi:1752
  2988. #, no-wrap
  2989. msgid "$?"
  2990. msgstr ""
  2991. #. type: Plain text
  2992. #: ./bashref.texi:1755
  2993. msgid ""
  2994. "($?) Expands to the exit status of the most recently executed foreground "
  2995. "pipeline."
  2996. msgstr ""
  2997. #. type: item
  2998. #: ./bashref.texi:1756 ./bashref.texi:5153
  2999. #, no-wrap
  3000. msgid "-"
  3001. msgstr ""
  3002. #. type: vindex
  3003. #: ./bashref.texi:1757
  3004. #, no-wrap
  3005. msgid "$-"
  3006. msgstr ""
  3007. #. type: Plain text
  3008. #: ./bashref.texi:1762
  3009. msgid ""
  3010. "($-, a hyphen.) Expands to the current option flags as specified upon "
  3011. "invocation, by the @code{set} builtin command, or those set by the shell "
  3012. "itself (such as the @option{-i} option)."
  3013. msgstr ""
  3014. #. type: item
  3015. #: ./bashref.texi:1763
  3016. #, no-wrap
  3017. msgid "$"
  3018. msgstr ""
  3019. #. type: vindex
  3020. #: ./bashref.texi:1764
  3021. #, no-wrap
  3022. msgid "$$"
  3023. msgstr ""
  3024. #. type: Plain text
  3025. #: ./bashref.texi:1767
  3026. msgid ""
  3027. "($$) Expands to the process @sc{id} of the shell. In a @code{()} subshell, "
  3028. "it expands to the process @sc{id} of the invoking shell, not the subshell."
  3029. msgstr ""
  3030. #. type: vindex
  3031. #: ./bashref.texi:1769
  3032. #, no-wrap
  3033. msgid "$!"
  3034. msgstr ""
  3035. #. type: Plain text
  3036. #: ./bashref.texi:1773
  3037. msgid ""
  3038. "($!) Expands to the process @sc{id} of the job most recently placed into the "
  3039. "background, whether executed as an asynchronous command or using the "
  3040. "@code{bg} builtin (@pxref{Job Control Builtins})."
  3041. msgstr ""
  3042. #. type: item
  3043. #: ./bashref.texi:1774
  3044. #, no-wrap
  3045. msgid "0"
  3046. msgstr ""
  3047. #. type: vindex
  3048. #: ./bashref.texi:1775
  3049. #, no-wrap
  3050. msgid "$0"
  3051. msgstr ""
  3052. #. type: Plain text
  3053. #: ./bashref.texi:1783
  3054. msgid ""
  3055. "($0) Expands to the name of the shell or shell script. This is set at shell "
  3056. "initialization. If Bash is invoked with a file of commands (@pxref{Shell "
  3057. "Scripts}), @code{$0} is set to the name of that file. If Bash is started "
  3058. "with the @option{-c} option (@pxref{Invoking Bash}), then @code{$0} is set "
  3059. "to the first argument after the string to be executed, if one is present. "
  3060. "Otherwise, it is set to the filename used to invoke Bash, as given by "
  3061. "argument zero."
  3062. msgstr ""
  3063. #. type: cindex
  3064. #: ./bashref.texi:1787
  3065. #, no-wrap
  3066. msgid "expansion"
  3067. msgstr ""
  3068. #. type: Plain text
  3069. #: ./bashref.texi:1791
  3070. msgid ""
  3071. "Expansion is performed on the command line after it has been split into "
  3072. "@code{token}s. There are seven kinds of expansion performed:"
  3073. msgstr ""
  3074. #. type: cindex
  3075. #: ./bashref.texi:1793 ./bashref.texi:1847
  3076. #, no-wrap
  3077. msgid "brace expansion"
  3078. msgstr ""
  3079. #. type: cindex
  3080. #: ./bashref.texi:1794 ./bashref.texi:1918
  3081. #, no-wrap
  3082. msgid "tilde expansion"
  3083. msgstr ""
  3084. #. type: item
  3085. #: ./bashref.texi:1795
  3086. #, no-wrap
  3087. msgid "parameter and variable expansion"
  3088. msgstr ""
  3089. #. type: cindex
  3090. #: ./bashref.texi:1796 ./bashref.texi:2392
  3091. #, no-wrap
  3092. msgid "command substitution"
  3093. msgstr ""
  3094. #. type: cindex
  3095. #: ./bashref.texi:1797 ./bashref.texi:2432
  3096. #, no-wrap
  3097. msgid "arithmetic expansion"
  3098. msgstr ""
  3099. #. type: cindex
  3100. #: ./bashref.texi:1798 ./bashref.texi:2490
  3101. #, no-wrap
  3102. msgid "word splitting"
  3103. msgstr ""
  3104. #. type: cindex
  3105. #: ./bashref.texi:1799 ./bashref.texi:2539
  3106. #, no-wrap
  3107. msgid "filename expansion"
  3108. msgstr ""
  3109. #. type: subsection
  3110. #: ./bashref.texi:1815 ./bashref.texi:1845 ./bashref.texi:1846
  3111. #, no-wrap
  3112. msgid "Brace Expansion"
  3113. msgstr ""
  3114. #. type: menuentry
  3115. #: ./bashref.texi:1815
  3116. msgid "Expansion of expressions within braces."
  3117. msgstr ""
  3118. #. type: subsection
  3119. #: ./bashref.texi:1815 ./bashref.texi:1916 ./bashref.texi:1917
  3120. #, no-wrap
  3121. msgid "Tilde Expansion"
  3122. msgstr ""
  3123. #. type: menuentry
  3124. #: ./bashref.texi:1815
  3125. msgid "Expansion of the ~ character."
  3126. msgstr ""
  3127. #. type: subsection
  3128. #: ./bashref.texi:1815 ./bashref.texi:1992 ./bashref.texi:1993
  3129. #, no-wrap
  3130. msgid "Shell Parameter Expansion"
  3131. msgstr ""
  3132. #. type: menuentry
  3133. #: ./bashref.texi:1815
  3134. msgid "How Bash expands variables to their values."
  3135. msgstr ""
  3136. #. type: subsection
  3137. #: ./bashref.texi:1815 ./bashref.texi:2390 ./bashref.texi:2391
  3138. #, no-wrap
  3139. msgid "Command Substitution"
  3140. msgstr ""
  3141. #. type: menuentry
  3142. #: ./bashref.texi:1815
  3143. msgid "Using the output of a command as an argument."
  3144. msgstr ""
  3145. #. type: subsection
  3146. #: ./bashref.texi:1815 ./bashref.texi:2429 ./bashref.texi:2430
  3147. #, no-wrap
  3148. msgid "Arithmetic Expansion"
  3149. msgstr ""
  3150. #. type: menuentry
  3151. #: ./bashref.texi:1815
  3152. msgid "How to use arithmetic in shell expansions."
  3153. msgstr ""
  3154. #. type: subsection
  3155. #: ./bashref.texi:1815 ./bashref.texi:2453 ./bashref.texi:2454
  3156. #, no-wrap
  3157. msgid "Process Substitution"
  3158. msgstr ""
  3159. #. type: menuentry
  3160. #: ./bashref.texi:1815
  3161. msgid "A way to write and read to and from a command."
  3162. msgstr ""
  3163. #. type: subsection
  3164. #: ./bashref.texi:1815 ./bashref.texi:2488 ./bashref.texi:2489
  3165. #, no-wrap
  3166. msgid "Word Splitting"
  3167. msgstr ""
  3168. #. type: menuentry
  3169. #: ./bashref.texi:1815
  3170. msgid "How the results of expansion are split into separate arguments."
  3171. msgstr ""
  3172. #. type: subsection
  3173. #: ./bashref.texi:1815 ./bashref.texi:2532 ./bashref.texi:2533
  3174. #, no-wrap
  3175. msgid "Filename Expansion"
  3176. msgstr ""
  3177. #. type: menuentry
  3178. #: ./bashref.texi:1815
  3179. msgid "A shorthand for specifying filenames matching patterns."
  3180. msgstr ""
  3181. #. type: subsection
  3182. #: ./bashref.texi:1815 ./bashref.texi:2696 ./bashref.texi:2697
  3183. #, no-wrap
  3184. msgid "Quote Removal"
  3185. msgstr ""
  3186. #. type: menuentry
  3187. #: ./bashref.texi:1815
  3188. msgid "How and when quote characters are removed from words."
  3189. msgstr ""
  3190. #. type: Plain text
  3191. #: ./bashref.texi:1823
  3192. msgid ""
  3193. "The order of expansions is: brace expansion; tilde expansion, parameter and "
  3194. "variable expansion, arithmetic expansion, and command substitution (done in "
  3195. "a left-to-right fashion); word splitting; and filename expansion."
  3196. msgstr ""
  3197. #. type: Plain text
  3198. #: ./bashref.texi:1829
  3199. msgid ""
  3200. "On systems that can support it, there is an additional expansion available: "
  3201. "@var{process substitution}. This is performed at the same time as tilde, "
  3202. "parameter, variable, and arithmetic expansion and command substitution."
  3203. msgstr ""
  3204. #. type: Plain text
  3205. #: ./bashref.texi:1833
  3206. msgid ""
  3207. "After these expansions are performed, quote characters present in the "
  3208. "original word are removed unless they have been quoted themselves "
  3209. "(@var{quote removal})."
  3210. msgstr ""
  3211. #. type: Plain text
  3212. #: ./bashref.texi:1841
  3213. msgid ""
  3214. "Only brace expansion, word splitting, and filename expansion can increase "
  3215. "the number of words of the expansion; other expansions expand a single word "
  3216. "to a single word. The only exceptions to this are the expansions of "
  3217. "@code{\"$@@\"} and @code{$*} (@pxref{Special Parameters}), and "
  3218. "@code{\"$@{@var{name}[@@]@}\"} and @code{$@{@var{name}[*]@}} "
  3219. "(@pxref{Arrays})."
  3220. msgstr ""
  3221. #. type: Plain text
  3222. #: ./bashref.texi:1844
  3223. msgid ""
  3224. "After all expansions, @code{quote removal} (@pxref{Quote Removal}) is "
  3225. "performed."
  3226. msgstr ""
  3227. #. type: cindex
  3228. #: ./bashref.texi:1848
  3229. #, no-wrap
  3230. msgid "expansion, brace"
  3231. msgstr ""
  3232. #. type: Plain text
  3233. #: ./bashref.texi:1861
  3234. msgid ""
  3235. "Brace expansion is a mechanism by which arbitrary strings may be generated. "
  3236. "This mechanism is similar to @var{filename expansion} (@pxref{Filename "
  3237. "Expansion}), but the filenames generated need not exist. Patterns to be "
  3238. "brace expanded take the form of an optional @var{preamble}, followed by "
  3239. "either a series of comma-separated strings or a sequence expression between "
  3240. "a pair of braces, followed by an optional @var{postscript}. The preamble is "
  3241. "prefixed to each string contained within the braces, and the postscript is "
  3242. "then appended to each resulting string, expanding left to right."
  3243. msgstr ""
  3244. #. type: Plain text
  3245. #: ./bashref.texi:1866
  3246. msgid ""
  3247. "Brace expansions may be nested. The results of each expanded string are not "
  3248. "sorted; left to right order is preserved. For example,"
  3249. msgstr ""
  3250. #. type: example
  3251. #: ./bashref.texi:1869
  3252. #, no-wrap
  3253. msgid ""
  3254. "bash$ echo a@{d,c,b@}e\n"
  3255. "ade ace abe\n"
  3256. msgstr ""
  3257. #. type: Plain text
  3258. #: ./bashref.texi:1887
  3259. msgid ""
  3260. "A sequence expression takes the form "
  3261. "@code{@{@var{x}..@var{y}[..@var{incr}]@}}, where @var{x} and @var{y} are "
  3262. "either integers or single characters, and @var{incr}, an optional increment, "
  3263. "is an integer. When integers are supplied, the expression expands to each "
  3264. "number between @var{x} and @var{y}, inclusive. Supplied integers may be "
  3265. "prefixed with @samp{0} to force each term to have the same width. When "
  3266. "either @var{x} or @var{y} begins with a zero, the shell attempts to force "
  3267. "all generated terms to contain the same number of digits, zero-padding where "
  3268. "necessary. When characters are supplied, the expression expands to each "
  3269. "character lexicographically between @var{x} and @var{y}, inclusive, using "
  3270. "the default C locale. Note that both @var{x} and @var{y} must be of the "
  3271. "same type. When the increment is supplied, it is used as the difference "
  3272. "between each term. The default increment is 1 or -1 as appropriate."
  3273. msgstr ""
  3274. #. type: Plain text
  3275. #: ./bashref.texi:1893
  3276. msgid ""
  3277. "Brace expansion is performed before any other expansions, and any characters "
  3278. "special to other expansions are preserved in the result. It is strictly "
  3279. "textual. Bash does not apply any syntactic interpretation to the context of "
  3280. "the expansion or the text between the braces."
  3281. msgstr ""
  3282. #. type: Plain text
  3283. #: ./bashref.texi:1898
  3284. msgid ""
  3285. "A correctly-formed brace expansion must contain unquoted opening and closing "
  3286. "braces, and at least one unquoted comma or a valid sequence expression. Any "
  3287. "incorrectly formed brace expansion is left unchanged."
  3288. msgstr ""
  3289. #. type: Plain text
  3290. #: ./bashref.texi:1904
  3291. msgid ""
  3292. "A @{ or @samp{,} may be quoted with a backslash to prevent its being "
  3293. "considered part of a brace expression. To avoid conflicts with parameter "
  3294. "expansion, the string @samp{$@{} is not considered eligible for brace "
  3295. "expansion, and inhibits brace expansion until the closing @samp{@}}."
  3296. msgstr ""
  3297. #. type: Plain text
  3298. #: ./bashref.texi:1908
  3299. msgid ""
  3300. "This construct is typically used as shorthand when the common prefix of the "
  3301. "strings to be generated is longer than in the above example:"
  3302. msgstr ""
  3303. #. type: example
  3304. #: ./bashref.texi:1910
  3305. #, no-wrap
  3306. msgid "mkdir /usr/local/src/bash/@{old,new,dist,bugs@}\n"
  3307. msgstr ""
  3308. #. type: example
  3309. #: ./bashref.texi:1914
  3310. #, no-wrap
  3311. msgid "chown root /usr/@{ucb/@{ex,edit@},lib/@{ex?.?*,how_ex@}@}\n"
  3312. msgstr ""
  3313. #. type: cindex
  3314. #: ./bashref.texi:1919
  3315. #, no-wrap
  3316. msgid "expansion, tilde"
  3317. msgstr ""
  3318. #. type: Plain text
  3319. #: ./bashref.texi:1933
  3320. msgid ""
  3321. "If a word begins with an unquoted tilde character (@samp{~}), all of the "
  3322. "characters up to the first unquoted slash (or all characters, if there is no "
  3323. "unquoted slash) are considered a @var{tilde-prefix}. If none of the "
  3324. "characters in the tilde-prefix are quoted, the characters in the "
  3325. "tilde-prefix following the tilde are treated as a possible @var{login "
  3326. "name}. If this login name is the null string, the tilde is replaced with "
  3327. "the value of the @env{HOME} shell variable. If @env{HOME} is unset, the "
  3328. "home directory of the user executing the shell is substituted instead. "
  3329. "Otherwise, the tilde-prefix is replaced with the home directory associated "
  3330. "with the specified login name."
  3331. msgstr ""
  3332. #. type: Plain text
  3333. #: ./bashref.texi:1938
  3334. msgid ""
  3335. "If the tilde-prefix is @samp{~+}, the value of the shell variable @env{PWD} "
  3336. "replaces the tilde-prefix. If the tilde-prefix is @samp{~-}, the value of "
  3337. "the shell variable @env{OLDPWD}, if it is set, is substituted."
  3338. msgstr ""
  3339. #. type: Plain text
  3340. #: ./bashref.texi:1947
  3341. msgid ""
  3342. "If the characters following the tilde in the tilde-prefix consist of a "
  3343. "number @var{N}, optionally prefixed by a @samp{+} or a @samp{-}, the "
  3344. "tilde-prefix is replaced with the corresponding element from the directory "
  3345. "stack, as it would be displayed by the @code{dirs} builtin invoked with the "
  3346. "characters following tilde in the tilde-prefix as an argument (@pxref{The "
  3347. "Directory Stack}). If the tilde-prefix, sans the tilde, consists of a "
  3348. "number without a leading @samp{+} or @samp{-}, @samp{+} is assumed."
  3349. msgstr ""
  3350. #. type: Plain text
  3351. #: ./bashref.texi:1950
  3352. msgid ""
  3353. "If the login name is invalid, or the tilde expansion fails, the word is left "
  3354. "unchanged."
  3355. msgstr ""
  3356. #. type: Plain text
  3357. #: ./bashref.texi:1957
  3358. msgid ""
  3359. "Each variable assignment is checked for unquoted tilde-prefixes immediately "
  3360. "following a @samp{:} or the first @samp{=}. In these cases, tilde expansion "
  3361. "is also performed. Consequently, one may use filenames with tildes in "
  3362. "assignments to @env{PATH}, @env{MAILPATH}, and @env{CDPATH}, and the shell "
  3363. "assigns the expanded value."
  3364. msgstr ""
  3365. #. type: Plain text
  3366. #: ./bashref.texi:1959
  3367. msgid "The following table shows how Bash treats unquoted tilde-prefixes:"
  3368. msgstr ""
  3369. #. type: item
  3370. #: ./bashref.texi:1961
  3371. #, no-wrap
  3372. msgid "~"
  3373. msgstr ""
  3374. #. type: table
  3375. #: ./bashref.texi:1963
  3376. msgid "The value of @code{$HOME}"
  3377. msgstr ""
  3378. #. type: item
  3379. #: ./bashref.texi:1963
  3380. #, no-wrap
  3381. msgid "~/foo"
  3382. msgstr ""
  3383. #. type: file{#1}
  3384. #: ./bashref.texi:1965
  3385. msgid "$HOME/foo"
  3386. msgstr ""
  3387. #. type: item
  3388. #: ./bashref.texi:1966
  3389. #, no-wrap
  3390. msgid "~fred/foo"
  3391. msgstr ""
  3392. #. type: table
  3393. #: ./bashref.texi:1969
  3394. msgid "The subdirectory @code{foo} of the home directory of the user @code{fred}"
  3395. msgstr ""
  3396. #. type: item
  3397. #: ./bashref.texi:1970
  3398. #, no-wrap
  3399. msgid "~+/foo"
  3400. msgstr ""
  3401. #. type: file{#1}
  3402. #: ./bashref.texi:1972
  3403. msgid "$PWD/foo"
  3404. msgstr ""
  3405. #. type: item
  3406. #: ./bashref.texi:1973
  3407. #, no-wrap
  3408. msgid "~-/foo"
  3409. msgstr ""
  3410. #. type: file{#1}
  3411. #: ./bashref.texi:1975
  3412. msgid "$@{OLDPWD-'~-'@}/foo"
  3413. msgstr ""
  3414. #. type: item
  3415. #: ./bashref.texi:1976
  3416. #, no-wrap
  3417. msgid "~@var{N}"
  3418. msgstr ""
  3419. #. type: table
  3420. #: ./bashref.texi:1978 ./bashref.texi:1981
  3421. msgid "The string that would be displayed by @samp{dirs +@var{N}}"
  3422. msgstr ""
  3423. #. type: item
  3424. #: ./bashref.texi:1979
  3425. #, no-wrap
  3426. msgid "~+@var{N}"
  3427. msgstr ""
  3428. #. type: item
  3429. #: ./bashref.texi:1982
  3430. #, no-wrap
  3431. msgid "~-@var{N}"
  3432. msgstr ""
  3433. #. type: table
  3434. #: ./bashref.texi:1984
  3435. msgid "The string that would be displayed by @samp{dirs -@var{N}}"
  3436. msgstr ""
  3437. #. type: Plain text
  3438. #: ./bashref.texi:1991
  3439. msgid ""
  3440. "Bash also performs tilde expansion on words satisfying the conditions of "
  3441. "variable assignments (@pxref{Shell Parameters}) when they appear as "
  3442. "arguments to simple commands. Bash does not do this, except for the "
  3443. "@var{declaration} commands listed above, when in @sc{posix} mode."
  3444. msgstr ""
  3445. #. type: cindex
  3446. #: ./bashref.texi:1994
  3447. #, no-wrap
  3448. msgid "parameter expansion"
  3449. msgstr ""
  3450. #. type: cindex
  3451. #: ./bashref.texi:1995
  3452. #, no-wrap
  3453. msgid "expansion, parameter"
  3454. msgstr ""
  3455. #. type: Plain text
  3456. #: ./bashref.texi:2003
  3457. msgid ""
  3458. "The @samp{$} character introduces parameter expansion, command substitution, "
  3459. "or arithmetic expansion. The parameter name or symbol to be expanded may be "
  3460. "enclosed in braces, which are optional but serve to protect the variable to "
  3461. "be expanded from characters immediately following it which could be "
  3462. "interpreted as part of the name."
  3463. msgstr ""
  3464. #. type: Plain text
  3465. #: ./bashref.texi:2008
  3466. msgid ""
  3467. "When braces are used, the matching ending brace is the first @samp{@}} not "
  3468. "escaped by a backslash or within a quoted string, and not within an embedded "
  3469. "arithmetic expansion, command substitution, or parameter expansion."
  3470. msgstr ""
  3471. #. type: Plain text
  3472. #: ./bashref.texi:2017
  3473. msgid ""
  3474. "The basic form of parameter expansion is $@{@var{parameter}@}. The value of "
  3475. "@var{parameter} is substituted. The @var{parameter} is a shell parameter as "
  3476. "described above (@pxref{Shell Parameters}) or an array reference "
  3477. "(@pxref{Arrays}). The braces are required when @var{parameter} is a "
  3478. "positional parameter with more than one digit, or when @var{parameter} is "
  3479. "followed by a character that is not to be interpreted as part of its name."
  3480. msgstr ""
  3481. #. type: Plain text
  3482. #: ./bashref.texi:2036
  3483. msgid ""
  3484. "If the first character of @var{parameter} is an exclamation point (!), and "
  3485. "@var{parameter} is not a @var{nameref}, it introduces a level of "
  3486. "indirection. Bash uses the value formed by expanding the rest of "
  3487. "@var{parameter} as the new @var{parameter}; this is then expanded and that "
  3488. "value is used in the rest of the expansion, rather than the expansion of the "
  3489. "original @var{parameter}. This is known as @code{indirect expansion}. The "
  3490. "value is subject to tilde expansion, parameter expansion, command "
  3491. "substitution, and arithmetic expansion. If @var{parameter} is a nameref, "
  3492. "this expands to the name of the variable referenced by @var{parameter} "
  3493. "instead of performing the complete indirect expansion. The exceptions to "
  3494. "this are the expansions of $@{!@var{prefix}*@} and $@{!@var{name}[@@]@} "
  3495. "described below. The exclamation point must immediately follow the left "
  3496. "brace in order to introduce indirection."
  3497. msgstr ""
  3498. #. type: Plain text
  3499. #: ./bashref.texi:2039
  3500. msgid ""
  3501. "In each of the cases below, @var{word} is subject to tilde expansion, "
  3502. "parameter expansion, command substitution, and arithmetic expansion."
  3503. msgstr ""
  3504. #. type: Plain text
  3505. #: ./bashref.texi:2046
  3506. msgid ""
  3507. "When not performing substring expansion, using the form described below "
  3508. "(e.g., @samp{:-}), Bash tests for a parameter that is unset or null. "
  3509. "Omitting the colon results in a test only for a parameter that is unset. "
  3510. "Put another way, if the colon is included, the operator tests for both "
  3511. "@var{parameter}'s existence and that its value is not null; if the colon is "
  3512. "omitted, the operator tests only for existence."
  3513. msgstr ""
  3514. #. type: item
  3515. #: ./bashref.texi:2049
  3516. #, no-wrap
  3517. msgid "$@{@var{parameter}:@minus{}@var{word}@}"
  3518. msgstr ""
  3519. #. type: table
  3520. #: ./bashref.texi:2053
  3521. msgid ""
  3522. "If @var{parameter} is unset or null, the expansion of @var{word} is "
  3523. "substituted. Otherwise, the value of @var{parameter} is substituted."
  3524. msgstr ""
  3525. #. type: item
  3526. #: ./bashref.texi:2054
  3527. #, no-wrap
  3528. msgid "$@{@var{parameter}:=@var{word}@}"
  3529. msgstr ""
  3530. #. type: table
  3531. #: ./bashref.texi:2061
  3532. msgid ""
  3533. "If @var{parameter} is unset or null, the expansion of @var{word} is assigned "
  3534. "to @var{parameter}. The value of @var{parameter} is then substituted. "
  3535. "Positional parameters and special parameters may not be assigned to in this "
  3536. "way."
  3537. msgstr ""
  3538. #. type: item
  3539. #: ./bashref.texi:2062
  3540. #, no-wrap
  3541. msgid "$@{@var{parameter}:?@var{word}@}"
  3542. msgstr ""
  3543. #. type: table
  3544. #: ./bashref.texi:2069
  3545. msgid ""
  3546. "If @var{parameter} is null or unset, the expansion of @var{word} (or a "
  3547. "message to that effect if @var{word} is not present) is written to the "
  3548. "standard error and the shell, if it is not interactive, exits. Otherwise, "
  3549. "the value of @var{parameter} is substituted."
  3550. msgstr ""
  3551. #. type: item
  3552. #: ./bashref.texi:2070
  3553. #, no-wrap
  3554. msgid "$@{@var{parameter}:+@var{word}@}"
  3555. msgstr ""
  3556. #. type: table
  3557. #: ./bashref.texi:2074
  3558. msgid ""
  3559. "If @var{parameter} is null or unset, nothing is substituted, otherwise the "
  3560. "expansion of @var{word} is substituted."
  3561. msgstr ""
  3562. #. type: item
  3563. #: ./bashref.texi:2075
  3564. #, no-wrap
  3565. msgid "$@{@var{parameter}:@var{offset}@}"
  3566. msgstr ""
  3567. #. type: itemx
  3568. #: ./bashref.texi:2076
  3569. #, no-wrap
  3570. msgid "$@{@var{parameter}:@var{offset}:@var{length}@}"
  3571. msgstr ""
  3572. #. type: table
  3573. #: ./bashref.texi:2088
  3574. msgid ""
  3575. "This is referred to as Substring Expansion. It expands to up to "
  3576. "@var{length} characters of the value of @var{parameter} starting at the "
  3577. "character specified by @var{offset}. If @var{parameter} is @samp{@@}, an "
  3578. "indexed array subscripted by @samp{@@} or @samp{*}, or an associative array "
  3579. "name, the results differ as described below. If @var{length} is omitted, it "
  3580. "expands to the substring of the value of @var{parameter} starting at the "
  3581. "character specified by @var{offset} and extending to the end of the value. "
  3582. "@var{length} and @var{offset} are arithmetic expressions (@pxref{Shell "
  3583. "Arithmetic})."
  3584. msgstr ""
  3585. #. type: table
  3586. #: ./bashref.texi:2099
  3587. msgid ""
  3588. "If @var{offset} evaluates to a number less than zero, the value is used as "
  3589. "an offset in characters from the end of the value of @var{parameter}. If "
  3590. "@var{length} evaluates to a number less than zero, it is interpreted as an "
  3591. "offset in characters from the end of the value of @var{parameter} rather "
  3592. "than a number of characters, and the expansion is the characters between "
  3593. "@var{offset} and that result. Note that a negative offset must be separated "
  3594. "from the colon by at least one space to avoid being confused with the "
  3595. "@samp{:-} expansion."
  3596. msgstr ""
  3597. #. type: table
  3598. #: ./bashref.texi:2102
  3599. msgid ""
  3600. "Here are some examples illustrating substring expansion on parameters and "
  3601. "subscripted arrays:"
  3602. msgstr ""
  3603. #. type: verbatim
  3604. #: ./bashref.texi:2108
  3605. #, no-wrap
  3606. msgid ""
  3607. "$ string=01234567890abcdefgh\n"
  3608. "$ echo ${string:7}\n"
  3609. "7890abcdefgh\n"
  3610. "$ echo ${string:7:0}\n"
  3611. "\n"
  3612. msgstr ""
  3613. #. type: verbatim
  3614. #: ./bashref.texi:2116
  3615. #, no-wrap
  3616. msgid ""
  3617. "$ echo ${string:7:2}\n"
  3618. "78\n"
  3619. "$ echo ${string:7:-2}\n"
  3620. "7890abcdef\n"
  3621. "$ echo ${string: -7}\n"
  3622. "bcdefgh\n"
  3623. "$ echo ${string: -7:0}\n"
  3624. "\n"
  3625. msgstr ""
  3626. #. type: verbatim
  3627. #: ./bashref.texi:2125
  3628. #, no-wrap
  3629. msgid ""
  3630. "$ echo ${string: -7:2}\n"
  3631. "bc\n"
  3632. "$ echo ${string: -7:-2}\n"
  3633. "bcdef\n"
  3634. "$ set -- 01234567890abcdefgh\n"
  3635. "$ echo ${1:7}\n"
  3636. "7890abcdefgh\n"
  3637. "$ echo ${1:7:0}\n"
  3638. "\n"
  3639. msgstr ""
  3640. #. type: verbatim
  3641. #: ./bashref.texi:2133
  3642. #, no-wrap
  3643. msgid ""
  3644. "$ echo ${1:7:2}\n"
  3645. "78\n"
  3646. "$ echo ${1:7:-2}\n"
  3647. "7890abcdef\n"
  3648. "$ echo ${1: -7}\n"
  3649. "bcdefgh\n"
  3650. "$ echo ${1: -7:0}\n"
  3651. "\n"
  3652. msgstr ""
  3653. #. type: verbatim
  3654. #: ./bashref.texi:2142
  3655. #, no-wrap
  3656. msgid ""
  3657. "$ echo ${1: -7:2}\n"
  3658. "bc\n"
  3659. "$ echo ${1: -7:-2}\n"
  3660. "bcdef\n"
  3661. "$ array[0]=01234567890abcdefgh\n"
  3662. "$ echo ${array[0]:7}\n"
  3663. "7890abcdefgh\n"
  3664. "$ echo ${array[0]:7:0}\n"
  3665. "\n"
  3666. msgstr ""
  3667. #. type: verbatim
  3668. #: ./bashref.texi:2150
  3669. #, no-wrap
  3670. msgid ""
  3671. "$ echo ${array[0]:7:2}\n"
  3672. "78\n"
  3673. "$ echo ${array[0]:7:-2}\n"
  3674. "7890abcdef\n"
  3675. "$ echo ${array[0]: -7}\n"
  3676. "bcdefgh\n"
  3677. "$ echo ${array[0]: -7:0}\n"
  3678. "\n"
  3679. msgstr ""
  3680. #. type: verbatim
  3681. #: ./bashref.texi:2155
  3682. #, no-wrap
  3683. msgid ""
  3684. "$ echo ${array[0]: -7:2}\n"
  3685. "bc\n"
  3686. "$ echo ${array[0]: -7:-2}\n"
  3687. "bcdef\n"
  3688. msgstr ""
  3689. #. type: table
  3690. #: ./bashref.texi:2163
  3691. msgid ""
  3692. "If @var{parameter} is @samp{@@}, the result is @var{length} positional "
  3693. "parameters beginning at @var{offset}. A negative @var{offset} is taken "
  3694. "relative to one greater than the greatest positional parameter, so an offset "
  3695. "of -1 evaluates to the last positional parameter. It is an expansion error "
  3696. "if @var{length} evaluates to a number less than zero."
  3697. msgstr ""
  3698. #. type: table
  3699. #: ./bashref.texi:2166
  3700. msgid ""
  3701. "The following examples illustrate substring expansion using positional "
  3702. "parameters:"
  3703. msgstr ""
  3704. #. type: verbatim
  3705. #: ./bashref.texi:2172
  3706. #, no-wrap
  3707. msgid ""
  3708. "$ set -- 1 2 3 4 5 6 7 8 9 0 a b c d e f g h\n"
  3709. "$ echo ${@:7}\n"
  3710. "7 8 9 0 a b c d e f g h\n"
  3711. "$ echo ${@:7:0}\n"
  3712. "\n"
  3713. msgstr ""
  3714. #. type: verbatim
  3715. #: ./bashref.texi:2184
  3716. #, no-wrap
  3717. msgid ""
  3718. "$ echo ${@:7:2}\n"
  3719. "7 8\n"
  3720. "$ echo ${@:7:-2}\n"
  3721. "bash: -2: substring expression < 0\n"
  3722. "$ echo ${@: -7:2}\n"
  3723. "b c\n"
  3724. "$ echo ${@:0}\n"
  3725. "./bash 1 2 3 4 5 6 7 8 9 0 a b c d e f g h\n"
  3726. "$ echo ${@:0:2}\n"
  3727. "./bash 1\n"
  3728. "$ echo ${@: -7:0}\n"
  3729. "\n"
  3730. msgstr ""
  3731. #. type: table
  3732. #: ./bashref.texi:2193
  3733. msgid ""
  3734. "If @var{parameter} is an indexed array name subscripted by @samp{@@} or "
  3735. "@samp{*}, the result is the @var{length} members of the array beginning with "
  3736. "@code{$@{@var{parameter}[@var{offset}]@}}. A negative @var{offset} is taken "
  3737. "relative to one greater than the maximum index of the specified array. It "
  3738. "is an expansion error if @var{length} evaluates to a number less than zero."
  3739. msgstr ""
  3740. #. type: table
  3741. #: ./bashref.texi:2196
  3742. msgid "These examples show how you can use substring expansion with indexed arrays:"
  3743. msgstr ""
  3744. #. type: verbatim
  3745. #: ./bashref.texi:2212
  3746. #, no-wrap
  3747. msgid ""
  3748. "$ array=(0 1 2 3 4 5 6 7 8 9 0 a b c d e f g h)\n"
  3749. "$ echo ${array[@]:7}\n"
  3750. "7 8 9 0 a b c d e f g h\n"
  3751. "$ echo ${array[@]:7:2}\n"
  3752. "7 8\n"
  3753. "$ echo ${array[@]: -7:2}\n"
  3754. "b c\n"
  3755. "$ echo ${array[@]: -7:-2}\n"
  3756. "bash: -2: substring expression < 0\n"
  3757. "$ echo ${array[@]:0}\n"
  3758. "0 1 2 3 4 5 6 7 8 9 0 a b c d e f g h\n"
  3759. "$ echo ${array[@]:0:2}\n"
  3760. "0 1\n"
  3761. "$ echo ${array[@]: -7:0}\n"
  3762. "\n"
  3763. msgstr ""
  3764. #. type: table
  3765. #: ./bashref.texi:2217
  3766. msgid ""
  3767. "Substring expansion applied to an associative array produces undefined "
  3768. "results."
  3769. msgstr ""
  3770. #. type: table
  3771. #: ./bashref.texi:2222
  3772. msgid ""
  3773. "Substring indexing is zero-based unless the positional parameters are used, "
  3774. "in which case the indexing starts at 1 by default. If @var{offset} is 0, "
  3775. "and the positional parameters are used, @code{$0} is prefixed to the list."
  3776. msgstr ""
  3777. #. type: item
  3778. #: ./bashref.texi:2223
  3779. #, no-wrap
  3780. msgid "$@{!@var{prefix}*@}"
  3781. msgstr ""
  3782. #. type: itemx
  3783. #: ./bashref.texi:2224
  3784. #, no-wrap
  3785. msgid "$@{!@var{prefix}@@@}"
  3786. msgstr ""
  3787. #. type: table
  3788. #: ./bashref.texi:2229
  3789. msgid ""
  3790. "Expands to the names of variables whose names begin with @var{prefix}, "
  3791. "separated by the first character of the @env{IFS} special variable. When "
  3792. "@samp{@@} is used and the expansion appears within double quotes, each "
  3793. "variable name expands to a separate word."
  3794. msgstr ""
  3795. #. type: item
  3796. #: ./bashref.texi:2230
  3797. #, no-wrap
  3798. msgid "$@{!@var{name}[@@]@}"
  3799. msgstr ""
  3800. #. type: itemx
  3801. #: ./bashref.texi:2231
  3802. #, no-wrap
  3803. msgid "$@{!@var{name}[*]@}"
  3804. msgstr ""
  3805. #. type: table
  3806. #: ./bashref.texi:2238
  3807. msgid ""
  3808. "If @var{name} is an array variable, expands to the list of array indices "
  3809. "(keys) assigned in @var{name}. If @var{name} is not an array, expands to 0 "
  3810. "if @var{name} is set and null otherwise. When @samp{@@} is used and the "
  3811. "expansion appears within double quotes, each key expands to a separate word."
  3812. msgstr ""
  3813. #. type: item
  3814. #: ./bashref.texi:2239
  3815. #, no-wrap
  3816. msgid "$@{#@var{parameter}@}"
  3817. msgstr ""
  3818. #. type: table
  3819. #: ./bashref.texi:2251
  3820. msgid ""
  3821. "The length in characters of the expanded value of @var{parameter} is "
  3822. "substituted. If @var{parameter} is @samp{*} or @samp{@@}, the value "
  3823. "substituted is the number of positional parameters. If @var{parameter} is "
  3824. "an array name subscripted by @samp{*} or @samp{@@}, the value substituted is "
  3825. "the number of elements in the array. If @var{parameter} is an indexed array "
  3826. "name subscripted by a negative number, that number is interpreted as "
  3827. "relative to one greater than the maximum index of @var{parameter}, so "
  3828. "negative indices count back from the end of the array, and an index of -1 "
  3829. "references the last element."
  3830. msgstr ""
  3831. #. type: item
  3832. #: ./bashref.texi:2252
  3833. #, no-wrap
  3834. msgid "$@{@var{parameter}#@var{word}@}"
  3835. msgstr ""
  3836. #. type: itemx
  3837. #: ./bashref.texi:2253
  3838. #, no-wrap
  3839. msgid "$@{@var{parameter}##@var{word}@}"
  3840. msgstr ""
  3841. #. type: table
  3842. #: ./bashref.texi:2268
  3843. msgid ""
  3844. "The @var{word} is expanded to produce a pattern and matched according to the "
  3845. "rules described below (@pxref{Pattern Matching}). If the pattern matches "
  3846. "the beginning of the expanded value of @var{parameter}, then the result of "
  3847. "the expansion is the expanded value of @var{parameter} with the shortest "
  3848. "matching pattern (the @samp{#} case) or the longest matching pattern (the "
  3849. "@samp{##} case) deleted. If @var{parameter} is @samp{@@} or @samp{*}, the "
  3850. "pattern removal operation is applied to each positional parameter in turn, "
  3851. "and the expansion is the resultant list. If @var{parameter} is an array "
  3852. "variable subscripted with @samp{@@} or @samp{*}, the pattern removal "
  3853. "operation is applied to each member of the array in turn, and the expansion "
  3854. "is the resultant list."
  3855. msgstr ""
  3856. #. type: item
  3857. #: ./bashref.texi:2269
  3858. #, no-wrap
  3859. msgid "$@{@var{parameter}%@var{word}@}"
  3860. msgstr ""
  3861. #. type: itemx
  3862. #: ./bashref.texi:2270
  3863. #, no-wrap
  3864. msgid "$@{@var{parameter}%%@var{word}@}"
  3865. msgstr ""
  3866. #. type: table
  3867. #: ./bashref.texi:2285
  3868. msgid ""
  3869. "The @var{word} is expanded to produce a pattern and matched according to the "
  3870. "rules described below (@pxref{Pattern Matching}). If the pattern matches a "
  3871. "trailing portion of the expanded value of @var{parameter}, then the result "
  3872. "of the expansion is the value of @var{parameter} with the shortest matching "
  3873. "pattern (the @samp{%} case) or the longest matching pattern (the @samp{%%} "
  3874. "case) deleted. If @var{parameter} is @samp{@@} or @samp{*}, the pattern "
  3875. "removal operation is applied to each positional parameter in turn, and the "
  3876. "expansion is the resultant list. If @var{parameter} is an array variable "
  3877. "subscripted with @samp{@@} or @samp{*}, the pattern removal operation is "
  3878. "applied to each member of the array in turn, and the expansion is the "
  3879. "resultant list."
  3880. msgstr ""
  3881. #. type: item
  3882. #: ./bashref.texi:2286
  3883. #, no-wrap
  3884. msgid "$@{@var{parameter}/@var{pattern}/@var{string}@}"
  3885. msgstr ""
  3886. #. type: table
  3887. #: ./bashref.texi:2313
  3888. msgid ""
  3889. "The @var{pattern} is expanded to produce a pattern just as in filename "
  3890. "expansion. @var{Parameter} is expanded and the longest match of "
  3891. "@var{pattern} against its value is replaced with @var{string}. The match is "
  3892. "performed according to the rules described below (@pxref{Pattern "
  3893. "Matching}). If @var{pattern} begins with @samp{/}, all matches of "
  3894. "@var{pattern} are replaced with @var{string}. Normally only the first match "
  3895. "is replaced. If @var{pattern} begins with @samp{#}, it must match at the "
  3896. "beginning of the expanded value of @var{parameter}. If @var{pattern} begins "
  3897. "with @samp{%}, it must match at the end of the expanded value of "
  3898. "@var{parameter}. If @var{string} is null, matches of @var{pattern} are "
  3899. "deleted and the @code{/} following @var{pattern} may be omitted. If the "
  3900. "@code{nocasematch} shell option (see the description of @code{shopt} in "
  3901. "@ref{The Shopt Builtin}) is enabled, the match is performed without regard "
  3902. "to the case of alphabetic characters. If @var{parameter} is @samp{@@} or "
  3903. "@samp{*}, the substitution operation is applied to each positional parameter "
  3904. "in turn, and the expansion is the resultant list. If @var{parameter} is an "
  3905. "array variable subscripted with @samp{@@} or @samp{*}, the substitution "
  3906. "operation is applied to each member of the array in turn, and the expansion "
  3907. "is the resultant list."
  3908. msgstr ""
  3909. #. type: item
  3910. #: ./bashref.texi:2314
  3911. #, no-wrap
  3912. msgid "$@{@var{parameter}^@var{pattern}@}"
  3913. msgstr ""
  3914. #. type: itemx
  3915. #: ./bashref.texi:2315
  3916. #, no-wrap
  3917. msgid "$@{@var{parameter}^^@var{pattern}@}"
  3918. msgstr ""
  3919. #. type: itemx
  3920. #: ./bashref.texi:2316
  3921. #, no-wrap
  3922. msgid "$@{@var{parameter},@var{pattern}@}"
  3923. msgstr ""
  3924. #. type: itemx
  3925. #: ./bashref.texi:2317
  3926. #, no-wrap
  3927. msgid "$@{@var{parameter},,@var{pattern}@}"
  3928. msgstr ""
  3929. #. type: table
  3930. #: ./bashref.texi:2339
  3931. msgid ""
  3932. "This expansion modifies the case of alphabetic characters in "
  3933. "@var{parameter}. The @var{pattern} is expanded to produce a pattern just as "
  3934. "in filename expansion. Each character in the expanded value of "
  3935. "@var{parameter} is tested against @var{pattern}, and, if it matches the "
  3936. "pattern, its case is converted. The pattern should not attempt to match "
  3937. "more than one character. The @samp{^} operator converts lowercase letters "
  3938. "matching @var{pattern} to uppercase; the @samp{,} operator converts matching "
  3939. "uppercase letters to lowercase. The @samp{^^} and @samp{,,} expansions "
  3940. "convert each matched character in the expanded value; the @samp{^} and "
  3941. "@samp{,} expansions match and convert only the first character in the "
  3942. "expanded value. If @var{pattern} is omitted, it is treated like a @samp{?}, "
  3943. "which matches every character. If @var{parameter} is @samp{@@} or @samp{*}, "
  3944. "the case modification operation is applied to each positional parameter in "
  3945. "turn, and the expansion is the resultant list. If @var{parameter} is an "
  3946. "array variable subscripted with @samp{@@} or @samp{*}, the case modification "
  3947. "operation is applied to each member of the array in turn, and the expansion "
  3948. "is the resultant list."
  3949. msgstr ""
  3950. #. type: item
  3951. #: ./bashref.texi:2340
  3952. #, no-wrap
  3953. msgid "$@{@var{parameter}@@@var{operator}@}"
  3954. msgstr ""
  3955. #. type: table
  3956. #: ./bashref.texi:2344
  3957. msgid ""
  3958. "The expansion is either a transformation of the value of @var{parameter} or "
  3959. "information about @var{parameter} itself, depending on the value of "
  3960. "@var{operator}. Each @var{operator} is a single letter:"
  3961. msgstr ""
  3962. #. type: item
  3963. #: ./bashref.texi:2346
  3964. #, no-wrap
  3965. msgid "U"
  3966. msgstr ""
  3967. #. type: table
  3968. #: ./bashref.texi:2349
  3969. msgid ""
  3970. "The expansion is a string that is the value of @var{parameter} with "
  3971. "lowercase alphabetic characters converted to uppercase."
  3972. msgstr ""
  3973. #. type: item
  3974. #: ./bashref.texi:2349
  3975. #, no-wrap
  3976. msgid "u"
  3977. msgstr ""
  3978. #. type: table
  3979. #: ./bashref.texi:2352
  3980. msgid ""
  3981. "The expansion is a string that is the value of @var{parameter} with the "
  3982. "first character converted to uppercase, if it is alphabetic."
  3983. msgstr ""
  3984. #. type: item
  3985. #: ./bashref.texi:2352
  3986. #, no-wrap
  3987. msgid "L"
  3988. msgstr ""
  3989. #. type: table
  3990. #: ./bashref.texi:2355
  3991. msgid ""
  3992. "The expansion is a string that is the value of @var{parameter} with "
  3993. "uppercase alphabetic characters converted to lowercase."
  3994. msgstr ""
  3995. #. type: item
  3996. #: ./bashref.texi:2355
  3997. #, no-wrap
  3998. msgid "Q"
  3999. msgstr ""
  4000. #. type: table
  4001. #: ./bashref.texi:2358
  4002. msgid ""
  4003. "The expansion is a string that is the value of @var{parameter} quoted in a "
  4004. "format that can be reused as input."
  4005. msgstr ""
  4006. #. type: item
  4007. #: ./bashref.texi:2358
  4008. #, no-wrap
  4009. msgid "E"
  4010. msgstr ""
  4011. #. type: table
  4012. #: ./bashref.texi:2361
  4013. msgid ""
  4014. "The expansion is a string that is the value of @var{parameter} with "
  4015. "backslash escape sequences expanded as with the @code{$'@dots{}'} quoting "
  4016. "mechanism."
  4017. msgstr ""
  4018. #. type: item
  4019. #: ./bashref.texi:2361
  4020. #, no-wrap
  4021. msgid "P"
  4022. msgstr ""
  4023. #. type: table
  4024. #: ./bashref.texi:2364
  4025. msgid ""
  4026. "The expansion is a string that is the result of expanding the value of "
  4027. "@var{parameter} as if it were a prompt string (@pxref{Controlling the "
  4028. "Prompt})."
  4029. msgstr ""
  4030. #. type: item
  4031. #: ./bashref.texi:2364
  4032. #, no-wrap
  4033. msgid "A"
  4034. msgstr ""
  4035. #. type: table
  4036. #: ./bashref.texi:2368
  4037. msgid ""
  4038. "The expansion is a string in the form of an assignment statement or "
  4039. "@code{declare} command that, if evaluated, will recreate @var{parameter} "
  4040. "with its attributes and value."
  4041. msgstr ""
  4042. #. type: item
  4043. #: ./bashref.texi:2368
  4044. #, no-wrap
  4045. msgid "K"
  4046. msgstr ""
  4047. #. type: table
  4048. #: ./bashref.texi:2373
  4049. msgid ""
  4050. "Produces a possibly-quoted version of the value of @var{parameter}, except "
  4051. "that it prints the values of indexed and associative arrays as a sequence of "
  4052. "quoted key-value pairs (@pxref{Arrays})."
  4053. msgstr ""
  4054. #. type: item
  4055. #: ./bashref.texi:2373
  4056. #, no-wrap
  4057. msgid "a"
  4058. msgstr ""
  4059. #. type: table
  4060. #: ./bashref.texi:2376
  4061. msgid ""
  4062. "The expansion is a string consisting of flag values representing "
  4063. "@var{parameter}'s attributes."
  4064. msgstr ""
  4065. #. type: table
  4066. #: ./bashref.texi:2385
  4067. msgid ""
  4068. "If @var{parameter} is @samp{@@} or @samp{*}, the operation is applied to "
  4069. "each positional parameter in turn, and the expansion is the resultant list. "
  4070. "If @var{parameter} is an array variable subscripted with @samp{@@} or "
  4071. "@samp{*}, the operation is applied to each member of the array in turn, and "
  4072. "the expansion is the resultant list."
  4073. msgstr ""
  4074. #. type: table
  4075. #: ./bashref.texi:2388
  4076. msgid ""
  4077. "The result of the expansion is subject to word splitting and filename "
  4078. "expansion as described below."
  4079. msgstr ""
  4080. #. type: Plain text
  4081. #: ./bashref.texi:2397
  4082. msgid ""
  4083. "Command substitution allows the output of a command to replace the command "
  4084. "itself. Command substitution occurs when a command is enclosed as follows:"
  4085. msgstr ""
  4086. #. type: example
  4087. #: ./bashref.texi:2399
  4088. #, no-wrap
  4089. msgid "$(@var{command})\n"
  4090. msgstr ""
  4091. #. type: example
  4092. #: ./bashref.texi:2404
  4093. #, no-wrap
  4094. msgid "`@var{command}`\n"
  4095. msgstr ""
  4096. #. type: Plain text
  4097. #: ./bashref.texi:2414
  4098. msgid ""
  4099. "Bash performs the expansion by executing @var{command} in a subshell "
  4100. "environment and replacing the command substitution with the standard output "
  4101. "of the command, with any trailing newlines deleted. Embedded newlines are "
  4102. "not deleted, but they may be removed during word splitting. The command "
  4103. "substitution @code{$(cat @var{file})} can be replaced by the equivalent but "
  4104. "faster @code{$(< @var{file})}."
  4105. msgstr ""
  4106. #. type: Plain text
  4107. #: ./bashref.texi:2422
  4108. msgid ""
  4109. "When the old-style backquote form of substitution is used, backslash retains "
  4110. "its literal meaning except when followed by @samp{$}, @samp{`}, or "
  4111. "@samp{\\}. The first backquote not preceded by a backslash terminates the "
  4112. "command substitution. When using the @code{$(@var{command})} form, all "
  4113. "characters between the parentheses make up the command; none are treated "
  4114. "specially."
  4115. msgstr ""
  4116. #. type: Plain text
  4117. #: ./bashref.texi:2425
  4118. msgid ""
  4119. "Command substitutions may be nested. To nest when using the backquoted "
  4120. "form, escape the inner backquotes with backslashes."
  4121. msgstr ""
  4122. #. type: Plain text
  4123. #: ./bashref.texi:2428
  4124. msgid ""
  4125. "If the substitution appears within double quotes, word splitting and "
  4126. "filename expansion are not performed on the results."
  4127. msgstr ""
  4128. #. type: cindex
  4129. #: ./bashref.texi:2431
  4130. #, no-wrap
  4131. msgid "expansion, arithmetic"
  4132. msgstr ""
  4133. #. type: Plain text
  4134. #: ./bashref.texi:2436
  4135. msgid ""
  4136. "Arithmetic expansion allows the evaluation of an arithmetic expression and "
  4137. "the substitution of the result. The format for arithmetic expansion is:"
  4138. msgstr ""
  4139. #. type: example
  4140. #: ./bashref.texi:2439
  4141. #, no-wrap
  4142. msgid "$(( @var{expression} ))\n"
  4143. msgstr ""
  4144. #. type: Plain text
  4145. #: ./bashref.texi:2447
  4146. msgid ""
  4147. "The expression is treated as if it were within double quotes, but a double "
  4148. "quote inside the parentheses is not treated specially. All tokens in the "
  4149. "expression undergo parameter and variable expansion, command substitution, "
  4150. "and quote removal. The result is treated as the arithmetic expression to be "
  4151. "evaluated. Arithmetic expansions may be nested."
  4152. msgstr ""
  4153. #. type: Plain text
  4154. #: ./bashref.texi:2452
  4155. msgid ""
  4156. "The evaluation is performed according to the rules listed below "
  4157. "(@pxref{Shell Arithmetic}). If the expression is invalid, Bash prints a "
  4158. "message indicating failure to the standard error and no substitution occurs."
  4159. msgstr ""
  4160. #. type: cindex
  4161. #: ./bashref.texi:2455
  4162. #, no-wrap
  4163. msgid "process substitution"
  4164. msgstr ""
  4165. #. type: Plain text
  4166. #: ./bashref.texi:2460
  4167. msgid ""
  4168. "Process substitution allows a process's input or output to be referred to "
  4169. "using a filename. It takes the form of"
  4170. msgstr ""
  4171. #. type: example
  4172. #: ./bashref.texi:2462
  4173. #, no-wrap
  4174. msgid "<(@var{list})\n"
  4175. msgstr ""
  4176. #. type: example
  4177. #: ./bashref.texi:2467
  4178. #, no-wrap
  4179. msgid ">(@var{list})\n"
  4180. msgstr ""
  4181. #. type: Plain text
  4182. #: ./bashref.texi:2483
  4183. msgid ""
  4184. "The process @var{list} is run asynchronously, and its input or output "
  4185. "appears as a filename. This filename is passed as an argument to the "
  4186. "current command as the result of the expansion. If the @code{>(@var{list})} "
  4187. "form is used, writing to the file will provide input for @var{list}. If the "
  4188. "@code{<(@var{list})} form is used, the file passed as an argument should be "
  4189. "read to obtain the output of @var{list}. Note that no space may appear "
  4190. "between the @code{<} or @code{>} and the left parenthesis, otherwise the "
  4191. "construct would be interpreted as a redirection. Process substitution is "
  4192. "supported on systems that support named pipes (@sc{fifo}s) or the "
  4193. "@file{/dev/fd} method of naming open files."
  4194. msgstr ""
  4195. #. type: Plain text
  4196. #: ./bashref.texi:2487
  4197. msgid ""
  4198. "When available, process substitution is performed simultaneously with "
  4199. "parameter and variable expansion, command substitution, and arithmetic "
  4200. "expansion."
  4201. msgstr ""
  4202. #. type: Plain text
  4203. #: ./bashref.texi:2495
  4204. msgid ""
  4205. "The shell scans the results of parameter expansion, command substitution, "
  4206. "and arithmetic expansion that did not occur within double quotes for word "
  4207. "splitting."
  4208. msgstr ""
  4209. #. type: Plain text
  4210. #: ./bashref.texi:2515
  4211. msgid ""
  4212. "The shell treats each character of @env{$IFS} as a delimiter, and splits the "
  4213. "results of the other expansions into words using these characters as field "
  4214. "terminators. If @env{IFS} is unset, or its value is exactly "
  4215. "@code{<space><tab><newline>}, the default, then sequences of @code{ "
  4216. "<space>}, @code{<tab>}, and @code{<newline>} at the beginning and end of the "
  4217. "results of the previous expansions are ignored, and any sequence of "
  4218. "@env{IFS} characters not at the beginning or end serves to delimit words. "
  4219. "If @env{IFS} has a value other than the default, then sequences of the "
  4220. "whitespace characters @code{space}, @code{tab}, and @code{newline} are "
  4221. "ignored at the beginning and end of the word, as long as the whitespace "
  4222. "character is in the value of @env{IFS} (an @env{IFS} whitespace character). "
  4223. "Any character in @env{IFS} that is not @env{IFS} whitespace, along with any "
  4224. "adjacent @env{IFS} whitespace characters, delimits a field. A sequence of "
  4225. "@env{IFS} whitespace characters is also treated as a delimiter. If the "
  4226. "value of @env{IFS} is null, no word splitting occurs."
  4227. msgstr ""
  4228. #. type: Plain text
  4229. #: ./bashref.texi:2528
  4230. msgid ""
  4231. "Explicit null arguments (@code{\"\"} or @code{''}) are retained and passed "
  4232. "to commands as empty strings. Unquoted implicit null arguments, resulting "
  4233. "from the expansion of parameters that have no values, are removed. If a "
  4234. "parameter with no value is expanded within double quotes, a null argument "
  4235. "results and is retained and passed to a command as an empty string. When a "
  4236. "quoted null argument appears as part of a word whose expansion is non-null, "
  4237. "the null argument is removed. That is, the word @code{-d''} becomes "
  4238. "@code{-d} after word splitting and null argument removal."
  4239. msgstr ""
  4240. #. type: Plain text
  4241. #: ./bashref.texi:2531
  4242. msgid "Note that if no expansion occurs, no splitting is performed."
  4243. msgstr ""
  4244. #. type: subsubsection
  4245. #: ./bashref.texi:2536 ./bashref.texi:2595 ./bashref.texi:2596
  4246. #, no-wrap
  4247. msgid "Pattern Matching"
  4248. msgstr ""
  4249. #. type: menuentry
  4250. #: ./bashref.texi:2536
  4251. msgid "How the shell matches patterns."
  4252. msgstr ""
  4253. #. type: cindex
  4254. #: ./bashref.texi:2537
  4255. #, no-wrap
  4256. msgid "expansion, filename"
  4257. msgstr ""
  4258. #. type: cindex
  4259. #: ./bashref.texi:2538
  4260. #, no-wrap
  4261. msgid "expansion, pathname"
  4262. msgstr ""
  4263. #. type: cindex
  4264. #: ./bashref.texi:2540
  4265. #, no-wrap
  4266. msgid "pathname expansion"
  4267. msgstr ""
  4268. #. type: Plain text
  4269. #: ./bashref.texi:2558
  4270. msgid ""
  4271. "After word splitting, unless the @option{-f} option has been set (@pxref{The "
  4272. "Set Builtin}), Bash scans each word for the characters @samp{*}, @samp{?}, "
  4273. "and @samp{[}. If one of these characters appears, and is not quoted, then "
  4274. "the word is regarded as a @var{pattern}, and replaced with an alphabetically "
  4275. "sorted list of filenames matching the pattern (@pxref{Pattern Matching}). "
  4276. "If no matching filenames are found, and the shell option @code{nullglob} is "
  4277. "disabled, the word is left unchanged. If the @code{nullglob} option is set, "
  4278. "and no matches are found, the word is removed. If the @code{failglob} shell "
  4279. "option is set, and no matches are found, an error message is printed and the "
  4280. "command is not executed. If the shell option @code{nocaseglob} is enabled, "
  4281. "the match is performed without regard to the case of alphabetic characters."
  4282. msgstr ""
  4283. #. type: Plain text
  4284. #: ./bashref.texi:2565
  4285. msgid ""
  4286. "When a pattern is used for filename expansion, the character @samp{.} at the "
  4287. "start of a filename or immediately following a slash must be matched "
  4288. "explicitly, unless the shell option @code{dotglob} is set. The filenames "
  4289. "@samp{.} and @samp{..} must always be matched explicitly, even if "
  4290. "@code{dotglob} is set. In other cases, the @samp{.} character is not "
  4291. "treated specially."
  4292. msgstr ""
  4293. #. type: Plain text
  4294. #: ./bashref.texi:2570
  4295. msgid ""
  4296. "When matching a filename, the slash character must always be matched "
  4297. "explicitly by a slash in the pattern, but in other matching contexts it can "
  4298. "be matched by a special pattern character as described below (@pxref{Pattern "
  4299. "Matching})."
  4300. msgstr ""
  4301. #. type: Plain text
  4302. #: ./bashref.texi:2574
  4303. msgid ""
  4304. "See the description of @code{shopt} in @ref{The Shopt Builtin}, for a "
  4305. "description of the @code{nocaseglob}, @code{nullglob}, @code{failglob}, and "
  4306. "@code{dotglob} options."
  4307. msgstr ""
  4308. #. type: Plain text
  4309. #: ./bashref.texi:2594
  4310. msgid ""
  4311. "The @env{GLOBIGNORE} shell variable may be used to restrict the set of file "
  4312. "names matching a pattern. If @env{GLOBIGNORE} is set, each matching file "
  4313. "name that also matches one of the patterns in @env{GLOBIGNORE} is removed "
  4314. "from the list of matches. If the @code{nocaseglob} option is set, the "
  4315. "matching against the patterns in @env{GLOBIGNORE} is performed without "
  4316. "regard to case. The filenames @file{.} and @file{..} are always ignored "
  4317. "when @env{GLOBIGNORE} is set and not null. However, setting "
  4318. "@env{GLOBIGNORE} to a non-null value has the effect of enabling the "
  4319. "@code{dotglob} shell option, so all other filenames beginning with a "
  4320. "@samp{.} will match. To get the old behavior of ignoring filenames "
  4321. "beginning with a @samp{.}, make @samp{.*} one of the patterns in "
  4322. "@env{GLOBIGNORE}. The @code{dotglob} option is disabled when "
  4323. "@env{GLOBIGNORE} is unset."
  4324. msgstr ""
  4325. #. type: cindex
  4326. #: ./bashref.texi:2597
  4327. #, no-wrap
  4328. msgid "pattern matching"
  4329. msgstr ""
  4330. #. type: cindex
  4331. #: ./bashref.texi:2598
  4332. #, no-wrap
  4333. msgid "matching, pattern"
  4334. msgstr ""
  4335. #. type: Plain text
  4336. #: ./bashref.texi:2607
  4337. msgid ""
  4338. "Any character that appears in a pattern, other than the special pattern "
  4339. "characters described below, matches itself. The @sc{nul} character may not "
  4340. "occur in a pattern. A backslash escapes the following character; the "
  4341. "escaping backslash is discarded when matching. The special pattern "
  4342. "characters must be quoted if they are to be matched literally."
  4343. msgstr ""
  4344. #. type: Plain text
  4345. #: ./bashref.texi:2609
  4346. msgid "The special pattern characters have the following meanings:"
  4347. msgstr ""
  4348. #. type: table
  4349. #: ./bashref.texi:2618
  4350. msgid ""
  4351. "Matches any string, including the null string. When the @code{globstar} "
  4352. "shell option is enabled, and @samp{*} is used in a filename expansion "
  4353. "context, two adjacent @samp{*}s used as a single pattern will match all "
  4354. "files and zero or more directories and subdirectories. If followed by a "
  4355. "@samp{/}, two adjacent @samp{*}s will match only directories and "
  4356. "subdirectories."
  4357. msgstr ""
  4358. #. type: table
  4359. #: ./bashref.texi:2620
  4360. msgid "Matches any single character."
  4361. msgstr ""
  4362. #. type: item
  4363. #: ./bashref.texi:2620
  4364. #, no-wrap
  4365. msgid "[@dots{}]"
  4366. msgstr ""
  4367. #. type: table
  4368. #: ./bashref.texi:2634
  4369. msgid ""
  4370. "Matches any one of the enclosed characters. A pair of characters separated "
  4371. "by a hyphen denotes a @var{range expression}; any character that falls "
  4372. "between those two characters, inclusive, using the current locale's "
  4373. "collating sequence and character set, is matched. If the first character "
  4374. "following the @samp{[} is a @samp{!} or a @samp{^} then any character not "
  4375. "enclosed is matched. A @samp{@minus{}} may be matched by including it as "
  4376. "the first or last character in the set. A @samp{]} may be matched by "
  4377. "including it as the first character in the set. The sorting order of "
  4378. "characters in range expressions is determined by the current locale and the "
  4379. "values of the @env{LC_COLLATE} and @env{LC_ALL} shell variables, if set."
  4380. msgstr ""
  4381. #. type: table
  4382. #: ./bashref.texi:2643
  4383. msgid ""
  4384. "For example, in the default C locale, @samp{[a-dx-z]} is equivalent to "
  4385. "@samp{[abcdxyz]}. Many locales sort characters in dictionary order, and in "
  4386. "these locales @samp{[a-dx-z]} is typically not equivalent to "
  4387. "@samp{[abcdxyz]}; it might be equivalent to @samp{[aBbCcDdxXyYz]}, for "
  4388. "example. To obtain the traditional interpretation of ranges in bracket "
  4389. "expressions, you can force the use of the C locale by setting the "
  4390. "@env{LC_COLLATE} or @env{LC_ALL} environment variable to the value @samp{C}, "
  4391. "or enable the @code{globasciiranges} shell option."
  4392. msgstr ""
  4393. #. type: table
  4394. #: ./bashref.texi:2648
  4395. msgid ""
  4396. "Within @samp{[} and @samp{]}, @var{character classes} can be specified using "
  4397. "the syntax @code{[:}@var{class}@code{:]}, where @var{class} is one of the "
  4398. "following classes defined in the @sc{posix} standard:"
  4399. msgstr ""
  4400. #. type: example
  4401. #: ./bashref.texi:2651
  4402. #, no-wrap
  4403. msgid ""
  4404. "alnum alpha ascii blank cntrl digit graph lower\n"
  4405. "print punct space upper word xdigit\n"
  4406. msgstr ""
  4407. #. type: table
  4408. #: ./bashref.texi:2656
  4409. msgid ""
  4410. "A character class matches any character belonging to that class. The "
  4411. "@code{word} character class matches letters, digits, and the character "
  4412. "@samp{_}."
  4413. msgstr ""
  4414. #. type: table
  4415. #: ./bashref.texi:2661
  4416. msgid ""
  4417. "Within @samp{[} and @samp{]}, an @var{equivalence class} can be specified "
  4418. "using the syntax @code{[=}@var{c}@code{=]}, which matches all characters "
  4419. "with the same collation weight (as defined by the current locale) as the "
  4420. "character @var{c}."
  4421. msgstr ""
  4422. #. type: table
  4423. #: ./bashref.texi:2664
  4424. msgid ""
  4425. "Within @samp{[} and @samp{]}, the syntax @code{[.}@var{symbol}@code{.]} "
  4426. "matches the collating symbol @var{symbol}."
  4427. msgstr ""
  4428. #. type: Plain text
  4429. #: ./bashref.texi:2672
  4430. msgid ""
  4431. "If the @code{extglob} shell option is enabled using the @code{shopt} "
  4432. "builtin, several extended pattern matching operators are recognized. In the "
  4433. "following description, a @var{pattern-list} is a list of one or more "
  4434. "patterns separated by a @samp{|}. Composite patterns may be formed using "
  4435. "one or more of the following sub-patterns:"
  4436. msgstr ""
  4437. #. type: item
  4438. #: ./bashref.texi:2674
  4439. #, no-wrap
  4440. msgid "?(@var{pattern-list})"
  4441. msgstr ""
  4442. #. type: table
  4443. #: ./bashref.texi:2676
  4444. msgid "Matches zero or one occurrence of the given patterns."
  4445. msgstr ""
  4446. #. type: item
  4447. #: ./bashref.texi:2677
  4448. #, no-wrap
  4449. msgid "*(@var{pattern-list})"
  4450. msgstr ""
  4451. #. type: table
  4452. #: ./bashref.texi:2679
  4453. msgid "Matches zero or more occurrences of the given patterns."
  4454. msgstr ""
  4455. #. type: item
  4456. #: ./bashref.texi:2680
  4457. #, no-wrap
  4458. msgid "+(@var{pattern-list})"
  4459. msgstr ""
  4460. #. type: table
  4461. #: ./bashref.texi:2682
  4462. msgid "Matches one or more occurrences of the given patterns."
  4463. msgstr ""
  4464. #. type: item
  4465. #: ./bashref.texi:2683
  4466. #, no-wrap
  4467. msgid "@@(@var{pattern-list})"
  4468. msgstr ""
  4469. #. type: table
  4470. #: ./bashref.texi:2685
  4471. msgid "Matches one of the given patterns."
  4472. msgstr ""
  4473. #. type: item
  4474. #: ./bashref.texi:2686
  4475. #, no-wrap
  4476. msgid "!(@var{pattern-list})"
  4477. msgstr ""
  4478. #. type: table
  4479. #: ./bashref.texi:2688
  4480. msgid "Matches anything except one of the given patterns."
  4481. msgstr ""
  4482. #. type: Plain text
  4483. #: ./bashref.texi:2695
  4484. msgid ""
  4485. "Complicated extended pattern matching against long strings is slow, "
  4486. "especially when the patterns contain alternations and the strings contain "
  4487. "multiple matches. Using separate matches against shorter strings, or using "
  4488. "arrays of strings instead of a single long string, may be faster."
  4489. msgstr ""
  4490. #. type: Plain text
  4491. #: ./bashref.texi:2702
  4492. msgid ""
  4493. "After the preceding expansions, all unquoted occurrences of the characters "
  4494. "@samp{\\}, @samp{'}, and @samp{\"} that did not result from one of the above "
  4495. "expansions are removed."
  4496. msgstr ""
  4497. #. type: cindex
  4498. #: ./bashref.texi:2705
  4499. #, no-wrap
  4500. msgid "redirection"
  4501. msgstr ""
  4502. #. type: Plain text
  4503. #: ./bashref.texi:2720
  4504. msgid ""
  4505. "Before a command is executed, its input and output may be @var{redirected} "
  4506. "using a special notation interpreted by the shell. Redirection allows "
  4507. "commands' file handles to be duplicated, opened, closed, made to refer to "
  4508. "different files, and can change the files the command reads from and writes "
  4509. "to. Redirection may also be used to modify file handles in the current "
  4510. "shell execution environment. The following redirection operators may "
  4511. "precede or appear anywhere within a simple command or may follow a command. "
  4512. "Redirections are processed in the order they appear, from left to right."
  4513. msgstr ""
  4514. #. type: Plain text
  4515. #: ./bashref.texi:2731
  4516. msgid ""
  4517. "Each redirection that may be preceded by a file descriptor number may "
  4518. "instead be preceded by a word of the form @{@var{varname}@}. In this case, "
  4519. "for each redirection operator except >&- and <&-, the shell will allocate a "
  4520. "file descriptor greater than 10 and assign it to @{@var{varname}@}. If >&- "
  4521. "or <&- is preceded by @{@var{varname}@}, the value of @var{varname} defines "
  4522. "the file descriptor to close. If @{@var{varname}@} is supplied, the "
  4523. "redirection persists beyond the scope of the command, allowing the shell "
  4524. "programmer to manage the file descriptor's lifetime manually."
  4525. msgstr ""
  4526. #. type: Plain text
  4527. #: ./bashref.texi:2738
  4528. msgid ""
  4529. "In the following descriptions, if the file descriptor number is omitted, and "
  4530. "the first character of the redirection operator is @samp{<}, the redirection "
  4531. "refers to the standard input (file descriptor 0). If the first character of "
  4532. "the redirection operator is @samp{>}, the redirection refers to the standard "
  4533. "output (file descriptor 1)."
  4534. msgstr ""
  4535. #. type: Plain text
  4536. #: ./bashref.texi:2744
  4537. msgid ""
  4538. "The word following the redirection operator in the following descriptions, "
  4539. "unless otherwise noted, is subjected to brace expansion, tilde expansion, "
  4540. "parameter expansion, command substitution, arithmetic expansion, quote "
  4541. "removal, filename expansion, and word splitting. If it expands to more than "
  4542. "one word, Bash reports an error."
  4543. msgstr ""
  4544. #. type: Plain text
  4545. #: ./bashref.texi:2747
  4546. msgid ""
  4547. "Note that the order of redirections is significant. For example, the "
  4548. "command"
  4549. msgstr ""
  4550. #. type: example
  4551. #: ./bashref.texi:2749
  4552. #, no-wrap
  4553. msgid "ls > @var{dirlist} 2>&1\n"
  4554. msgstr ""
  4555. #. type: Plain text
  4556. #: ./bashref.texi:2753
  4557. msgid ""
  4558. "directs both standard output (file descriptor 1) and standard error (file "
  4559. "descriptor 2) to the file @var{dirlist}, while the command"
  4560. msgstr ""
  4561. #. type: example
  4562. #: ./bashref.texi:2755
  4563. #, no-wrap
  4564. msgid "ls 2>&1 > @var{dirlist}\n"
  4565. msgstr ""
  4566. #. type: Plain text
  4567. #: ./bashref.texi:2760
  4568. msgid ""
  4569. "directs only the standard output to file @var{dirlist}, because the standard "
  4570. "error was made a copy of the standard output before the standard output was "
  4571. "redirected to @var{dirlist}."
  4572. msgstr ""
  4573. #. type: Plain text
  4574. #: ./bashref.texi:2766
  4575. msgid ""
  4576. "Bash handles several filenames specially when they are used in redirections, "
  4577. "as described in the following table. If the operating system on which Bash "
  4578. "is running provides these special files, bash will use them; otherwise it "
  4579. "will emulate them internally with the behavior described below."
  4580. msgstr ""
  4581. #. type: item
  4582. #: ./bashref.texi:2768
  4583. #, no-wrap
  4584. msgid "/dev/fd/@var{fd}"
  4585. msgstr ""
  4586. #. type: table
  4587. #: ./bashref.texi:2770
  4588. msgid "If @var{fd} is a valid integer, file descriptor @var{fd} is duplicated."
  4589. msgstr ""
  4590. #. type: item
  4591. #: ./bashref.texi:2771
  4592. #, no-wrap
  4593. msgid "/dev/stdin"
  4594. msgstr ""
  4595. #. type: table
  4596. #: ./bashref.texi:2773
  4597. msgid "File descriptor 0 is duplicated."
  4598. msgstr ""
  4599. #. type: item
  4600. #: ./bashref.texi:2774
  4601. #, no-wrap
  4602. msgid "/dev/stdout"
  4603. msgstr ""
  4604. #. type: table
  4605. #: ./bashref.texi:2776
  4606. msgid "File descriptor 1 is duplicated."
  4607. msgstr ""
  4608. #. type: item
  4609. #: ./bashref.texi:2777
  4610. #, no-wrap
  4611. msgid "/dev/stderr"
  4612. msgstr ""
  4613. #. type: table
  4614. #: ./bashref.texi:2779
  4615. msgid "File descriptor 2 is duplicated."
  4616. msgstr ""
  4617. #. type: item
  4618. #: ./bashref.texi:2780
  4619. #, no-wrap
  4620. msgid "/dev/tcp/@var{host}/@var{port}"
  4621. msgstr ""
  4622. #. type: table
  4623. #: ./bashref.texi:2784
  4624. msgid ""
  4625. "If @var{host} is a valid hostname or Internet address, and @var{port} is an "
  4626. "integer port number or service name, Bash attempts to open the corresponding "
  4627. "TCP socket."
  4628. msgstr ""
  4629. #. type: item
  4630. #: ./bashref.texi:2785
  4631. #, no-wrap
  4632. msgid "/dev/udp/@var{host}/@var{port}"
  4633. msgstr ""
  4634. #. type: table
  4635. #: ./bashref.texi:2789
  4636. msgid ""
  4637. "If @var{host} is a valid hostname or Internet address, and @var{port} is an "
  4638. "integer port number or service name, Bash attempts to open the corresponding "
  4639. "UDP socket."
  4640. msgstr ""
  4641. #. type: Plain text
  4642. #: ./bashref.texi:2792
  4643. msgid "A failure to open or create a file causes the redirection to fail."
  4644. msgstr ""
  4645. #. type: Plain text
  4646. #: ./bashref.texi:2796
  4647. msgid ""
  4648. "Redirections using file descriptors greater than 9 should be used with care, "
  4649. "as they may conflict with file descriptors the shell uses internally."
  4650. msgstr ""
  4651. #. type: subsection
  4652. #: ./bashref.texi:2797
  4653. #, no-wrap
  4654. msgid "Redirecting Input"
  4655. msgstr ""
  4656. #. type: Plain text
  4657. #: ./bashref.texi:2803
  4658. msgid ""
  4659. "Redirection of input causes the file whose name results from the expansion "
  4660. "of @var{word} to be opened for reading on file descriptor @code{n}, or the "
  4661. "standard input (file descriptor 0) if @code{n} is not specified."
  4662. msgstr ""
  4663. #. type: Plain text
  4664. #: ./bashref.texi:2805
  4665. msgid "The general format for redirecting input is:"
  4666. msgstr ""
  4667. #. type: example
  4668. #: ./bashref.texi:2807
  4669. #, no-wrap
  4670. msgid "[@var{n}]<@var{word}\n"
  4671. msgstr ""
  4672. #. type: subsection
  4673. #: ./bashref.texi:2809
  4674. #, no-wrap
  4675. msgid "Redirecting Output"
  4676. msgstr ""
  4677. #. type: Plain text
  4678. #: ./bashref.texi:2816
  4679. msgid ""
  4680. "Redirection of output causes the file whose name results from the expansion "
  4681. "of @var{word} to be opened for writing on file descriptor @var{n}, or the "
  4682. "standard output (file descriptor 1) if @var{n} is not specified. If the "
  4683. "file does not exist it is created; if it does exist it is truncated to zero "
  4684. "size."
  4685. msgstr ""
  4686. #. type: Plain text
  4687. #: ./bashref.texi:2818
  4688. msgid "The general format for redirecting output is:"
  4689. msgstr ""
  4690. #. type: example
  4691. #: ./bashref.texi:2820
  4692. #, no-wrap
  4693. msgid "[@var{n}]>[|]@var{word}\n"
  4694. msgstr ""
  4695. #. type: Plain text
  4696. #: ./bashref.texi:2829
  4697. msgid ""
  4698. "If the redirection operator is @samp{>}, and the @code{noclobber} option to "
  4699. "the @code{set} builtin has been enabled, the redirection will fail if the "
  4700. "file whose name results from the expansion of @var{word} exists and is a "
  4701. "regular file. If the redirection operator is @samp{>|}, or the redirection "
  4702. "operator is @samp{>} and the @code{noclobber} option is not enabled, the "
  4703. "redirection is attempted even if the file named by @var{word} exists."
  4704. msgstr ""
  4705. #. type: subsection
  4706. #: ./bashref.texi:2830
  4707. #, no-wrap
  4708. msgid "Appending Redirected Output"
  4709. msgstr ""
  4710. #. type: Plain text
  4711. #: ./bashref.texi:2837
  4712. msgid ""
  4713. "Redirection of output in this fashion causes the file whose name results "
  4714. "from the expansion of @var{word} to be opened for appending on file "
  4715. "descriptor @var{n}, or the standard output (file descriptor 1) if @var{n} is "
  4716. "not specified. If the file does not exist it is created."
  4717. msgstr ""
  4718. #. type: Plain text
  4719. #: ./bashref.texi:2839
  4720. msgid "The general format for appending output is:"
  4721. msgstr ""
  4722. #. type: example
  4723. #: ./bashref.texi:2841
  4724. #, no-wrap
  4725. msgid "[@var{n}]>>@var{word}\n"
  4726. msgstr ""
  4727. #. type: subsection
  4728. #: ./bashref.texi:2843
  4729. #, no-wrap
  4730. msgid "Redirecting Standard Output and Standard Error"
  4731. msgstr ""
  4732. #. type: Plain text
  4733. #: ./bashref.texi:2849
  4734. msgid ""
  4735. "This construct allows both the standard output (file descriptor 1) and the "
  4736. "standard error output (file descriptor 2) to be redirected to the file "
  4737. "whose name is the expansion of @var{word}."
  4738. msgstr ""
  4739. #. type: Plain text
  4740. #: ./bashref.texi:2852
  4741. msgid "There are two formats for redirecting standard output and standard error:"
  4742. msgstr ""
  4743. #. type: example
  4744. #: ./bashref.texi:2854
  4745. #, no-wrap
  4746. msgid "&>@var{word}\n"
  4747. msgstr ""
  4748. #. type: Plain text
  4749. #: ./bashref.texi:2857
  4750. msgid "and"
  4751. msgstr ""
  4752. #. type: example
  4753. #: ./bashref.texi:2859
  4754. #, no-wrap
  4755. msgid ">&@var{word}\n"
  4756. msgstr ""
  4757. #. type: Plain text
  4758. #: ./bashref.texi:2863
  4759. msgid ""
  4760. "Of the two forms, the first is preferred. This is semantically equivalent "
  4761. "to"
  4762. msgstr ""
  4763. #. type: example
  4764. #: ./bashref.texi:2865
  4765. #, no-wrap
  4766. msgid ">@var{word} 2>&1\n"
  4767. msgstr ""
  4768. #. type: Plain text
  4769. #: ./bashref.texi:2869
  4770. msgid ""
  4771. "When using the second form, @var{word} may not expand to a number or "
  4772. "@samp{-}. If it does, other redirection operators apply (see Duplicating "
  4773. "File Descriptors below) for compatibility reasons."
  4774. msgstr ""
  4775. #. type: subsection
  4776. #: ./bashref.texi:2870
  4777. #, no-wrap
  4778. msgid "Appending Standard Output and Standard Error"
  4779. msgstr ""
  4780. #. type: Plain text
  4781. #: ./bashref.texi:2876
  4782. msgid ""
  4783. "This construct allows both the standard output (file descriptor 1) and the "
  4784. "standard error output (file descriptor 2) to be appended to the file whose "
  4785. "name is the expansion of @var{word}."
  4786. msgstr ""
  4787. #. type: Plain text
  4788. #: ./bashref.texi:2878
  4789. msgid "The format for appending standard output and standard error is:"
  4790. msgstr ""
  4791. #. type: example
  4792. #: ./bashref.texi:2880
  4793. #, no-wrap
  4794. msgid "&>>@var{word}\n"
  4795. msgstr ""
  4796. #. type: Plain text
  4797. #: ./bashref.texi:2883
  4798. msgid "This is semantically equivalent to"
  4799. msgstr ""
  4800. #. type: example
  4801. #: ./bashref.texi:2885
  4802. #, no-wrap
  4803. msgid ">>@var{word} 2>&1\n"
  4804. msgstr ""
  4805. #. type: Plain text
  4806. #: ./bashref.texi:2887
  4807. msgid "(see Duplicating File Descriptors below)."
  4808. msgstr ""
  4809. #. type: subsection
  4810. #: ./bashref.texi:2888
  4811. #, no-wrap
  4812. msgid "Here Documents"
  4813. msgstr ""
  4814. #. type: Plain text
  4815. #: ./bashref.texi:2894
  4816. msgid ""
  4817. "This type of redirection instructs the shell to read input from the current "
  4818. "source until a line containing only @var{word} (with no trailing blanks) is "
  4819. "seen. All of the lines read up to that point are then used as the standard "
  4820. "input (or file descriptor @var{n} if @var{n} is specified) for a command."
  4821. msgstr ""
  4822. #. type: Plain text
  4823. #: ./bashref.texi:2896
  4824. msgid "The format of here-documents is:"
  4825. msgstr ""
  4826. #. type: example
  4827. #: ./bashref.texi:2900
  4828. #, no-wrap
  4829. msgid ""
  4830. "[@var{n}]<<[@minus{}]@var{word}\n"
  4831. " @var{here-document}\n"
  4832. "@var{delimiter}\n"
  4833. msgstr ""
  4834. #. type: Plain text
  4835. #: ./bashref.texi:2913
  4836. msgid ""
  4837. "No parameter and variable expansion, command substitution, arithmetic "
  4838. "expansion, or filename expansion is performed on @var{word}. If any part of "
  4839. "@var{word} is quoted, the @var{delimiter} is the result of quote removal on "
  4840. "@var{word}, and the lines in the here-document are not expanded. If "
  4841. "@var{word} is unquoted, all lines of the here-document are subjected to "
  4842. "parameter expansion, command substitution, and arithmetic expansion, the "
  4843. "character sequence @code{\\newline} is ignored, and @samp{\\} must be used "
  4844. "to quote the characters @samp{\\}, @samp{$}, and @samp{`}."
  4845. msgstr ""
  4846. #. type: Plain text
  4847. #: ./bashref.texi:2919
  4848. msgid ""
  4849. "If the redirection operator is @samp{<<-}, then all leading tab characters "
  4850. "are stripped from input lines and the line containing @var{delimiter}. This "
  4851. "allows here-documents within shell scripts to be indented in a natural "
  4852. "fashion."
  4853. msgstr ""
  4854. #. type: subsection
  4855. #: ./bashref.texi:2920
  4856. #, no-wrap
  4857. msgid "Here Strings"
  4858. msgstr ""
  4859. #. type: Plain text
  4860. #: ./bashref.texi:2922
  4861. msgid "A variant of here documents, the format is:"
  4862. msgstr ""
  4863. #. type: example
  4864. #: ./bashref.texi:2924
  4865. #, no-wrap
  4866. msgid "[@var{n}]<<< @var{word}\n"
  4867. msgstr ""
  4868. #. type: Plain text
  4869. #: ./bashref.texi:2934
  4870. msgid ""
  4871. "The @var{word} undergoes tilde expansion, parameter and variable expansion, "
  4872. "command substitution, arithmetic expansion, and quote removal. Filename "
  4873. "expansion and word splitting are not performed. The result is supplied as a "
  4874. "single string, with a newline appended, to the command on its standard input "
  4875. "(or file descriptor @var{n} if @var{n} is specified)."
  4876. msgstr ""
  4877. #. type: subsection
  4878. #: ./bashref.texi:2935
  4879. #, no-wrap
  4880. msgid "Duplicating File Descriptors"
  4881. msgstr ""
  4882. #. type: Plain text
  4883. #: ./bashref.texi:2937 ./bashref.texi:2968 ./bashref.texi:2986
  4884. msgid "The redirection operator"
  4885. msgstr ""
  4886. #. type: example
  4887. #: ./bashref.texi:2939
  4888. #, no-wrap
  4889. msgid "[@var{n}]<&@var{word}\n"
  4890. msgstr ""
  4891. #. type: Plain text
  4892. #: ./bashref.texi:2950
  4893. msgid ""
  4894. "is used to duplicate input file descriptors. If @var{word} expands to one "
  4895. "or more digits, the file descriptor denoted by @var{n} is made to be a copy "
  4896. "of that file descriptor. If the digits in @var{word} do not specify a file "
  4897. "descriptor open for input, a redirection error occurs. If @var{word} "
  4898. "evaluates to @samp{-}, file descriptor @var{n} is closed. If @var{n} is not "
  4899. "specified, the standard input (file descriptor 0) is used."
  4900. msgstr ""
  4901. #. type: Plain text
  4902. #: ./bashref.texi:2952
  4903. msgid "The operator"
  4904. msgstr ""
  4905. #. type: example
  4906. #: ./bashref.texi:2954
  4907. #, no-wrap
  4908. msgid "[@var{n}]>&@var{word}\n"
  4909. msgstr ""
  4910. #. type: Plain text
  4911. #: ./bashref.texi:2965
  4912. msgid ""
  4913. "is used similarly to duplicate output file descriptors. If @var{n} is not "
  4914. "specified, the standard output (file descriptor 1) is used. If the digits "
  4915. "in @var{word} do not specify a file descriptor open for output, a "
  4916. "redirection error occurs. If @var{word} evaluates to @samp{-}, file "
  4917. "descriptor @var{n} is closed. As a special case, if @var{n} is omitted, and "
  4918. "@var{word} does not expand to one or more digits or @samp{-}, the standard "
  4919. "output and standard error are redirected as described previously."
  4920. msgstr ""
  4921. #. type: subsection
  4922. #: ./bashref.texi:2966
  4923. #, no-wrap
  4924. msgid "Moving File Descriptors"
  4925. msgstr ""
  4926. #. type: example
  4927. #: ./bashref.texi:2970
  4928. #, no-wrap
  4929. msgid "[@var{n}]<&@var{digit}-\n"
  4930. msgstr ""
  4931. #. type: Plain text
  4932. #: ./bashref.texi:2975
  4933. msgid ""
  4934. "moves the file descriptor @var{digit} to file descriptor @var{n}, or the "
  4935. "standard input (file descriptor 0) if @var{n} is not specified. @var{digit} "
  4936. "is closed after being duplicated to @var{n}."
  4937. msgstr ""
  4938. #. type: Plain text
  4939. #: ./bashref.texi:2977
  4940. msgid "Similarly, the redirection operator"
  4941. msgstr ""
  4942. #. type: example
  4943. #: ./bashref.texi:2979
  4944. #, no-wrap
  4945. msgid "[@var{n}]>&@var{digit}-\n"
  4946. msgstr ""
  4947. #. type: Plain text
  4948. #: ./bashref.texi:2983
  4949. msgid ""
  4950. "moves the file descriptor @var{digit} to file descriptor @var{n}, or the "
  4951. "standard output (file descriptor 1) if @var{n} is not specified."
  4952. msgstr ""
  4953. #. type: subsection
  4954. #: ./bashref.texi:2984
  4955. #, no-wrap
  4956. msgid "Opening File Descriptors for Reading and Writing"
  4957. msgstr ""
  4958. #. type: example
  4959. #: ./bashref.texi:2988
  4960. #, no-wrap
  4961. msgid "[@var{n}]<>@var{word}\n"
  4962. msgstr ""
  4963. #. type: Plain text
  4964. #: ./bashref.texi:2994
  4965. msgid ""
  4966. "causes the file whose name is the expansion of @var{word} to be opened for "
  4967. "both reading and writing on file descriptor @var{n}, or on file descriptor 0 "
  4968. "if @var{n} is not specified. If the file does not exist, it is created."
  4969. msgstr ""
  4970. #. type: subsection
  4971. #: ./bashref.texi:3010 ./bashref.texi:3012 ./bashref.texi:3013
  4972. #, no-wrap
  4973. msgid "Simple Command Expansion"
  4974. msgstr ""
  4975. #. type: menuentry
  4976. #: ./bashref.texi:3010
  4977. msgid "How Bash expands simple commands before executing them."
  4978. msgstr ""
  4979. #. type: subsection
  4980. #: ./bashref.texi:3010 ./bashref.texi:3058 ./bashref.texi:3059
  4981. #, no-wrap
  4982. msgid "Command Search and Execution"
  4983. msgstr ""
  4984. #. type: menuentry
  4985. #: ./bashref.texi:3010
  4986. msgid "How Bash finds commands and runs them."
  4987. msgstr ""
  4988. #. type: subsection
  4989. #: ./bashref.texi:3010 ./bashref.texi:3115 ./bashref.texi:3116
  4990. #, no-wrap
  4991. msgid "Command Execution Environment"
  4992. msgstr ""
  4993. #. type: menuentry
  4994. #: ./bashref.texi:3010
  4995. msgid "The environment in which Bash executes commands that are not shell builtins."
  4996. msgstr ""
  4997. #. type: subsection
  4998. #: ./bashref.texi:3010 ./bashref.texi:3211 ./bashref.texi:3212
  4999. #, no-wrap
  5000. msgid "Environment"
  5001. msgstr ""
  5002. #. type: menuentry
  5003. #: ./bashref.texi:3010
  5004. msgid "The environment given to a command."
  5005. msgstr ""
  5006. #. type: subsection
  5007. #: ./bashref.texi:3010 ./bashref.texi:3249 ./bashref.texi:3250
  5008. #, no-wrap
  5009. msgid "Exit Status"
  5010. msgstr ""
  5011. #. type: menuentry
  5012. #: ./bashref.texi:3010
  5013. msgid "The status returned by commands and how Bash interprets it."
  5014. msgstr ""
  5015. #. type: subsection
  5016. #: ./bashref.texi:3010 ./bashref.texi:3287 ./bashref.texi:3288
  5017. #, no-wrap
  5018. msgid "Signals"
  5019. msgstr ""
  5020. #. type: menuentry
  5021. #: ./bashref.texi:3010
  5022. msgid "What happens when Bash or a command it runs receives a signal."
  5023. msgstr ""
  5024. #. type: cindex
  5025. #: ./bashref.texi:3014
  5026. #, no-wrap
  5027. msgid "command expansion"
  5028. msgstr ""
  5029. #. type: Plain text
  5030. #: ./bashref.texi:3019
  5031. msgid ""
  5032. "When a simple command is executed, the shell performs the following "
  5033. "expansions, assignments, and redirections, from left to right, in the "
  5034. "following order."
  5035. msgstr ""
  5036. #. type: enumerate
  5037. #: ./bashref.texi:3025
  5038. msgid ""
  5039. "The words that the parser has marked as variable assignments (those "
  5040. "preceding the command name) and redirections are saved for later processing."
  5041. msgstr ""
  5042. #. type: enumerate
  5043. #: ./bashref.texi:3032
  5044. msgid ""
  5045. "The words that are not variable assignments or redirections are expanded "
  5046. "(@pxref{Shell Expansions}). If any words remain after expansion, the first "
  5047. "word is taken to be the name of the command and the remaining words are the "
  5048. "arguments."
  5049. msgstr ""
  5050. #. type: enumerate
  5051. #: ./bashref.texi:3035
  5052. msgid "Redirections are performed as described above (@pxref{Redirections})."
  5053. msgstr ""
  5054. #. type: enumerate
  5055. #: ./bashref.texi:3040
  5056. msgid ""
  5057. "The text after the @samp{=} in each variable assignment undergoes tilde "
  5058. "expansion, parameter expansion, command substitution, arithmetic expansion, "
  5059. "and quote removal before being assigned to the variable."
  5060. msgstr ""
  5061. #. type: Plain text
  5062. #: ./bashref.texi:3047
  5063. msgid ""
  5064. "If no command name results, the variable assignments affect the current "
  5065. "shell environment. Otherwise, the variables are added to the environment of "
  5066. "the executed command and do not affect the current shell environment. If "
  5067. "any of the assignments attempts to assign a value to a readonly variable, an "
  5068. "error occurs, and the command exits with a non-zero status."
  5069. msgstr ""
  5070. #. type: Plain text
  5071. #: ./bashref.texi:3051
  5072. msgid ""
  5073. "If no command name results, redirections are performed, but do not affect "
  5074. "the current shell environment. A redirection error causes the command to "
  5075. "exit with a non-zero status."
  5076. msgstr ""
  5077. #. type: Plain text
  5078. #: ./bashref.texi:3057
  5079. msgid ""
  5080. "If there is a command name left after expansion, execution proceeds as "
  5081. "described below. Otherwise, the command exits. If one of the expansions "
  5082. "contained a command substitution, the exit status of the command is the exit "
  5083. "status of the last command substitution performed. If there were no command "
  5084. "substitutions, the command exits with a status of zero."
  5085. msgstr ""
  5086. #. type: cindex
  5087. #: ./bashref.texi:3060
  5088. #, no-wrap
  5089. msgid "command execution"
  5090. msgstr ""
  5091. #. type: cindex
  5092. #: ./bashref.texi:3061
  5093. #, no-wrap
  5094. msgid "command search"
  5095. msgstr ""
  5096. #. type: Plain text
  5097. #: ./bashref.texi:3066
  5098. msgid ""
  5099. "After a command has been split into words, if it results in a simple command "
  5100. "and an optional list of arguments, the following actions are taken."
  5101. msgstr ""
  5102. #. type: enumerate
  5103. #: ./bashref.texi:3072
  5104. msgid ""
  5105. "If the command name contains no slashes, the shell attempts to locate it. "
  5106. "If there exists a shell function by that name, that function is invoked as "
  5107. "described in @ref{Shell Functions}."
  5108. msgstr ""
  5109. #. type: enumerate
  5110. #: ./bashref.texi:3077
  5111. msgid ""
  5112. "If the name does not match a function, the shell searches for it in the list "
  5113. "of shell builtins. If a match is found, that builtin is invoked."
  5114. msgstr ""
  5115. #. type: enumerate
  5116. #: ./bashref.texi:3095
  5117. msgid ""
  5118. "If the name is neither a shell function nor a builtin, and contains no "
  5119. "slashes, Bash searches each element of @env{$PATH} for a directory "
  5120. "containing an executable file by that name. Bash uses a hash table to "
  5121. "remember the full pathnames of executable files to avoid multiple @env{PATH} "
  5122. "searches (see the description of @code{hash} in @ref{Bourne Shell "
  5123. "Builtins}). A full search of the directories in @env{$PATH} is performed "
  5124. "only if the command is not found in the hash table. If the search is "
  5125. "unsuccessful, the shell searches for a defined shell function named "
  5126. "@code{command_not_found_handle}. If that function exists, it is invoked in "
  5127. "a separate execution environment with the original command and the original "
  5128. "command's arguments as its arguments, and the function's exit status becomes "
  5129. "the exit status of that subshell. If that function is not defined, the "
  5130. "shell prints an error message and returns an exit status of 127."
  5131. msgstr ""
  5132. #. type: enumerate
  5133. #: ./bashref.texi:3102
  5134. msgid ""
  5135. "If the search is successful, or if the command name contains one or more "
  5136. "slashes, the shell executes the named program in a separate execution "
  5137. "environment. Argument 0 is set to the name given, and the remaining "
  5138. "arguments to the command are set to the arguments supplied, if any."
  5139. msgstr ""
  5140. #. type: enumerate
  5141. #: ./bashref.texi:3108
  5142. msgid ""
  5143. "If this execution fails because the file is not in executable format, and "
  5144. "the file is not a directory, it is assumed to be a @var{shell script} and "
  5145. "the shell executes it as described in @ref{Shell Scripts}."
  5146. msgstr ""
  5147. #. type: enumerate
  5148. #: ./bashref.texi:3112
  5149. msgid ""
  5150. "If the command was not begun asynchronously, the shell waits for the command "
  5151. "to complete and collects its exit status."
  5152. msgstr ""
  5153. #. type: cindex
  5154. #: ./bashref.texi:3117
  5155. #, no-wrap
  5156. msgid "execution environment"
  5157. msgstr ""
  5158. #. type: Plain text
  5159. #: ./bashref.texi:3121
  5160. msgid ""
  5161. "The shell has an @var{execution environment}, which consists of the "
  5162. "following:"
  5163. msgstr ""
  5164. #. type: itemize
  5165. #: ./bashref.texi:3126
  5166. msgid ""
  5167. "open files inherited by the shell at invocation, as modified by redirections "
  5168. "supplied to the @code{exec} builtin"
  5169. msgstr ""
  5170. #. type: itemize
  5171. #: ./bashref.texi:3130
  5172. msgid ""
  5173. "the current working directory as set by @code{cd}, @code{pushd}, or "
  5174. "@code{popd}, or inherited by the shell at invocation"
  5175. msgstr ""
  5176. #. type: itemize
  5177. #: ./bashref.texi:3134
  5178. msgid ""
  5179. "the file creation mode mask as set by @code{umask} or inherited from the "
  5180. "shell's parent"
  5181. msgstr ""
  5182. #. type: itemize
  5183. #: ./bashref.texi:3137
  5184. msgid "current traps set by @code{trap}"
  5185. msgstr ""
  5186. #. type: itemize
  5187. #: ./bashref.texi:3141
  5188. msgid ""
  5189. "shell parameters that are set by variable assignment or with @code{set} or "
  5190. "inherited from the shell's parent in the environment"
  5191. msgstr ""
  5192. #. type: itemize
  5193. #: ./bashref.texi:3145
  5194. msgid ""
  5195. "shell functions defined during execution or inherited from the shell's "
  5196. "parent in the environment"
  5197. msgstr ""
  5198. #. type: itemize
  5199. #: ./bashref.texi:3149
  5200. msgid ""
  5201. "options enabled at invocation (either by default or with command-line "
  5202. "arguments) or by @code{set}"
  5203. msgstr ""
  5204. #. type: itemize
  5205. #: ./bashref.texi:3152
  5206. msgid "options enabled by @code{shopt} (@pxref{The Shopt Builtin})"
  5207. msgstr ""
  5208. #. type: itemize
  5209. #: ./bashref.texi:3155
  5210. msgid "shell aliases defined with @code{alias} (@pxref{Aliases})"
  5211. msgstr ""
  5212. #. type: itemize
  5213. #: ./bashref.texi:3160
  5214. msgid ""
  5215. "various process @sc{id}s, including those of background jobs "
  5216. "(@pxref{Lists}), the value of @code{$$}, and the value of @env{$PPID}"
  5217. msgstr ""
  5218. #. type: Plain text
  5219. #: ./bashref.texi:3168
  5220. msgid ""
  5221. "When a simple command other than a builtin or shell function is to be "
  5222. "executed, it is invoked in a separate execution environment that consists of "
  5223. "the following. Unless otherwise noted, the values are inherited from the "
  5224. "shell."
  5225. msgstr ""
  5226. #. type: itemize
  5227. #: ./bashref.texi:3173
  5228. msgid ""
  5229. "the shell's open files, plus any modifications and additions specified by "
  5230. "redirections to the command"
  5231. msgstr ""
  5232. #. type: itemize
  5233. #: ./bashref.texi:3176
  5234. msgid "the current working directory"
  5235. msgstr ""
  5236. #. type: itemize
  5237. #: ./bashref.texi:3179
  5238. msgid "the file creation mode mask"
  5239. msgstr ""
  5240. #. type: itemize
  5241. #: ./bashref.texi:3183
  5242. msgid ""
  5243. "shell variables and functions marked for export, along with variables "
  5244. "exported for the command, passed in the environment (@pxref{Environment})"
  5245. msgstr ""
  5246. #. type: itemize
  5247. #: ./bashref.texi:3187
  5248. msgid ""
  5249. "traps caught by the shell are reset to the values inherited from the shell's "
  5250. "parent, and traps ignored by the shell are ignored"
  5251. msgstr ""
  5252. #. type: Plain text
  5253. #: ./bashref.texi:3192
  5254. msgid ""
  5255. "A command invoked in this separate environment cannot affect the shell's "
  5256. "execution environment."
  5257. msgstr ""
  5258. #. type: Plain text
  5259. #: ./bashref.texi:3201
  5260. msgid ""
  5261. "Command substitution, commands grouped with parentheses, and asynchronous "
  5262. "commands are invoked in a subshell environment that is a duplicate of the "
  5263. "shell environment, except that traps caught by the shell are reset to the "
  5264. "values that the shell inherited from its parent at invocation. Builtin "
  5265. "commands that are invoked as part of a pipeline are also executed in a "
  5266. "subshell environment. Changes made to the subshell environment cannot "
  5267. "affect the shell's execution environment."
  5268. msgstr ""
  5269. #. type: Plain text
  5270. #: ./bashref.texi:3205
  5271. msgid ""
  5272. "Subshells spawned to execute command substitutions inherit the value of the "
  5273. "@option{-e} option from the parent shell. When not in @sc{posix} mode, Bash "
  5274. "clears the @option{-e} option in such subshells."
  5275. msgstr ""
  5276. #. type: Plain text
  5277. #: ./bashref.texi:3210
  5278. msgid ""
  5279. "If a command is followed by a @samp{&} and job control is not active, the "
  5280. "default standard input for the command is the empty file @file{/dev/null}. "
  5281. "Otherwise, the invoked command inherits the file descriptors of the calling "
  5282. "shell as modified by redirections."
  5283. msgstr ""
  5284. #. type: cindex
  5285. #: ./bashref.texi:3213
  5286. #, no-wrap
  5287. msgid "environment"
  5288. msgstr ""
  5289. #. type: Plain text
  5290. #: ./bashref.texi:3218
  5291. msgid ""
  5292. "When a program is invoked it is given an array of strings called the "
  5293. "@var{environment}. This is a list of name-value pairs, of the form "
  5294. "@code{name=value}."
  5295. msgstr ""
  5296. #. type: Plain text
  5297. #: ./bashref.texi:3234
  5298. msgid ""
  5299. "Bash provides several ways to manipulate the environment. On invocation, "
  5300. "the shell scans its own environment and creates a parameter for each name "
  5301. "found, automatically marking it for @var{export} to child processes. "
  5302. "Executed commands inherit the environment. The @code{export} and "
  5303. "@samp{declare -x} commands allow parameters and functions to be added to and "
  5304. "deleted from the environment. If the value of a parameter in the "
  5305. "environment is modified, the new value becomes part of the environment, "
  5306. "replacing the old. The environment inherited by any executed command "
  5307. "consists of the shell's initial environment, whose values may be modified in "
  5308. "the shell, less any pairs removed by the @code{unset} and @samp{export -n} "
  5309. "commands, plus any additions via the @code{export} and @samp{declare -x} "
  5310. "commands."
  5311. msgstr ""
  5312. #. type: Plain text
  5313. #: ./bashref.texi:3240
  5314. msgid ""
  5315. "The environment for any simple command or function may be augmented "
  5316. "temporarily by prefixing it with parameter assignments, as described in "
  5317. "@ref{Shell Parameters}. These assignment statements affect only the "
  5318. "environment seen by that command."
  5319. msgstr ""
  5320. #. type: Plain text
  5321. #: ./bashref.texi:3244
  5322. msgid ""
  5323. "If the @option{-k} option is set (@pxref{The Set Builtin}), then all "
  5324. "parameter assignments are placed in the environment for a command, not just "
  5325. "those that precede the command name."
  5326. msgstr ""
  5327. #. type: Plain text
  5328. #: ./bashref.texi:3248
  5329. msgid ""
  5330. "When Bash invokes an external command, the variable @samp{$_} is set to the "
  5331. "full pathname of the command and passed to that command in its environment."
  5332. msgstr ""
  5333. #. type: Plain text
  5334. #: ./bashref.texi:3260
  5335. msgid ""
  5336. "The exit status of an executed command is the value returned by the "
  5337. "@var{waitpid} system call or equivalent function. Exit statuses fall "
  5338. "between 0 and 255, though, as explained below, the shell may use values "
  5339. "above 125 specially. Exit statuses from shell builtins and compound "
  5340. "commands are also limited to this range. Under certain circumstances, the "
  5341. "shell will use special values to indicate specific failure modes."
  5342. msgstr ""
  5343. #. type: Plain text
  5344. #: ./bashref.texi:3269
  5345. msgid ""
  5346. "For the shell's purposes, a command which exits with a zero exit status has "
  5347. "succeeded. A non-zero exit status indicates failure. This seemingly "
  5348. "counter-intuitive scheme is used so there is one well-defined way to "
  5349. "indicate success and a variety of ways to indicate various failure modes. "
  5350. "When a command terminates on a fatal signal whose number is @var{N}, Bash "
  5351. "uses the value 128+@var{N} as the exit status."
  5352. msgstr ""
  5353. #. type: Plain text
  5354. #: ./bashref.texi:3273
  5355. msgid ""
  5356. "If a command is not found, the child process created to execute it returns a "
  5357. "status of 127. If a command is found but is not executable, the return "
  5358. "status is 126."
  5359. msgstr ""
  5360. #. type: Plain text
  5361. #: ./bashref.texi:3276
  5362. msgid ""
  5363. "If a command fails because of an error during expansion or redirection, the "
  5364. "exit status is greater than zero."
  5365. msgstr ""
  5366. #. type: Plain text
  5367. #: ./bashref.texi:3280
  5368. msgid ""
  5369. "The exit status is used by the Bash conditional commands (@pxref{Conditional "
  5370. "Constructs}) and some of the list constructs (@pxref{Lists})."
  5371. msgstr ""
  5372. #. type: Plain text
  5373. #: ./bashref.texi:3286
  5374. msgid ""
  5375. "All of the Bash builtins return an exit status of zero if they succeed and a "
  5376. "non-zero status on failure, so they may be used by the conditional and list "
  5377. "constructs. All builtins return an exit status of 2 to indicate incorrect "
  5378. "usage, generally invalid options or missing arguments."
  5379. msgstr ""
  5380. #. type: cindex
  5381. #: ./bashref.texi:3289
  5382. #, no-wrap
  5383. msgid "signal handling"
  5384. msgstr ""
  5385. #. type: Plain text
  5386. #: ./bashref.texi:3299
  5387. msgid ""
  5388. "When Bash is interactive, in the absence of any traps, it ignores "
  5389. "@code{SIGTERM} (so that @samp{kill 0} does not kill an interactive shell), "
  5390. "and @code{SIGINT} is caught and handled (so that the @code{wait} builtin is "
  5391. "interruptible). When Bash receives a @code{SIGINT}, it breaks out of any "
  5392. "executing loops. In all cases, Bash ignores @code{SIGQUIT}. If job control "
  5393. "is in effect (@pxref{Job Control}), Bash ignores @code{SIGTTIN}, "
  5394. "@code{SIGTTOU}, and @code{SIGTSTP}."
  5395. msgstr ""
  5396. #. type: Plain text
  5397. #: ./bashref.texi:3308
  5398. msgid ""
  5399. "Non-builtin commands started by Bash have signal handlers set to the values "
  5400. "inherited by the shell from its parent. When job control is not in effect, "
  5401. "asynchronous commands ignore @code{SIGINT} and @code{SIGQUIT} in addition to "
  5402. "these inherited handlers. Commands run as a result of command substitution "
  5403. "ignore the keyboard-generated job control signals @code{SIGTTIN}, "
  5404. "@code{SIGTTOU}, and @code{SIGTSTP}."
  5405. msgstr ""
  5406. #. type: Plain text
  5407. #: ./bashref.texi:3319
  5408. msgid ""
  5409. "The shell exits by default upon receipt of a @code{SIGHUP}. Before exiting, "
  5410. "an interactive shell resends the @code{SIGHUP} to all jobs, running or "
  5411. "stopped. Stopped jobs are sent @code{SIGCONT} to ensure that they receive "
  5412. "the @code{SIGHUP}. To prevent the shell from sending the @code{SIGHUP} "
  5413. "signal to a particular job, it should be removed from the jobs table with "
  5414. "the @code{disown} builtin (@pxref{Job Control Builtins}) or marked to not "
  5415. "receive @code{SIGHUP} using @code{disown -h}."
  5416. msgstr ""
  5417. #. type: Plain text
  5418. #: ./bashref.texi:3323
  5419. msgid ""
  5420. "If the @code{huponexit} shell option has been set with @code{shopt} "
  5421. "(@pxref{The Shopt Builtin}), Bash sends a @code{SIGHUP} to all jobs when an "
  5422. "interactive login shell exits."
  5423. msgstr ""
  5424. #. type: Plain text
  5425. #: ./bashref.texi:3332
  5426. msgid ""
  5427. "If Bash is waiting for a command to complete and receives a signal for which "
  5428. "a trap has been set, the trap will not be executed until the command "
  5429. "completes. When Bash is waiting for an asynchronous command via the "
  5430. "@code{wait} builtin, the reception of a signal for which a trap has been set "
  5431. "will cause the @code{wait} builtin to return immediately with an exit status "
  5432. "greater than 128, immediately after which the trap is executed."
  5433. msgstr ""
  5434. #. type: cindex
  5435. #: ./bashref.texi:3335
  5436. #, no-wrap
  5437. msgid "shell script"
  5438. msgstr ""
  5439. #. type: Plain text
  5440. #: ./bashref.texi:3345
  5441. msgid ""
  5442. "A shell script is a text file containing shell commands. When such a file "
  5443. "is used as the first non-option argument when invoking Bash, and neither the "
  5444. "@option{-c} nor @option{-s} option is supplied (@pxref{Invoking Bash}), Bash "
  5445. "reads and executes commands from the file, then exits. This mode of "
  5446. "operation creates a non-interactive shell. The shell first searches for the "
  5447. "file in the current directory, and looks in the directories in @env{$PATH} "
  5448. "if not found there."
  5449. msgstr ""
  5450. #. type: Plain text
  5451. #: ./bashref.texi:3352
  5452. msgid ""
  5453. "When Bash runs a shell script, it sets the special parameter @code{0} to the "
  5454. "name of the file, rather than the name of the shell, and the positional "
  5455. "parameters are set to the remaining arguments, if any are given. If no "
  5456. "additional arguments are supplied, the positional parameters are unset."
  5457. msgstr ""
  5458. #. type: Plain text
  5459. #: ./bashref.texi:3357
  5460. msgid ""
  5461. "A shell script may be made executable by using the @code{chmod} command to "
  5462. "turn on the execute bit. When Bash finds such a file while searching the "
  5463. "@env{$PATH} for a command, it spawns a subshell to execute it. In other "
  5464. "words, executing"
  5465. msgstr ""
  5466. #. type: example
  5467. #: ./bashref.texi:3359
  5468. #, no-wrap
  5469. msgid "filename @var{arguments}\n"
  5470. msgstr ""
  5471. #. type: Plain text
  5472. #: ./bashref.texi:3362
  5473. msgid "is equivalent to executing"
  5474. msgstr ""
  5475. #. type: example
  5476. #: ./bashref.texi:3364
  5477. #, no-wrap
  5478. msgid "bash filename @var{arguments}\n"
  5479. msgstr ""
  5480. #. type: Plain text
  5481. #: ./bashref.texi:3373
  5482. msgid ""
  5483. "if @code{filename} is an executable shell script. This subshell "
  5484. "reinitializes itself, so that the effect is as if a new shell had been "
  5485. "invoked to interpret the script, with the exception that the locations of "
  5486. "commands remembered by the parent (see the description of @code{hash} in "
  5487. "@ref{Bourne Shell Builtins}) are retained by the child."
  5488. msgstr ""
  5489. #. type: Plain text
  5490. #: ./bashref.texi:3381
  5491. msgid ""
  5492. "Most versions of Unix make this a part of the operating system's command "
  5493. "execution mechanism. If the first line of a script begins with the two "
  5494. "characters @samp{#!}, the remainder of the line specifies an interpreter for "
  5495. "the program and, depending on the operating system, one or more optional "
  5496. "arguments for that interpreter. Thus, you can specify Bash, @code{awk}, "
  5497. "Perl, or some other interpreter and write the rest of the script file in "
  5498. "that language."
  5499. msgstr ""
  5500. #. type: Plain text
  5501. #: ./bashref.texi:3394
  5502. msgid ""
  5503. "The arguments to the interpreter consist of one or more optional arguments "
  5504. "following the interpreter name on the first line of the script file, "
  5505. "followed by the name of the script file, followed by the rest of the "
  5506. "arguments supplied to the script. The details of how the interpreter line "
  5507. "is split into an interpreter name and a set of arguments vary across "
  5508. "systems. Bash will perform this action on operating systems that do not "
  5509. "handle it themselves. Note that some older versions of Unix limit the "
  5510. "interpreter name and a single argument to a maximum of 32 characters, so "
  5511. "it's not portable to assume that using more than one argument will work."
  5512. msgstr ""
  5513. #. type: Plain text
  5514. #: ./bashref.texi:3402
  5515. msgid ""
  5516. "Bash scripts often begin with @code{#! /bin/bash} (assuming that Bash has "
  5517. "been installed in @file{/bin}), since this ensures that Bash will be used to "
  5518. "interpret the script, even if it is executed under another shell. It's a "
  5519. "common idiom to use @code{env} to find @code{bash} even if it's been "
  5520. "installed in another directory: @code{#!/usr/bin/env bash} will find the "
  5521. "first occurrence of @code{bash} in @env{$PATH}."
  5522. msgstr ""
  5523. #. type: section
  5524. #: ./bashref.texi:3414 ./bashref.texi:3449 ./bashref.texi:3450
  5525. #, no-wrap
  5526. msgid "Bourne Shell Builtins"
  5527. msgstr ""
  5528. #. type: menuentry
  5529. #: ./bashref.texi:3414
  5530. msgid "Builtin commands inherited from the Bourne Shell."
  5531. msgstr ""
  5532. #. type: node
  5533. #: ./bashref.texi:3414 ./bashref.texi:4009
  5534. #, no-wrap
  5535. msgid "Bash Builtins"
  5536. msgstr ""
  5537. #. type: menuentry
  5538. #: ./bashref.texi:3414
  5539. msgid "Table of builtins specific to Bash."
  5540. msgstr ""
  5541. #. type: section
  5542. #: ./bashref.texi:3414 ./bashref.texi:4871 ./bashref.texi:4872
  5543. #, no-wrap
  5544. msgid "Modifying Shell Behavior"
  5545. msgstr ""
  5546. #. type: menuentry
  5547. #: ./bashref.texi:3414
  5548. msgid "Builtins to modify shell attributes and optional behavior."
  5549. msgstr ""
  5550. #. type: section
  5551. #: ./bashref.texi:3414 ./bashref.texi:5543 ./bashref.texi:5544
  5552. #, no-wrap
  5553. msgid "Special Builtins"
  5554. msgstr ""
  5555. #. type: menuentry
  5556. #: ./bashref.texi:3414
  5557. msgid "Builtin commands classified specially by POSIX."
  5558. msgstr ""
  5559. #. type: Plain text
  5560. #: ./bashref.texi:3422
  5561. msgid ""
  5562. "Builtin commands are contained within the shell itself. When the name of a "
  5563. "builtin command is used as the first word of a simple command (@pxref{Simple "
  5564. "Commands}), the shell executes the command directly, without invoking "
  5565. "another program. Builtin commands are necessary to implement functionality "
  5566. "impossible or inconvenient to obtain with separate utilities."
  5567. msgstr ""
  5568. #. type: Plain text
  5569. #: ./bashref.texi:3426
  5570. msgid ""
  5571. "This section briefly describes the builtins which Bash inherits from the "
  5572. "Bourne Shell, as well as the builtin commands which are unique to or have "
  5573. "been extended in Bash."
  5574. msgstr ""
  5575. #. type: Plain text
  5576. #: ./bashref.texi:3433
  5577. msgid ""
  5578. "Several builtin commands are described in other chapters: builtin commands "
  5579. "which provide the Bash interface to the job control facilities (@pxref{Job "
  5580. "Control Builtins}), the directory stack (@pxref{Directory Stack Builtins}), "
  5581. "the command history (@pxref{Bash History Builtins}), and the programmable "
  5582. "completion facilities (@pxref{Programmable Completion Builtins})."
  5583. msgstr ""
  5584. #. type: Plain text
  5585. #: ./bashref.texi:3435
  5586. msgid "Many of the builtins have been extended by @sc{posix} or Bash."
  5587. msgstr ""
  5588. #. type: Plain text
  5589. #: ./bashref.texi:3448
  5590. msgid ""
  5591. "Unless otherwise noted, each builtin command documented as accepting options "
  5592. "preceded by @samp{-} accepts @samp{--} to signify the end of the options. "
  5593. "The @code{:}, @code{true}, @code{false}, and @code{test}/@code{[} builtins "
  5594. "do not accept options and do not treat @samp{--} specially. The "
  5595. "@code{exit}, @code{logout}, @code{return}, @code{break}, @code{continue}, "
  5596. "@code{let}, and @code{shift} builtins accept and process arguments beginning "
  5597. "with @samp{-} without requiring @samp{--}. Other builtins that accept "
  5598. "arguments but are not specified as accepting options interpret arguments "
  5599. "beginning with @samp{-} as invalid options and require @samp{--} to prevent "
  5600. "this interpretation."
  5601. msgstr ""
  5602. #. type: Plain text
  5603. #: ./bashref.texi:3454
  5604. msgid ""
  5605. "The following shell builtin commands are inherited from the Bourne Shell. "
  5606. "These commands are implemented as specified by the @sc{posix} standard."
  5607. msgstr ""
  5608. #. type: item
  5609. #: ./bashref.texi:3456
  5610. #, no-wrap
  5611. msgid ": @r{(a colon)}"
  5612. msgstr ""
  5613. #. type: btindex
  5614. #: ./bashref.texi:3457
  5615. #, no-wrap
  5616. msgid ":"
  5617. msgstr ""
  5618. #. type: example
  5619. #: ./bashref.texi:3460
  5620. #, no-wrap
  5621. msgid ": [@var{arguments}]\n"
  5622. msgstr ""
  5623. #. type: table
  5624. #: ./bashref.texi:3464
  5625. msgid ""
  5626. "Do nothing beyond expanding @var{arguments} and performing redirections. "
  5627. "The return status is zero."
  5628. msgstr ""
  5629. #. type: item
  5630. #: ./bashref.texi:3465
  5631. #, no-wrap
  5632. msgid ". @r{(a period)}"
  5633. msgstr ""
  5634. #. type: btindex
  5635. #: ./bashref.texi:3466
  5636. #, no-wrap
  5637. msgid "."
  5638. msgstr ""
  5639. #. type: example
  5640. #: ./bashref.texi:3469
  5641. #, no-wrap
  5642. msgid ". @var{filename} [@var{arguments}]\n"
  5643. msgstr ""
  5644. #. type: table
  5645. #: ./bashref.texi:3489
  5646. msgid ""
  5647. "Read and execute commands from the @var{filename} argument in the current "
  5648. "shell context. If @var{filename} does not contain a slash, the @env{PATH} "
  5649. "variable is used to find @var{filename}. When Bash is not in @sc{posix} "
  5650. "mode, the current directory is searched if @var{filename} is not found in "
  5651. "@env{$PATH}. If any @var{arguments} are supplied, they become the "
  5652. "positional parameters when @var{filename} is executed. Otherwise the "
  5653. "positional parameters are unchanged. If the @option{-T} option is enabled, "
  5654. "@code{source} inherits any trap on @code{DEBUG}; if it is not, any "
  5655. "@code{DEBUG} trap string is saved and restored around the call to "
  5656. "@code{source}, and @code{source} unsets the @code{DEBUG} trap while it "
  5657. "executes. If @option{-T} is not set, and the sourced file changes the "
  5658. "@code{DEBUG} trap, the new value is retained when @code{source} completes. "
  5659. "The return status is the exit status of the last command executed, or zero "
  5660. "if no commands are executed. If @var{filename} is not found, or cannot be "
  5661. "read, the return status is non-zero. This builtin is equivalent to "
  5662. "@code{source}."
  5663. msgstr ""
  5664. #. type: btindex
  5665. #: ./bashref.texi:3490 ./bashref.texi:3491
  5666. #, no-wrap
  5667. msgid "break"
  5668. msgstr ""
  5669. #. type: example
  5670. #: ./bashref.texi:3494
  5671. #, no-wrap
  5672. msgid "break [@var{n}]\n"
  5673. msgstr ""
  5674. #. type: table
  5675. #: ./bashref.texi:3500
  5676. msgid ""
  5677. "Exit from a @code{for}, @code{while}, @code{until}, or @code{select} loop. "
  5678. "If @var{n} is supplied, the @var{n}th enclosing loop is exited. @var{n} "
  5679. "must be greater than or equal to 1. The return status is zero unless "
  5680. "@var{n} is not greater than or equal to 1."
  5681. msgstr ""
  5682. #. type: btindex
  5683. #: ./bashref.texi:3501 ./bashref.texi:3502
  5684. #, no-wrap
  5685. msgid "cd"
  5686. msgstr ""
  5687. #. type: example
  5688. #: ./bashref.texi:3505
  5689. #, no-wrap
  5690. msgid "cd [-L|[-P [-e]] [-@@] [@var{directory}]\n"
  5691. msgstr ""
  5692. #. type: table
  5693. #: ./bashref.texi:3517
  5694. msgid ""
  5695. "Change the current working directory to @var{directory}. If @var{directory} "
  5696. "is not supplied, the value of the @env{HOME} shell variable is used. Any "
  5697. "additional arguments following @var{directory} are ignored. If the shell "
  5698. "variable @env{CDPATH} exists, it is used as a search path: each directory "
  5699. "name in @env{CDPATH} is searched for @var{directory}, with alternative "
  5700. "directory names in @env{CDPATH} separated by a colon (@samp{:}). If "
  5701. "@var{directory} begins with a slash, @env{CDPATH} is not used."
  5702. msgstr ""
  5703. #. type: table
  5704. #: ./bashref.texi:3521
  5705. msgid ""
  5706. "The @option{-P} option means to not follow symbolic links: symbolic links "
  5707. "are resolved while @code{cd} is traversing @var{directory} and before "
  5708. "processing an instance of @samp{..} in @var{directory}."
  5709. msgstr ""
  5710. #. type: table
  5711. #: ./bashref.texi:3525
  5712. msgid ""
  5713. "By default, or when the @option{-L} option is supplied, symbolic links in "
  5714. "@var{directory} are resolved after @code{cd} processes an instance of "
  5715. "@samp{..} in @var{directory}."
  5716. msgstr ""
  5717. #. type: table
  5718. #: ./bashref.texi:3529
  5719. msgid ""
  5720. "If @samp{..} appears in @var{directory}, it is processed by removing the "
  5721. "immediately preceding pathname component, back to a slash or the beginning "
  5722. "of @var{directory}."
  5723. msgstr ""
  5724. #. type: table
  5725. #: ./bashref.texi:3534
  5726. msgid ""
  5727. "If the @option{-e} option is supplied with @option{-P} and the current "
  5728. "working directory cannot be successfully determined after a successful "
  5729. "directory change, @code{cd} will return an unsuccessful status."
  5730. msgstr ""
  5731. #. type: table
  5732. #: ./bashref.texi:3537
  5733. msgid ""
  5734. "On systems that support it, the @option{-@@} option presents the extended "
  5735. "attributes associated with a file as a directory."
  5736. msgstr ""
  5737. #. type: table
  5738. #: ./bashref.texi:3540
  5739. msgid ""
  5740. "If @var{directory} is @samp{-}, it is converted to @env{$OLDPWD} before the "
  5741. "directory change is attempted."
  5742. msgstr ""
  5743. #. type: table
  5744. #: ./bashref.texi:3545
  5745. msgid ""
  5746. "If a non-empty directory name from @env{CDPATH} is used, or if @samp{-} is "
  5747. "the first argument, and the directory change is successful, the absolute "
  5748. "pathname of the new working directory is written to the standard output."
  5749. msgstr ""
  5750. #. type: table
  5751. #: ./bashref.texi:3548
  5752. msgid ""
  5753. "The return status is zero if the directory is successfully changed, non-zero "
  5754. "otherwise."
  5755. msgstr ""
  5756. #. type: btindex
  5757. #: ./bashref.texi:3549 ./bashref.texi:3550
  5758. #, no-wrap
  5759. msgid "continue"
  5760. msgstr ""
  5761. #. type: example
  5762. #: ./bashref.texi:3553
  5763. #, no-wrap
  5764. msgid "continue [@var{n}]\n"
  5765. msgstr ""
  5766. #. type: table
  5767. #: ./bashref.texi:3561
  5768. msgid ""
  5769. "Resume the next iteration of an enclosing @code{for}, @code{while}, "
  5770. "@code{until}, or @code{select} loop. If @var{n} is supplied, the execution "
  5771. "of the @var{n}th enclosing loop is resumed. @var{n} must be greater than or "
  5772. "equal to 1. The return status is zero unless @var{n} is not greater than or "
  5773. "equal to 1."
  5774. msgstr ""
  5775. #. type: btindex
  5776. #: ./bashref.texi:3562 ./bashref.texi:3563
  5777. #, no-wrap
  5778. msgid "eval"
  5779. msgstr ""
  5780. #. type: example
  5781. #: ./bashref.texi:3566
  5782. #, no-wrap
  5783. msgid "eval [@var{arguments}]\n"
  5784. msgstr ""
  5785. #. type: table
  5786. #: ./bashref.texi:3573
  5787. msgid ""
  5788. "The arguments are concatenated together into a single command, which is then "
  5789. "read and executed, and its exit status returned as the exit status of "
  5790. "@code{eval}. If there are no arguments or only empty arguments, the return "
  5791. "status is zero."
  5792. msgstr ""
  5793. #. type: btindex
  5794. #: ./bashref.texi:3574 ./bashref.texi:3575
  5795. #, no-wrap
  5796. msgid "exec"
  5797. msgstr ""
  5798. #. type: example
  5799. #: ./bashref.texi:3578
  5800. #, no-wrap
  5801. msgid "exec [-cl] [-a @var{name}] [@var{command} [@var{arguments}]]\n"
  5802. msgstr ""
  5803. #. type: table
  5804. #: ./bashref.texi:3598
  5805. msgid ""
  5806. "If @var{command} is supplied, it replaces the shell without creating a new "
  5807. "process. If the @option{-l} option is supplied, the shell places a dash at "
  5808. "the beginning of the zeroth argument passed to @var{command}. This is what "
  5809. "the @code{login} program does. The @option{-c} option causes @var{command} "
  5810. "to be executed with an empty environment. If @option{-a} is supplied, the "
  5811. "shell passes @var{name} as the zeroth argument to @var{command}. If "
  5812. "@var{command} cannot be executed for some reason, a non-interactive shell "
  5813. "exits, unless the @code{execfail} shell option is enabled. In that case, it "
  5814. "returns failure. An interactive shell returns failure if the file cannot be "
  5815. "executed. A subshell exits unconditionally if @code{exec} fails. If no "
  5816. "@var{command} is specified, redirections may be used to affect the current "
  5817. "shell environment. If there are no redirection errors, the return status is "
  5818. "zero; otherwise the return status is non-zero."
  5819. msgstr ""
  5820. #. type: btindex
  5821. #: ./bashref.texi:3599 ./bashref.texi:3600
  5822. #, no-wrap
  5823. msgid "exit"
  5824. msgstr ""
  5825. #. type: example
  5826. #: ./bashref.texi:3603
  5827. #, no-wrap
  5828. msgid "exit [@var{n}]\n"
  5829. msgstr ""
  5830. #. type: table
  5831. #: ./bashref.texi:3608
  5832. msgid ""
  5833. "Exit the shell, returning a status of @var{n} to the shell's parent. If "
  5834. "@var{n} is omitted, the exit status is that of the last command executed. "
  5835. "Any trap on @code{EXIT} is executed before the shell terminates."
  5836. msgstr ""
  5837. #. type: btindex
  5838. #: ./bashref.texi:3609 ./bashref.texi:3610
  5839. #, no-wrap
  5840. msgid "export"
  5841. msgstr ""
  5842. #. type: example
  5843. #: ./bashref.texi:3613
  5844. #, no-wrap
  5845. msgid "export [-fn] [-p] [@var{name}[=@var{value}]]\n"
  5846. msgstr ""
  5847. #. type: table
  5848. #: ./bashref.texi:3624
  5849. msgid ""
  5850. "Mark each @var{name} to be passed to child processes in the environment. If "
  5851. "the @option{-f} option is supplied, the @var{name}s refer to shell "
  5852. "functions; otherwise the names refer to shell variables. The @option{-n} "
  5853. "option means to no longer mark each @var{name} for export. If no "
  5854. "@var{names} are supplied, or if the @option{-p} option is given, a list of "
  5855. "names of all exported variables is displayed. The @option{-p} option "
  5856. "displays output in a form that may be reused as input. If a variable name "
  5857. "is followed by =@var{value}, the value of the variable is set to "
  5858. "@var{value}."
  5859. msgstr ""
  5860. #. type: table
  5861. #: ./bashref.texi:3628
  5862. msgid ""
  5863. "The return status is zero unless an invalid option is supplied, one of the "
  5864. "names is not a valid shell variable name, or @option{-f} is supplied with a "
  5865. "name that is not a shell function."
  5866. msgstr ""
  5867. #. type: btindex
  5868. #: ./bashref.texi:3629 ./bashref.texi:3630
  5869. #, no-wrap
  5870. msgid "getopts"
  5871. msgstr ""
  5872. #. type: example
  5873. #: ./bashref.texi:3633
  5874. #, no-wrap
  5875. msgid "getopts @var{optstring} @var{name} [@var{arg} @dots{}]\n"
  5876. msgstr ""
  5877. #. type: table
  5878. #: ./bashref.texi:3653
  5879. msgid ""
  5880. "@code{getopts} is used by shell scripts to parse positional parameters. "
  5881. "@var{optstring} contains the option characters to be recognized; if a "
  5882. "character is followed by a colon, the option is expected to have an "
  5883. "argument, which should be separated from it by whitespace. The colon "
  5884. "(@samp{:}) and question mark (@samp{?}) may not be used as option "
  5885. "characters. Each time it is invoked, @code{getopts} places the next option "
  5886. "in the shell variable @var{name}, initializing @var{name} if it does not "
  5887. "exist, and the index of the next argument to be processed into the variable "
  5888. "@env{OPTIND}. @env{OPTIND} is initialized to 1 each time the shell or a "
  5889. "shell script is invoked. When an option requires an argument, "
  5890. "@code{getopts} places that argument into the variable @env{OPTARG}. The "
  5891. "shell does not reset @env{OPTIND} automatically; it must be manually reset "
  5892. "between multiple calls to @code{getopts} within the same shell invocation if "
  5893. "a new set of parameters is to be used."
  5894. msgstr ""
  5895. #. type: table
  5896. #: ./bashref.texi:3658
  5897. msgid ""
  5898. "When the end of options is encountered, @code{getopts} exits with a return "
  5899. "value greater than zero. @env{OPTIND} is set to the index of the first "
  5900. "non-option argument, and @var{name} is set to @samp{?}."
  5901. msgstr ""
  5902. #. type: table
  5903. #: ./bashref.texi:3662
  5904. msgid ""
  5905. "@code{getopts} normally parses the positional parameters, but if more "
  5906. "arguments are supplied as @var{arg} values, @code{getopts} parses those "
  5907. "instead."
  5908. msgstr ""
  5909. #. type: table
  5910. #: ./bashref.texi:3671
  5911. msgid ""
  5912. "@code{getopts} can report errors in two ways. If the first character of "
  5913. "@var{optstring} is a colon, @var{silent} error reporting is used. In normal "
  5914. "operation, diagnostic messages are printed when invalid options or missing "
  5915. "option arguments are encountered. If the variable @env{OPTERR} is set to 0, "
  5916. "no error messages will be displayed, even if the first character of "
  5917. "@code{optstring} is not a colon."
  5918. msgstr ""
  5919. #. type: table
  5920. #: ./bashref.texi:3677
  5921. msgid ""
  5922. "If an invalid option is seen, @code{getopts} places @samp{?} into @var{name} "
  5923. "and, if not silent, prints an error message and unsets @env{OPTARG}. If "
  5924. "@code{getopts} is silent, the option character found is placed in "
  5925. "@env{OPTARG} and no diagnostic message is printed."
  5926. msgstr ""
  5927. #. type: table
  5928. #: ./bashref.texi:3683
  5929. msgid ""
  5930. "If a required argument is not found, and @code{getopts} is not silent, a "
  5931. "question mark (@samp{?}) is placed in @var{name}, @code{OPTARG} is unset, "
  5932. "and a diagnostic message is printed. If @code{getopts} is silent, then a "
  5933. "colon (@samp{:}) is placed in @var{name} and @env{OPTARG} is set to the "
  5934. "option character found."
  5935. msgstr ""
  5936. #. type: btindex
  5937. #: ./bashref.texi:3684 ./bashref.texi:3685
  5938. #, no-wrap
  5939. msgid "hash"
  5940. msgstr ""
  5941. #. type: example
  5942. #: ./bashref.texi:3688
  5943. #, no-wrap
  5944. msgid "hash [-r] [-p @var{filename}] [-dt] [@var{name}]\n"
  5945. msgstr ""
  5946. #. type: table
  5947. #: ./bashref.texi:3711
  5948. msgid ""
  5949. "Each time @code{hash} is invoked, it remembers the full pathnames of the "
  5950. "commands specified as @var{name} arguments, so they need not be searched for "
  5951. "on subsequent invocations. The commands are found by searching through the "
  5952. "directories listed in @env{$PATH}. Any previously-remembered pathname is "
  5953. "discarded. The @option{-p} option inhibits the path search, and "
  5954. "@var{filename} is used as the location of @var{name}. The @option{-r} "
  5955. "option causes the shell to forget all remembered locations. The @option{-d} "
  5956. "option causes the shell to forget the remembered location of each "
  5957. "@var{name}. If the @option{-t} option is supplied, the full pathname to "
  5958. "which each @var{name} corresponds is printed. If multiple @var{name} "
  5959. "arguments are supplied with @option{-t}, the @var{name} is printed before "
  5960. "the hashed full pathname. The @option{-l} option causes output to be "
  5961. "displayed in a format that may be reused as input. If no arguments are "
  5962. "given, or if only @option{-l} is supplied, information about remembered "
  5963. "commands is printed. The return status is zero unless a @var{name} is not "
  5964. "found or an invalid option is supplied."
  5965. msgstr ""
  5966. #. type: btindex
  5967. #: ./bashref.texi:3712 ./bashref.texi:3713
  5968. #, no-wrap
  5969. msgid "pwd"
  5970. msgstr ""
  5971. #. type: example
  5972. #: ./bashref.texi:3716
  5973. #, no-wrap
  5974. msgid "pwd [-LP]\n"
  5975. msgstr ""
  5976. #. type: table
  5977. #: ./bashref.texi:3726
  5978. msgid ""
  5979. "Print the absolute pathname of the current working directory. If the "
  5980. "@option{-P} option is supplied, the pathname printed will not contain "
  5981. "symbolic links. If the @option{-L} option is supplied, the pathname printed "
  5982. "may contain symbolic links. The return status is zero unless an error is "
  5983. "encountered while determining the name of the current directory or an "
  5984. "invalid option is supplied."
  5985. msgstr ""
  5986. #. type: btindex
  5987. #: ./bashref.texi:3727 ./bashref.texi:3728
  5988. #, no-wrap
  5989. msgid "readonly"
  5990. msgstr ""
  5991. #. type: example
  5992. #: ./bashref.texi:3731
  5993. #, no-wrap
  5994. msgid "readonly [-aAf] [-p] [@var{name}[=@var{value}]] @dots{}\n"
  5995. msgstr ""
  5996. #. type: table
  5997. #: ./bashref.texi:3752
  5998. msgid ""
  5999. "Mark each @var{name} as readonly. The values of these names may not be "
  6000. "changed by subsequent assignment. If the @option{-f} option is supplied, "
  6001. "each @var{name} refers to a shell function. The @option{-a} option means "
  6002. "each @var{name} refers to an indexed array variable; the @option{-A} option "
  6003. "means each @var{name} refers to an associative array variable. If both "
  6004. "options are supplied, @option{-A} takes precedence. If no @var{name} "
  6005. "arguments are given, or if the @option{-p} option is supplied, a list of all "
  6006. "readonly names is printed. The other options may be used to restrict the "
  6007. "output to a subset of the set of readonly names. The @option{-p} option "
  6008. "causes output to be displayed in a format that may be reused as input. If a "
  6009. "variable name is followed by =@var{value}, the value of the variable is set "
  6010. "to @var{value}. The return status is zero unless an invalid option is "
  6011. "supplied, one of the @var{name} arguments is not a valid shell variable or "
  6012. "function name, or the @option{-f} option is supplied with a name that is not "
  6013. "a shell function."
  6014. msgstr ""
  6015. #. type: btindex
  6016. #: ./bashref.texi:3753 ./bashref.texi:3754
  6017. #, no-wrap
  6018. msgid "return"
  6019. msgstr ""
  6020. #. type: example
  6021. #: ./bashref.texi:3757
  6022. #, no-wrap
  6023. msgid "return [@var{n}]\n"
  6024. msgstr ""
  6025. #. type: table
  6026. #: ./bashref.texi:3780
  6027. msgid ""
  6028. "Cause a shell function to stop executing and return the value @var{n} to its "
  6029. "caller. If @var{n} is not supplied, the return value is the exit status of "
  6030. "the last command executed in the function. If @code{return} is executed by "
  6031. "a trap handler, the last command used to determine the status is the last "
  6032. "command executed before the trap handler. If @code{return} is executed "
  6033. "during a @code{DEBUG} trap, the last command used to determine the status is "
  6034. "the last command executed by the trap handler before @code{return} was "
  6035. "invoked. @code{return} may also be used to terminate execution of a script "
  6036. "being executed with the @code{.} (@code{source}) builtin, returning either "
  6037. "@var{n} or the exit status of the last command executed within the script as "
  6038. "the exit status of the script. If @var{n} is supplied, the return value is "
  6039. "its least significant 8 bits. Any command associated with the @code{RETURN} "
  6040. "trap is executed before execution resumes after the function or script. The "
  6041. "return status is non-zero if @code{return} is supplied a non-numeric "
  6042. "argument or is used outside a function and not during the execution of a "
  6043. "script by @code{.} or @code{source}."
  6044. msgstr ""
  6045. #. type: btindex
  6046. #: ./bashref.texi:3781 ./bashref.texi:3782
  6047. #, no-wrap
  6048. msgid "shift"
  6049. msgstr ""
  6050. #. type: example
  6051. #: ./bashref.texi:3785
  6052. #, no-wrap
  6053. msgid "shift [@var{n}]\n"
  6054. msgstr ""
  6055. #. type: table
  6056. #: ./bashref.texi:3798
  6057. msgid ""
  6058. "Shift the positional parameters to the left by @var{n}. The positional "
  6059. "parameters from @var{n}+1 @dots{} @code{$#} are renamed to @code{$1} @dots{} "
  6060. "@code{$#}-@var{n}. Parameters represented by the numbers @code{$#} down to "
  6061. "@code{$#}-@var{n}+1 are unset. @var{n} must be a non-negative number less "
  6062. "than or equal to @code{$#}. If @var{n} is zero or greater than @code{$#}, "
  6063. "the positional parameters are not changed. If @var{n} is not supplied, it "
  6064. "is assumed to be 1. The return status is zero unless @var{n} is greater "
  6065. "than @code{$#} or less than zero, non-zero otherwise."
  6066. msgstr ""
  6067. #. type: btindex
  6068. #: ./bashref.texi:3799 ./bashref.texi:3801
  6069. #, no-wrap
  6070. msgid "test"
  6071. msgstr ""
  6072. #. type: btindex
  6073. #: ./bashref.texi:3800 ./bashref.texi:3802
  6074. #, no-wrap
  6075. msgid "["
  6076. msgstr ""
  6077. #. type: example
  6078. #: ./bashref.texi:3805
  6079. #, no-wrap
  6080. msgid "test @var{expr}\n"
  6081. msgstr ""
  6082. #. type: table
  6083. #: ./bashref.texi:3814
  6084. msgid ""
  6085. "Evaluate a conditional expression @var{expr} and return a status of 0 (true) "
  6086. "or 1 (false). Each operator and operand must be a separate argument. "
  6087. "Expressions are composed of the primaries described below in @ref{Bash "
  6088. "Conditional Expressions}. @code{test} does not accept any options, nor does "
  6089. "it accept and ignore an argument of @option{--} as signifying the end of "
  6090. "options."
  6091. msgstr ""
  6092. #. type: table
  6093. #: ./bashref.texi:3817
  6094. msgid ""
  6095. "When the @code{[} form is used, the last argument to the command must be a "
  6096. "@code{]}."
  6097. msgstr ""
  6098. #. type: table
  6099. #: ./bashref.texi:3822
  6100. msgid ""
  6101. "Expressions may be combined using the following operators, listed in "
  6102. "decreasing order of precedence. The evaluation depends on the number of "
  6103. "arguments; see below. Operator precedence is used when there are five or "
  6104. "more arguments."
  6105. msgstr ""
  6106. #. type: item
  6107. #: ./bashref.texi:3824
  6108. #, no-wrap
  6109. msgid "! @var{expr}"
  6110. msgstr ""
  6111. #. type: table
  6112. #: ./bashref.texi:3826
  6113. msgid "True if @var{expr} is false."
  6114. msgstr ""
  6115. #. type: item
  6116. #: ./bashref.texi:3827
  6117. #, no-wrap
  6118. msgid "( @var{expr} )"
  6119. msgstr ""
  6120. #. type: table
  6121. #: ./bashref.texi:3830
  6122. msgid ""
  6123. "Returns the value of @var{expr}. This may be used to override the normal "
  6124. "precedence of operators."
  6125. msgstr ""
  6126. #. type: item
  6127. #: ./bashref.texi:3831
  6128. #, no-wrap
  6129. msgid "@var{expr1} -a @var{expr2}"
  6130. msgstr ""
  6131. #. type: table
  6132. #: ./bashref.texi:3833
  6133. msgid "True if both @var{expr1} and @var{expr2} are true."
  6134. msgstr ""
  6135. #. type: item
  6136. #: ./bashref.texi:3834
  6137. #, no-wrap
  6138. msgid "@var{expr1} -o @var{expr2}"
  6139. msgstr ""
  6140. #. type: table
  6141. #: ./bashref.texi:3836
  6142. msgid "True if either @var{expr1} or @var{expr2} is true."
  6143. msgstr ""
  6144. #. type: table
  6145. #: ./bashref.texi:3840
  6146. msgid ""
  6147. "The @code{test} and @code{[} builtins evaluate conditional expressions using "
  6148. "a set of rules based on the number of arguments."
  6149. msgstr ""
  6150. #. type: item
  6151. #: ./bashref.texi:3842
  6152. #, no-wrap
  6153. msgid "0 arguments"
  6154. msgstr ""
  6155. #. type: table
  6156. #: ./bashref.texi:3844
  6157. msgid "The expression is false."
  6158. msgstr ""
  6159. #. type: item
  6160. #: ./bashref.texi:3845
  6161. #, no-wrap
  6162. msgid "1 argument"
  6163. msgstr ""
  6164. #. type: table
  6165. #: ./bashref.texi:3847
  6166. msgid "The expression is true if, and only if, the argument is not null."
  6167. msgstr ""
  6168. #. type: item
  6169. #: ./bashref.texi:3848
  6170. #, no-wrap
  6171. msgid "2 arguments"
  6172. msgstr ""
  6173. #. type: table
  6174. #: ./bashref.texi:3856
  6175. msgid ""
  6176. "If the first argument is @samp{!}, the expression is true if and only if the "
  6177. "second argument is null. If the first argument is one of the unary "
  6178. "conditional operators (@pxref{Bash Conditional Expressions}), the expression "
  6179. "is true if the unary test is true. If the first argument is not a valid "
  6180. "unary operator, the expression is false."
  6181. msgstr ""
  6182. #. type: item
  6183. #: ./bashref.texi:3857
  6184. #, no-wrap
  6185. msgid "3 arguments"
  6186. msgstr ""
  6187. #. type: table
  6188. #: ./bashref.texi:3859
  6189. msgid "The following conditions are applied in the order listed."
  6190. msgstr ""
  6191. #. type: enumerate
  6192. #: ./bashref.texi:3868
  6193. msgid ""
  6194. "If the second argument is one of the binary conditional operators "
  6195. "(@pxref{Bash Conditional Expressions}), the result of the expression is the "
  6196. "result of the binary test using the first and third arguments as operands. "
  6197. "The @samp{-a} and @samp{-o} operators are considered binary operators when "
  6198. "there are three arguments."
  6199. msgstr ""
  6200. #. type: enumerate
  6201. #: ./bashref.texi:3871
  6202. msgid ""
  6203. "If the first argument is @samp{!}, the value is the negation of the "
  6204. "two-argument test using the second and third arguments."
  6205. msgstr ""
  6206. #. type: enumerate
  6207. #: ./bashref.texi:3875
  6208. msgid ""
  6209. "If the first argument is exactly @samp{(} and the third argument is exactly "
  6210. "@samp{)}, the result is the one-argument test of the second argument."
  6211. msgstr ""
  6212. #. type: enumerate
  6213. #: ./bashref.texi:3877
  6214. msgid "Otherwise, the expression is false."
  6215. msgstr ""
  6216. #. type: item
  6217. #: ./bashref.texi:3879
  6218. #, no-wrap
  6219. msgid "4 arguments"
  6220. msgstr ""
  6221. #. type: table
  6222. #: ./bashref.texi:3884
  6223. msgid ""
  6224. "If the first argument is @samp{!}, the result is the negation of the "
  6225. "three-argument expression composed of the remaining arguments. Otherwise, "
  6226. "the expression is parsed and evaluated according to precedence using the "
  6227. "rules listed above."
  6228. msgstr ""
  6229. #. type: item
  6230. #: ./bashref.texi:3885
  6231. #, no-wrap
  6232. msgid "5 or more arguments"
  6233. msgstr ""
  6234. #. type: table
  6235. #: ./bashref.texi:3888
  6236. msgid ""
  6237. "The expression is parsed and evaluated according to precedence using the "
  6238. "rules listed above."
  6239. msgstr ""
  6240. #. type: table
  6241. #: ./bashref.texi:3892
  6242. msgid ""
  6243. "When used with @code{test} or @samp{[}, the @samp{<} and @samp{>} operators "
  6244. "sort lexicographically using ASCII ordering."
  6245. msgstr ""
  6246. #. type: btindex
  6247. #: ./bashref.texi:3893 ./bashref.texi:3894
  6248. #, no-wrap
  6249. msgid "times"
  6250. msgstr ""
  6251. #. type: example
  6252. #: ./bashref.texi:3897
  6253. #, no-wrap
  6254. msgid "times\n"
  6255. msgstr ""
  6256. #. type: table
  6257. #: ./bashref.texi:3901
  6258. msgid ""
  6259. "Print out the user and system times used by the shell and its children. The "
  6260. "return status is zero."
  6261. msgstr ""
  6262. #. type: btindex
  6263. #: ./bashref.texi:3902 ./bashref.texi:3903
  6264. #, no-wrap
  6265. msgid "trap"
  6266. msgstr ""
  6267. #. type: example
  6268. #: ./bashref.texi:3906
  6269. #, no-wrap
  6270. msgid "trap [-lp] [@var{arg}] [@var{sigspec} @dots{}]\n"
  6271. msgstr ""
  6272. #. type: table
  6273. #: ./bashref.texi:3925
  6274. msgid ""
  6275. "The commands in @var{arg} are to be read and executed when the shell "
  6276. "receives signal @var{sigspec}. If @var{arg} is absent (and there is a "
  6277. "single @var{sigspec}) or equal to @samp{-}, each specified signal's "
  6278. "disposition is reset to the value it had when the shell was started. If "
  6279. "@var{arg} is the null string, then the signal specified by each "
  6280. "@var{sigspec} is ignored by the shell and commands it invokes. If @var{arg} "
  6281. "is not present and @option{-p} has been supplied, the shell displays the "
  6282. "trap commands associated with each @var{sigspec}. If no arguments are "
  6283. "supplied, or only @option{-p} is given, @code{trap} prints the list of "
  6284. "commands associated with each signal number in a form that may be reused as "
  6285. "shell input. The @option{-l} option causes the shell to print a list of "
  6286. "signal names and their corresponding numbers. Each @var{sigspec} is either "
  6287. "a signal name or a signal number. Signal names are case insensitive and the "
  6288. "@code{SIG} prefix is optional."
  6289. msgstr ""
  6290. #. type: table
  6291. #: ./bashref.texi:3938
  6292. msgid ""
  6293. "If a @var{sigspec} is @code{0} or @code{EXIT}, @var{arg} is executed when "
  6294. "the shell exits. If a @var{sigspec} is @code{DEBUG}, the command @var{arg} "
  6295. "is executed before every simple command, @code{for} command, @code{case} "
  6296. "command, @code{select} command, every arithmetic @code{for} command, and "
  6297. "before the first command executes in a shell function. Refer to the "
  6298. "description of the @code{extdebug} option to the @code{shopt} builtin "
  6299. "(@pxref{The Shopt Builtin}) for details of its effect on the @code{DEBUG} "
  6300. "trap. If a @var{sigspec} is @code{RETURN}, the command @var{arg} is "
  6301. "executed each time a shell function or a script executed with the @code{.} "
  6302. "or @code{source} builtins finishes executing."
  6303. msgstr ""
  6304. #. type: table
  6305. #: ./bashref.texi:3955
  6306. msgid ""
  6307. "If a @var{sigspec} is @code{ERR}, the command @var{arg} is executed whenever "
  6308. "a pipeline (which may consist of a single simple command), a list, or a "
  6309. "compound command returns a non-zero exit status, subject to the following "
  6310. "conditions. The @code{ERR} trap is not executed if the failed command is "
  6311. "part of the command list immediately following an @code{until} or "
  6312. "@code{while} keyword, part of the test following the @code{if} or "
  6313. "@code{elif} reserved words, part of a command executed in a @code{&&} or "
  6314. "@code{||} list except the command following the final @code{&&} or "
  6315. "@code{||}, any command in a pipeline but the last, or if the command's "
  6316. "return status is being inverted using @code{!}. These are the same "
  6317. "conditions obeyed by the @code{errexit} (@option{-e}) option."
  6318. msgstr ""
  6319. #. type: table
  6320. #: ./bashref.texi:3959
  6321. msgid ""
  6322. "Signals ignored upon entry to the shell cannot be trapped or reset. Trapped "
  6323. "signals that are not being ignored are reset to their original values in a "
  6324. "subshell or subshell environment when one is created."
  6325. msgstr ""
  6326. #. type: table
  6327. #: ./bashref.texi:3962
  6328. msgid ""
  6329. "The return status is zero unless a @var{sigspec} does not specify a valid "
  6330. "signal."
  6331. msgstr ""
  6332. #. type: btindex
  6333. #: ./bashref.texi:3963 ./bashref.texi:3964
  6334. #, no-wrap
  6335. msgid "umask"
  6336. msgstr ""
  6337. #. type: example
  6338. #: ./bashref.texi:3967
  6339. #, no-wrap
  6340. msgid "umask [-p] [-S] [@var{mode}]\n"
  6341. msgstr ""
  6342. #. type: table
  6343. #: ./bashref.texi:3980
  6344. msgid ""
  6345. "Set the shell process's file creation mask to @var{mode}. If @var{mode} "
  6346. "begins with a digit, it is interpreted as an octal number; if not, it is "
  6347. "interpreted as a symbolic mode mask similar to that accepted by the "
  6348. "@code{chmod} command. If @var{mode} is omitted, the current value of the "
  6349. "mask is printed. If the @option{-S} option is supplied without a @var{mode} "
  6350. "argument, the mask is printed in a symbolic format. If the @option{-p} "
  6351. "option is supplied, and @var{mode} is omitted, the output is in a form that "
  6352. "may be reused as input. The return status is zero if the mode is "
  6353. "successfully changed or if no @var{mode} argument is supplied, and non-zero "
  6354. "otherwise."
  6355. msgstr ""
  6356. #. type: table
  6357. #: ./bashref.texi:3984
  6358. msgid ""
  6359. "Note that when the mode is interpreted as an octal number, each number of "
  6360. "the umask is subtracted from @code{7}. Thus, a umask of @code{022} results "
  6361. "in permissions of @code{755}."
  6362. msgstr ""
  6363. #. type: btindex
  6364. #: ./bashref.texi:3985 ./bashref.texi:3986
  6365. #, no-wrap
  6366. msgid "unset"
  6367. msgstr ""
  6368. #. type: example
  6369. #: ./bashref.texi:3989
  6370. #, no-wrap
  6371. msgid "unset [-fnv] [@var{name}]\n"
  6372. msgstr ""
  6373. #. type: table
  6374. #: ./bashref.texi:4007
  6375. msgid ""
  6376. "Remove each variable or function @var{name}. If the @option{-v} option is "
  6377. "given, each @var{name} refers to a shell variable and that variable is "
  6378. "removed. If the @option{-f} option is given, the @var{name}s refer to shell "
  6379. "functions, and the function definition is removed. If the @option{-n} "
  6380. "option is supplied, and @var{name} is a variable with the @var{nameref} "
  6381. "attribute, @var{name} will be unset rather than the variable it references. "
  6382. "@option{-n} has no effect if the @option{-f} option is supplied. If no "
  6383. "options are supplied, each @var{name} refers to a variable; if there is no "
  6384. "variable by that name, a function with that name, if any, is unset. "
  6385. "Readonly variables and functions may not be unset. Some shell variables "
  6386. "lose their special behavior if they are unset; such behavior is noted in the "
  6387. "description of the individual variables. The return status is zero unless a "
  6388. "@var{name} is readonly."
  6389. msgstr ""
  6390. #. type: section
  6391. #: ./bashref.texi:4010
  6392. #, no-wrap
  6393. msgid "Bash Builtin Commands"
  6394. msgstr ""
  6395. #. type: Plain text
  6396. #: ./bashref.texi:4015
  6397. msgid ""
  6398. "This section describes builtin commands which are unique to or have been "
  6399. "extended in Bash. Some of these commands are specified in the @sc{posix} "
  6400. "standard."
  6401. msgstr ""
  6402. #. type: btindex
  6403. #: ./bashref.texi:4018 ./bashref.texi:4019
  6404. #, no-wrap
  6405. msgid "alias"
  6406. msgstr ""
  6407. #. type: example
  6408. #: ./bashref.texi:4022
  6409. #, no-wrap
  6410. msgid "alias [-p] [@var{name}[=@var{value}] @dots{}]\n"
  6411. msgstr ""
  6412. #. type: table
  6413. #: ./bashref.texi:4031
  6414. msgid ""
  6415. "Without arguments or with the @option{-p} option, @code{alias} prints the "
  6416. "list of aliases on the standard output in a form that allows them to be "
  6417. "reused as input. If arguments are supplied, an alias is defined for each "
  6418. "@var{name} whose @var{value} is given. If no @var{value} is given, the name "
  6419. "and value of the alias is printed. Aliases are described in @ref{Aliases}."
  6420. msgstr ""
  6421. #. type: btindex
  6422. #: ./bashref.texi:4032 ./bashref.texi:4033
  6423. #, no-wrap
  6424. msgid "bind"
  6425. msgstr ""
  6426. #. type: example
  6427. #: ./bashref.texi:4041
  6428. #, no-wrap
  6429. msgid ""
  6430. "bind [-m @var{keymap}] [-lpsvPSVX]\n"
  6431. "bind [-m @var{keymap}] [-q @var{function}] [-u @var{function}] [-r "
  6432. "@var{keyseq}]\n"
  6433. "bind [-m @var{keymap}] -f @var{filename}\n"
  6434. "bind [-m @var{keymap}] -x @var{keyseq:shell-command}\n"
  6435. "bind [-m @var{keymap}] @var{keyseq:function-name}\n"
  6436. "bind [-m @var{keymap}] @var{keyseq:readline-command}\n"
  6437. msgstr ""
  6438. #. type: table
  6439. #: ./bashref.texi:4051
  6440. msgid ""
  6441. "Display current Readline (@pxref{Command Line Editing}) key and function "
  6442. "bindings, bind a key sequence to a Readline function or macro, or set a "
  6443. "Readline variable. Each non-option argument is a command as it would appear "
  6444. "in a Readline initialization file (@pxref{Readline Init File}), but each "
  6445. "binding or command must be passed as a separate argument; e.g., "
  6446. "@samp{\"\\C-x\\C-r\":re-read-init-file}."
  6447. msgstr ""
  6448. #. type: table
  6449. #: ./bashref.texi:4053 ./bashref.texi:4403 ./bashref.texi:4591
  6450. msgid "Options, if supplied, have the following meanings:"
  6451. msgstr ""
  6452. #. type: item
  6453. #: ./bashref.texi:4055
  6454. #, no-wrap
  6455. msgid "-m @var{keymap}"
  6456. msgstr ""
  6457. #. type: table
  6458. #: ./bashref.texi:4069
  6459. msgid ""
  6460. "Use @var{keymap} as the keymap to be affected by the subsequent bindings. "
  6461. "Acceptable @var{keymap} names are @code{emacs}, @code{emacs-standard}, "
  6462. "@code{emacs-meta}, @code{emacs-ctlx}, @code{vi}, @code{vi-move}, "
  6463. "@code{vi-command}, and @code{vi-insert}. @code{vi} is equivalent to "
  6464. "@code{vi-command} (@code{vi-move} is also a synonym); @code{emacs} is "
  6465. "equivalent to @code{emacs-standard}."
  6466. msgstr ""
  6467. #. type: item
  6468. #: ./bashref.texi:4070 ./bashref.texi:4244 ./bashref.texi:4785 ./bashref.texi:6582 ./bashref.texi:7448 ./bashref.texi:8347
  6469. #, no-wrap
  6470. msgid "-l"
  6471. msgstr ""
  6472. #. type: table
  6473. #: ./bashref.texi:4072
  6474. msgid "List the names of all Readline functions."
  6475. msgstr ""
  6476. #. type: item
  6477. #: ./bashref.texi:4073 ./bashref.texi:4795 ./bashref.texi:5065 ./bashref.texi:7451 ./bashref.texi:8354
  6478. #, no-wrap
  6479. msgid "-p"
  6480. msgstr ""
  6481. #. type: table
  6482. #: ./bashref.texi:4076
  6483. msgid ""
  6484. "Display Readline function names and bindings in such a way that they can be "
  6485. "used as input or in a Readline initialization file."
  6486. msgstr ""
  6487. #. type: item
  6488. #: ./bashref.texi:4077 ./bashref.texi:4820 ./bashref.texi:5116
  6489. #, no-wrap
  6490. msgid "-P"
  6491. msgstr ""
  6492. #. type: table
  6493. #: ./bashref.texi:4079
  6494. msgid "List current Readline function names and bindings."
  6495. msgstr ""
  6496. #. type: item
  6497. #: ./bashref.texi:4080 ./bashref.texi:4813 ./bashref.texi:5088 ./bashref.texi:7454
  6498. #, no-wrap
  6499. msgid "-v"
  6500. msgstr ""
  6501. #. type: table
  6502. #: ./bashref.texi:4083
  6503. msgid ""
  6504. "Display Readline variable names and values in such a way that they can be "
  6505. "used as input or in a Readline initialization file."
  6506. msgstr ""
  6507. #. type: item
  6508. #: ./bashref.texi:4084
  6509. #, no-wrap
  6510. msgid "-V"
  6511. msgstr ""
  6512. #. type: table
  6513. #: ./bashref.texi:4086
  6514. msgid "List current Readline variable names and values."
  6515. msgstr ""
  6516. #. type: item
  6517. #: ./bashref.texi:4087 ./bashref.texi:4409 ./bashref.texi:4483 ./bashref.texi:4641 ./bashref.texi:4804 ./bashref.texi:5196 ./bashref.texi:6596 ./bashref.texi:8360
  6518. #, no-wrap
  6519. msgid "-s"
  6520. msgstr ""
  6521. #. type: table
  6522. #: ./bashref.texi:4091
  6523. msgid ""
  6524. "Display Readline key sequences bound to macros and the strings they output "
  6525. "in such a way that they can be used as input or in a Readline initialization "
  6526. "file."
  6527. msgstr ""
  6528. #. type: item
  6529. #: ./bashref.texi:4092 ./bashref.texi:4755
  6530. #, no-wrap
  6531. msgid "-S"
  6532. msgstr ""
  6533. #. type: table
  6534. #: ./bashref.texi:4094
  6535. msgid "Display Readline key sequences bound to macros and the strings they output."
  6536. msgstr ""
  6537. #. type: item
  6538. #: ./bashref.texi:4095
  6539. #, no-wrap
  6540. msgid "-f @var{filename}"
  6541. msgstr ""
  6542. #. type: table
  6543. #: ./bashref.texi:4097
  6544. msgid "Read key bindings from @var{filename}."
  6545. msgstr ""
  6546. #. type: item
  6547. #: ./bashref.texi:4098
  6548. #, no-wrap
  6549. msgid "-q @var{function}"
  6550. msgstr ""
  6551. #. type: table
  6552. #: ./bashref.texi:4100
  6553. msgid "Query about wh