123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147 |
- # SOME DESCRIPTIVE TITLE
- # Copyright (C) YEAR Free Software Foundation, Inc.
- # This file is distributed under the same license as the PACKAGE package.
- # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
- #
- #, fuzzy
- msgid ""
- msgstr ""
- "Project-Id-Version: PACKAGE VERSION\n"
- "POT-Creation-Date: 2020-12-07 18:35+0100\n"
- "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
- "Language-Team: LANGUAGE <LL@li.org>\n"
- "Language: \n"
- "MIME-Version: 1.0\n"
- "Content-Type: text/plain; charset=CHARSET\n"
- "Content-Transfer-Encoding: 8bit\n"
- #. type: title
- #: ./bashref.texi:4 ./bashref.texi:41
- #, no-wrap
- msgid "Bash Reference Manual"
- msgstr ""
- #. type: include
- #: ./bashref.texi:6
- #, no-wrap
- msgid "version.texi"
- msgstr ""
- #. type: copying
- #: ./bashref.texi:12
- msgid ""
- "This text is a brief description of the features that are present in the "
- "Bash shell (version @value{VERSION}, @value{UPDATED})."
- msgstr ""
- #. type: ifnottex
- #: ./bashref.texi:16 ./bashref.texi:67
- msgid ""
- "This is Edition @value{EDITION}, last updated @value{UPDATED}, of @cite{The "
- "GNU Bash Reference Manual}, for @code{Bash}, Version @value{VERSION}."
- msgstr ""
- #. type: copying
- #: ./bashref.texi:18
- msgid "Copyright @copyright{} 1988--2020 Free Software Foundation, Inc."
- msgstr ""
- #. type: quotation
- #: ./bashref.texi:26
- msgid ""
- "Permission is granted to copy, distribute and/or modify this document under "
- "the terms of the GNU Free Documentation License, Version 1.3 or any later "
- "version published by the Free Software Foundation; with no Invariant "
- "Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the "
- "license is included in the section entitled ``GNU Free Documentation "
- "License''."
- msgstr ""
- #. type: dircategory
- #: ./bashref.texi:33
- #, no-wrap
- msgid "Basics"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:36
- msgid "Bash: (bash)"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:36
- msgid "The GNU Bourne-Again SHell."
- msgstr ""
- #. type: subtitle
- #: ./bashref.texi:42
- #, no-wrap
- msgid "Reference Documentation for Bash"
- msgstr ""
- #. type: subtitle
- #: ./bashref.texi:43
- #, no-wrap
- msgid "Edition @value{EDITION}, for @code{Bash} Version @value{VERSION}."
- msgstr ""
- #. type: subtitle
- #: ./bashref.texi:44
- #, no-wrap
- msgid "@value{UPDATED-MONTH}"
- msgstr ""
- #. type: author
- #: ./bashref.texi:45
- #, no-wrap
- msgid "Chet Ramey, Case Western Reserve University"
- msgstr ""
- #. type: author
- #: ./bashref.texi:46
- #, no-wrap
- msgid "Brian Fox, Free Software Foundation"
- msgstr ""
- #. type: node
- #: ./bashref.texi:57
- #, no-wrap
- msgid "Top"
- msgstr ""
- #. type: chapter
- #: ./bashref.texi:57 ./bashref.texi:100 ./bashref.texi:103 ./bashref.texi:104
- #, no-wrap
- msgid "Introduction"
- msgstr ""
- #. type: node
- #: ./bashref.texi:57 ./bashref.texi:57
- #, no-wrap
- msgid "(dir)"
- msgstr ""
- #. type: chapter
- #: ./bashref.texi:58 ./bashref.texi:100 ./bashref.texi:6463 ./bashref.texi:6464
- #, no-wrap
- msgid "Bash Features"
- msgstr ""
- #. type: ifnottex
- #: ./bashref.texi:63
- msgid ""
- "This text is a brief description of the features that are present in the "
- "Bash shell (version @value{VERSION}, @value{UPDATED}). The Bash home page "
- "is @url{http://www.gnu.org/software/bash/}."
- msgstr ""
- #. type: ifnottex
- #: ./bashref.texi:75
- msgid ""
- "Bash contains features that appear in other popular shells, and some "
- "features that only appear in Bash. Some of the shells that Bash has "
- "borrowed concepts from are the Bourne Shell (@file{sh}), the Korn Shell "
- "(@file{ksh}), and the C-shell (@file{csh} and its successor, @file{tcsh}). "
- "The following menu breaks the features up into categories, noting which "
- "features were inspired by other shells and which are specific to Bash."
- msgstr ""
- #. type: ifnottex
- #: ./bashref.texi:79
- msgid ""
- "This manual is meant as a brief introduction to features found in Bash. The "
- "Bash manual page should be used as the definitive reference on shell "
- "behavior."
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:100
- msgid "An introduction to the shell."
- msgstr ""
- #. type: chapter
- #: ./bashref.texi:100 ./bashref.texi:191 ./bashref.texi:192
- #, no-wrap
- msgid "Definitions"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:100
- msgid "Some definitions used in the rest of this manual."
- msgstr ""
- #. type: chapter
- #: ./bashref.texi:100 ./bashref.texi:305 ./bashref.texi:306
- #, no-wrap
- msgid "Basic Shell Features"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:100
- msgid "The shell \"building blocks\"."
- msgstr ""
- #. type: chapter
- #: ./bashref.texi:100 ./bashref.texi:3403 ./bashref.texi:3404
- #, no-wrap
- msgid "Shell Builtin Commands"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:100
- msgid "Commands that are a part of the shell."
- msgstr ""
- #. type: chapter
- #: ./bashref.texi:100 ./bashref.texi:5574 ./bashref.texi:5575
- #, no-wrap
- msgid "Shell Variables"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:100
- msgid "Variables used or set by Bash."
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:100
- msgid "Features found only in Bash."
- msgstr ""
- #. type: chapter
- #: ./bashref.texi:100 ./bashref.texi:8179 ./bashref.texi:8180
- #, no-wrap
- msgid "Job Control"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:100
- msgid "What job control is and how Bash allows you to use it."
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:100
- msgid "Command Line Editing"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:100
- msgid "Chapter describing the command line editing features."
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:100
- msgid "Using History Interactively"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:100
- msgid "Command History Expansion"
- msgstr ""
- #. type: chapter
- #: ./bashref.texi:100 ./bashref.texi:8498 ./bashref.texi:8499
- #, no-wrap
- msgid "Installing Bash"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:100
- msgid "How to build and install Bash on your system."
- msgstr ""
- #. type: appendix
- #: ./bashref.texi:100 ./bashref.texi:9031 ./bashref.texi:9032
- #, no-wrap
- msgid "Reporting Bugs"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:100
- msgid "How to report bugs in Bash."
- msgstr ""
- #. type: appendix
- #: ./bashref.texi:100 ./bashref.texi:9070 ./bashref.texi:9071
- #, no-wrap
- msgid "Major Differences From The Bourne Shell"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:100
- msgid ""
- "A terse list of the differences between Bash and historical versions of "
- "/bin/sh."
- msgstr ""
- #. type: appendix
- #: ./bashref.texi:100 ./bashref.texi:9538 ./bashref.texi:9539
- #, no-wrap
- msgid "GNU Free Documentation License"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:100
- msgid "Copying and sharing this documentation."
- msgstr ""
- #. type: appendix
- #: ./bashref.texi:100 ./bashref.texi:9543 ./bashref.texi:9544
- #, no-wrap
- msgid "Indexes"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:100
- msgid "Various indexes for this manual."
- msgstr ""
- #. type: section
- #: ./bashref.texi:108 ./bashref.texi:110 ./bashref.texi:111
- #, no-wrap
- msgid "What is Bash?"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:108
- msgid "A short description of Bash."
- msgstr ""
- #. type: section
- #: ./bashref.texi:108 ./bashref.texi:136 ./bashref.texi:137
- #, no-wrap
- msgid "What is a shell?"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:108
- msgid "A brief introduction to shells."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:120
- msgid ""
- "Bash is the shell, or command language interpreter, for the @sc{gnu} "
- "operating system. The name is an acronym for the @samp{Bourne-Again SHell}, "
- "a pun on Stephen Bourne, the author of the direct ancestor of the current "
- "Unix shell @code{sh}, which appeared in the Seventh Edition Bell Labs "
- "Research version of Unix."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:128
- msgid ""
- "Bash is largely compatible with @code{sh} and incorporates useful features "
- "from the Korn shell @code{ksh} and the C shell @code{csh}. It is intended "
- "to be a conformant implementation of the @sc{ieee} @sc{posix} Shell and "
- "Tools portion of the @sc{ieee} @sc{posix} specification (@sc{ieee} Standard "
- "1003.1). It offers functional improvements over @code{sh} for both "
- "interactive and programming use."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:135
- msgid ""
- "While the @sc{gnu} operating system provides other shells, including a "
- "version of @code{csh}, Bash is the default shell. Like other @sc{gnu} "
- "software, Bash is quite portable. It currently runs on nearly every version "
- "of Unix and a few other operating systems @minus{} independently-supported "
- "ports exist for @sc{ms-dos}, @sc{os/2}, and Windows platforms."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:142
- msgid ""
- "At its base, a shell is simply a macro processor that executes commands. "
- "The term macro processor means functionality where text and symbols are "
- "expanded to create larger expressions."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:152
- msgid ""
- "A Unix shell is both a command interpreter and a programming language. As a "
- "command interpreter, the shell provides the user interface to the rich set "
- "of @sc{gnu} utilities. The programming language features allow these "
- "utilities to be combined. Files containing commands can be created, and "
- "become commands themselves. These new commands have the same status as "
- "system commands in directories such as @file{/bin}, allowing users or groups "
- "to establish custom environments to automate their common tasks."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:157
- msgid ""
- "Shells may be used interactively or non-interactively. In interactive mode, "
- "they accept input typed from the keyboard. When executing "
- "non-interactively, shells execute commands read from a file."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:167
- msgid ""
- "A shell allows execution of @sc{gnu} commands, both synchronously and "
- "asynchronously. The shell waits for synchronous commands to complete before "
- "accepting more input; asynchronous commands continue to execute in parallel "
- "with the shell while it reads and executes additional commands. The "
- "@dfn{redirection} constructs permit fine-grained control of the input and "
- "output of those commands. Moreover, the shell allows control over the "
- "contents of commands' environments."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:179
- msgid ""
- "Shells also provide a small set of built-in commands (@dfn{builtins}) "
- "implementing functionality impossible or inconvenient to obtain via separate "
- "utilities. For example, @code{cd}, @code{break}, @code{continue}, and "
- "@code{exec} cannot be implemented outside of the shell because they directly "
- "manipulate the shell itself. The @code{history}, @code{getopts}, "
- "@code{kill}, or @code{pwd} builtins, among others, could be implemented in "
- "separate utilities, but they are more convenient to use as builtin "
- "commands. All of the shell builtins are described in subsequent sections."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:184
- msgid ""
- "While executing commands is essential, most of the power (and complexity) of "
- "shells is due to their embedded programming languages. Like any high-level "
- "language, the shell provides variables, flow control constructs, quoting, "
- "and functions."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:190
- msgid ""
- "Shells offer features geared specifically for interactive use rather than to "
- "augment the programming language. These interactive features include job "
- "control, command line editing, command history and aliases. Each of these "
- "features is described in this manual."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:194
- msgid "These definitions are used throughout the remainder of this manual."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:197 ./bashref.texi:198
- #, no-wrap
- msgid "POSIX"
- msgstr ""
- #. type: table
- #: ./bashref.texi:202
- msgid ""
- "A family of open system standards based on Unix. Bash is primarily "
- "concerned with the Shell and Utilities portion of the @sc{posix} 1003.1 "
- "standard."
- msgstr ""
- #. type: item
- #: ./bashref.texi:203
- #, no-wrap
- msgid "blank"
- msgstr ""
- #. type: table
- #: ./bashref.texi:205
- msgid "A space or tab character."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:206 ./bashref.texi:207 ./bashref.texi:4128 ./bashref.texi:4129
- #, no-wrap
- msgid "builtin"
- msgstr ""
- #. type: table
- #: ./bashref.texi:210
- msgid ""
- "A command that is implemented internally by the shell itself, rather than by "
- "an executable program somewhere in the file system."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:211 ./bashref.texi:212
- #, no-wrap
- msgid "control operator"
- msgstr ""
- #. type: table
- #: ./bashref.texi:217
- msgid ""
- "A @code{token} that performs a control function. It is a @code{newline} or "
- "one of the following: @samp{||}, @samp{&&}, @samp{&}, @samp{;}, @samp{;;}, "
- "@samp{;&}, @samp{;;&}, @samp{|}, @samp{|&}, @samp{(}, or @samp{)}."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:218 ./bashref.texi:219 ./bashref.texi:3251
- #, no-wrap
- msgid "exit status"
- msgstr ""
- #. type: table
- #: ./bashref.texi:222
- msgid ""
- "The value returned by a command to its caller. The value is restricted to "
- "eight bits, so the maximum value is 255."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:223 ./bashref.texi:224
- #, no-wrap
- msgid "field"
- msgstr ""
- #. type: table
- #: ./bashref.texi:228
- msgid ""
- "A unit of text that is the result of one of the shell expansions. After "
- "expansion, when executing a command, the resulting fields are used as the "
- "command name and arguments."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:229 ./bashref.texi:230
- #, no-wrap
- msgid "filename"
- msgstr ""
- #. type: table
- #: ./bashref.texi:232
- msgid "A string of characters used to identify a file."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:233 ./bashref.texi:234
- #, no-wrap
- msgid "job"
- msgstr ""
- #. type: table
- #: ./bashref.texi:237
- msgid ""
- "A set of processes comprising a pipeline, and any processes descended from "
- "it, that are all in the same process group."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:238 ./bashref.texi:239 ./bashref.texi:8195
- #, no-wrap
- msgid "job control"
- msgstr ""
- #. type: table
- #: ./bashref.texi:242
- msgid ""
- "A mechanism by which users can selectively stop (suspend) and restart "
- "(resume) execution of processes."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:243 ./bashref.texi:244
- #, no-wrap
- msgid "metacharacter"
- msgstr ""
- #. type: table
- #: ./bashref.texi:249
- msgid ""
- "A character that, when unquoted, separates words. A metacharacter is a "
- "@code{space}, @code{tab}, @code{newline}, or one of the following "
- "characters: @samp{|}, @samp{&}, @samp{;}, @samp{(}, @samp{)}, @samp{<}, or "
- "@samp{>}."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:250 ./bashref.texi:251
- #, no-wrap
- msgid "name"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:252
- #, no-wrap
- msgid "identifier"
- msgstr ""
- #. type: table
- #: ./bashref.texi:257
- msgid ""
- "A @code{word} consisting solely of letters, numbers, and underscores, and "
- "beginning with a letter or underscore. @code{Name}s are used as shell "
- "variable and function names. Also referred to as an @code{identifier}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:258
- #, no-wrap
- msgid "operator"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:259
- #, no-wrap
- msgid "operator, shell"
- msgstr ""
- #. type: table
- #: ./bashref.texi:263
- msgid ""
- "A @code{control operator} or a @code{redirection operator}. "
- "@xref{Redirections}, for a list of redirection operators. Operators contain "
- "at least one unquoted @code{metacharacter}."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:264 ./bashref.texi:265
- #, no-wrap
- msgid "process group"
- msgstr ""
- #. type: table
- #: ./bashref.texi:268
- msgid ""
- "A collection of related processes each having the same process group "
- "@sc{id}."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:269 ./bashref.texi:270
- #, no-wrap
- msgid "process group ID"
- msgstr ""
- #. type: table
- #: ./bashref.texi:273
- msgid ""
- "A unique identifier that represents a @code{process group} during its "
- "lifetime."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:274 ./bashref.texi:275
- #, no-wrap
- msgid "reserved word"
- msgstr ""
- #. type: table
- #: ./bashref.texi:279
- msgid ""
- "A @code{word} that has a special meaning to the shell. Most reserved words "
- "introduce shell flow control constructs, such as @code{for} and "
- "@code{while}."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:280 ./bashref.texi:281
- #, no-wrap
- msgid "return status"
- msgstr ""
- #. type: table
- #: ./bashref.texi:283
- msgid "A synonym for @code{exit status}."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:284 ./bashref.texi:285
- #, no-wrap
- msgid "signal"
- msgstr ""
- #. type: table
- #: ./bashref.texi:288
- msgid ""
- "A mechanism by which a process may be notified by the kernel of an event "
- "occurring in the system."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:289 ./bashref.texi:290 ./bashref.texi:5545
- #, no-wrap
- msgid "special builtin"
- msgstr ""
- #. type: table
- #: ./bashref.texi:293
- msgid ""
- "A shell builtin command that has been classified as special by the "
- "@sc{posix} standard."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:294 ./bashref.texi:295
- #, no-wrap
- msgid "token"
- msgstr ""
- #. type: table
- #: ./bashref.texi:298
- msgid ""
- "A sequence of characters considered a single unit by the shell. It is "
- "either a @code{word} or an @code{operator}."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:299 ./bashref.texi:300
- #, no-wrap
- msgid "word"
- msgstr ""
- #. type: table
- #: ./bashref.texi:303
- msgid ""
- "A sequence of characters treated as a unit by the shell. Words may not "
- "include unquoted @code{metacharacters}."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:307
- #, no-wrap
- msgid "Bourne shell"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:315
- msgid ""
- "Bash is an acronym for @samp{Bourne-Again SHell}. The Bourne shell is the "
- "traditional Unix shell originally written by Stephen Bourne. All of the "
- "Bourne shell builtin commands are available in Bash, The rules for "
- "evaluation and quoting are taken from the @sc{posix} specification for the "
- "`standard' Unix shell."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:321
- msgid ""
- "This chapter briefly summarizes the shell's `building blocks': commands, "
- "control structures, shell functions, shell @i{parameters}, shell expansions, "
- "@i{redirections}, which are a way to direct input and output from and to "
- "named files, and how the shell executes commands."
- msgstr ""
- #. type: section
- #: ./bashref.texi:332 ./bashref.texi:334 ./bashref.texi:335
- #, no-wrap
- msgid "Shell Syntax"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:332
- msgid "What your input means to the shell."
- msgstr ""
- #. type: section
- #: ./bashref.texi:332 ./bashref.texi:575 ./bashref.texi:576
- #, no-wrap
- msgid "Shell Commands"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:332
- msgid "The types of commands you can use."
- msgstr ""
- #. type: section
- #: ./bashref.texi:332 ./bashref.texi:1394 ./bashref.texi:1395
- #, no-wrap
- msgid "Shell Functions"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:332
- msgid "Grouping commands by name."
- msgstr ""
- #. type: section
- #: ./bashref.texi:332 ./bashref.texi:1578 ./bashref.texi:1579
- #, no-wrap
- msgid "Shell Parameters"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:332
- msgid "How the shell stores values."
- msgstr ""
- #. type: section
- #: ./bashref.texi:332 ./bashref.texi:1785 ./bashref.texi:1786
- #, no-wrap
- msgid "Shell Expansions"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:332
- msgid "How Bash expands parameters and the various expansions available."
- msgstr ""
- #. type: section
- #: ./bashref.texi:332 ./bashref.texi:2703 ./bashref.texi:2704
- #, no-wrap
- msgid "Redirections"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:332
- msgid "A way to control where input and output go."
- msgstr ""
- #. type: section
- #: ./bashref.texi:332 ./bashref.texi:2995 ./bashref.texi:2996
- #, no-wrap
- msgid "Executing Commands"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:332
- msgid "What happens when you run a command."
- msgstr ""
- #. type: section
- #: ./bashref.texi:332 ./bashref.texi:3333 ./bashref.texi:3334
- #, no-wrap
- msgid "Shell Scripts"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:332
- msgid "Executing files of shell commands."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:340 ./bashref.texi:357 ./bashref.texi:358
- #, no-wrap
- msgid "Shell Operation"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:340
- msgid "The basic operation of the shell."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:340 ./bashref.texi:398 ./bashref.texi:399
- #, no-wrap
- msgid "Quoting"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:340
- msgid "How to remove the special meaning from characters."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:340 ./bashref.texi:560 ./bashref.texi:561
- #, no-wrap
- msgid "Comments"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:340
- msgid "How to specify comments."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:346
- msgid ""
- "When the shell reads input, it proceeds through a sequence of operations. "
- "If the input indicates the beginning of a comment, the shell ignores the "
- "comment symbol (@samp{#}), and the rest of that line."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:350
- msgid ""
- "Otherwise, roughly speaking, the shell reads its input and divides the input "
- "into words and operators, employing the quoting rules to select which "
- "meanings to assign various words and characters."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:356
- msgid ""
- "The shell then parses these tokens into commands and other constructs, "
- "removes the special meaning of certain words or characters, expands others, "
- "redirects input and output as needed, executes the specified command, waits "
- "for the command's exit status, and makes that exit status available for "
- "further inspection or processing."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:363
- msgid ""
- "The following is a brief description of the shell's operation when it reads "
- "and executes a command. Basically, the shell does the following:"
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:369
- msgid ""
- "Reads its input from a file (@pxref{Shell Scripts}), from a string supplied "
- "as an argument to the @option{-c} invocation option (@pxref{Invoking Bash}), "
- "or from the user's terminal."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:375
- msgid ""
- "Breaks the input into words and operators, obeying the quoting rules "
- "described in @ref{Quoting}. These tokens are separated by "
- "@code{metacharacters}. Alias expansion is performed by this step "
- "(@pxref{Aliases})."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:379
- msgid ""
- "Parses the tokens into simple and compound commands (@pxref{Shell "
- "Commands})."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:384
- msgid ""
- "Performs the various shell expansions (@pxref{Shell Expansions}), breaking "
- "the expanded tokens into lists of filenames (@pxref{Filename Expansion}) "
- "and commands and arguments."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:388
- msgid ""
- "Performs any necessary redirections (@pxref{Redirections}) and removes the "
- "redirection operators and their operands from the argument list."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:391
- msgid "Executes the command (@pxref{Executing Commands})."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:395
- msgid ""
- "Optionally waits for the command to complete and collects its exit status "
- "(@pxref{Exit Status})."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:400
- #, no-wrap
- msgid "quoting"
- msgstr ""
- #. type: subsubsection
- #: ./bashref.texi:410 ./bashref.texi:430 ./bashref.texi:431
- #, no-wrap
- msgid "Escape Character"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:410
- msgid "How to remove the special meaning from a single character."
- msgstr ""
- #. type: subsubsection
- #: ./bashref.texi:410 ./bashref.texi:439 ./bashref.texi:440
- #, no-wrap
- msgid "Single Quotes"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:410
- msgid "How to inhibit all interpretation of a sequence of characters."
- msgstr ""
- #. type: subsubsection
- #: ./bashref.texi:410 ./bashref.texi:446 ./bashref.texi:447
- #, no-wrap
- msgid "Double Quotes"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:410
- msgid "How to suppress most of the interpretation of a sequence of characters."
- msgstr ""
- #. type: subsubsection
- #: ./bashref.texi:410 ./bashref.texi:474 ./bashref.texi:475
- #, no-wrap
- msgid "ANSI-C Quoting"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:410
- msgid "How to expand ANSI-C sequences in quoted strings."
- msgstr ""
- #. type: node
- #: ./bashref.texi:410 ./bashref.texi:529
- #, no-wrap
- msgid "Locale Translation"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:410
- msgid "How to translate strings into different languages."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:417
- msgid ""
- "Quoting is used to remove the special meaning of certain characters or words "
- "to the shell. Quoting can be used to disable special treatment for special "
- "characters, to prevent reserved words from being recognized as such, and to "
- "prevent parameter expansion."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:426
- msgid ""
- "Each of the shell metacharacters (@pxref{Definitions}) has special meaning "
- "to the shell and must be quoted if it is to represent itself. When the "
- "command history expansion facilities are being used (@pxref{History "
- "Interaction}), the @var{history expansion} character, usually @samp{!}, must "
- "be quoted to prevent history expansion. @xref{Bash History Facilities}, for "
- "more details concerning history expansion."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:429
- msgid ""
- "There are three quoting mechanisms: the @var{escape character}, single "
- "quotes, and double quotes."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:438
- msgid ""
- "A non-quoted backslash @samp{\\} is the Bash escape character. It preserves "
- "the literal value of the next character that follows, with the exception of "
- "@code{newline}. If a @code{\\newline} pair appears, and the backslash "
- "itself is not quoted, the @code{\\newline} is treated as a line continuation "
- "(that is, it is removed from the input stream and effectively ignored)."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:445
- msgid ""
- "Enclosing characters in single quotes (@samp{'}) preserves the literal value "
- "of each character within the quotes. A single quote may not occur between "
- "single quotes, even when preceded by a backslash."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:470
- msgid ""
- "Enclosing characters in double quotes (@samp{\"}) preserves the literal "
- "value of all characters within the quotes, with the exception of @samp{$}, "
- "@samp{`}, @samp{\\}, and, when history expansion is enabled, @samp{!}. When "
- "the shell is in @sc{posix} mode (@pxref{Bash POSIX Mode}), the @samp{!} has "
- "no special meaning within double quotes, even when history expansion is "
- "enabled. The characters @samp{$} and @samp{`} retain their special meaning "
- "within double quotes (@pxref{Shell Expansions}). The backslash retains its "
- "special meaning only when followed by one of the following characters: "
- "@samp{$}, @samp{`}, @samp{\"}, @samp{\\}, or @code{newline}. Within double "
- "quotes, backslashes that are followed by one of these characters are "
- "removed. Backslashes preceding characters without a special meaning are "
- "left unmodified. A double quote may be quoted within double quotes by "
- "preceding it with a backslash. If enabled, history expansion will be "
- "performed unless an @samp{!} appearing in double quotes is escaped using a "
- "backslash. The backslash preceding the @samp{!} is not removed."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:473
- msgid ""
- "The special parameters @samp{*} and @samp{@@} have special meaning when in "
- "double quotes (@pxref{Shell Parameter Expansion})."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:476
- #, no-wrap
- msgid "quoting, ANSI"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:482
- msgid ""
- "Words of the form @code{$'@var{string}'} are treated specially. The word "
- "expands to @var{string}, with backslash-escaped characters replaced as "
- "specified by the ANSI C standard. Backslash escape sequences, if present, "
- "are decoded as follows:"
- msgstr ""
- #. type: item
- #: ./bashref.texi:484 ./bashref.texi:4323 ./bashref.texi:7536
- #, no-wrap
- msgid "\\a"
- msgstr ""
- #. type: table
- #: ./bashref.texi:486 ./bashref.texi:4325
- msgid "alert (bell)"
- msgstr ""
- #. type: item
- #: ./bashref.texi:486 ./bashref.texi:4325
- #, no-wrap
- msgid "\\b"
- msgstr ""
- #. type: table
- #: ./bashref.texi:488 ./bashref.texi:4327
- msgid "backspace"
- msgstr ""
- #. type: item
- #: ./bashref.texi:488 ./bashref.texi:4329 ./bashref.texi:7544
- #, no-wrap
- msgid "\\e"
- msgstr ""
- #. type: itemx
- #: ./bashref.texi:489 ./bashref.texi:4330
- #, no-wrap
- msgid "\\E"
- msgstr ""
- #. type: table
- #: ./bashref.texi:491
- msgid "an escape character (not ANSI C)"
- msgstr ""
- #. type: item
- #: ./bashref.texi:491 ./bashref.texi:4332
- #, no-wrap
- msgid "\\f"
- msgstr ""
- #. type: table
- #: ./bashref.texi:493 ./bashref.texi:4334
- msgid "form feed"
- msgstr ""
- #. type: item
- #: ./bashref.texi:493 ./bashref.texi:4334 ./bashref.texi:7554
- #, no-wrap
- msgid "\\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:495
- msgid "newline"
- msgstr ""
- #. type: item
- #: ./bashref.texi:495 ./bashref.texi:4336 ./bashref.texi:7556
- #, no-wrap
- msgid "\\r"
- msgstr ""
- #. type: table
- #: ./bashref.texi:497 ./bashref.texi:4338
- msgid "carriage return"
- msgstr ""
- #. type: item
- #: ./bashref.texi:497 ./bashref.texi:4338 ./bashref.texi:7561
- #, no-wrap
- msgid "\\t"
- msgstr ""
- #. type: table
- #: ./bashref.texi:499 ./bashref.texi:4340
- msgid "horizontal tab"
- msgstr ""
- #. type: item
- #: ./bashref.texi:499 ./bashref.texi:4340 ./bashref.texi:7571
- #, no-wrap
- msgid "\\v"
- msgstr ""
- #. type: table
- #: ./bashref.texi:501 ./bashref.texi:4342
- msgid "vertical tab"
- msgstr ""
- #. type: item
- #: ./bashref.texi:501 ./bashref.texi:4342 ./bashref.texi:7588
- #, no-wrap
- msgid "\\\\"
- msgstr ""
- #. type: table
- #: ./bashref.texi:503 ./bashref.texi:4344
- msgid "backslash"
- msgstr ""
- #. type: item
- #: ./bashref.texi:503
- #, no-wrap
- msgid "\\'"
- msgstr ""
- #. type: table
- #: ./bashref.texi:505
- msgid "single quote"
- msgstr ""
- #. type: item
- #: ./bashref.texi:505
- #, no-wrap
- msgid "\\\""
- msgstr ""
- #. type: table
- #: ./bashref.texi:507
- msgid "double quote"
- msgstr ""
- #. type: item
- #: ./bashref.texi:507
- #, no-wrap
- msgid "\\?"
- msgstr ""
- #. type: table
- #: ./bashref.texi:509
- msgid "question mark"
- msgstr ""
- #. type: item
- #: ./bashref.texi:509 ./bashref.texi:7586
- #, no-wrap
- msgid "\\@var{nnn}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:512
- msgid ""
- "the eight-bit character whose value is the octal value @var{nnn} (one to "
- "three octal digits)"
- msgstr ""
- #. type: item
- #: ./bashref.texi:512 ./bashref.texi:4347
- #, no-wrap
- msgid "\\x@var{HH}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:515 ./bashref.texi:4350
- msgid ""
- "the eight-bit character whose value is the hexadecimal value @var{HH} (one "
- "or two hex digits)"
- msgstr ""
- #. type: item
- #: ./bashref.texi:515 ./bashref.texi:4350
- #, no-wrap
- msgid "\\u@var{HHHH}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:518 ./bashref.texi:4353
- msgid ""
- "the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value "
- "@var{HHHH} (one to four hex digits)"
- msgstr ""
- #. type: item
- #: ./bashref.texi:518 ./bashref.texi:4353
- #, no-wrap
- msgid "\\U@var{HHHHHHHH}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:521 ./bashref.texi:4356
- msgid ""
- "the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value "
- "@var{HHHHHHHH} (one to eight hex digits)"
- msgstr ""
- #. type: item
- #: ./bashref.texi:521
- #, no-wrap
- msgid "\\c@var{x}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:523
- msgid "a control-@var{x} character"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:528
- msgid ""
- "The expanded result is single-quoted, as if the dollar sign had not been "
- "present."
- msgstr ""
- #. type: subsubsection
- #: ./bashref.texi:530
- #, no-wrap
- msgid "Locale-Specific Translation"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:531
- #, no-wrap
- msgid "localization"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:532
- #, no-wrap
- msgid "internationalization"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:533
- #, no-wrap
- msgid "native languages"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:534
- #, no-wrap
- msgid "translation, native languages"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:547
- msgid ""
- "A double-quoted string preceded by a dollar sign (@samp{$}) will cause the "
- "string to be translated according to the current locale. The @var{gettext} "
- "infrastructure performs the message catalog lookup and translation, using "
- "the @code{LC_MESSAGES} and @code{TEXTDOMAIN} shell variables, as explained "
- "below. See the gettext documentation for additional details. If the current "
- "locale is @code{C} or @code{POSIX}, or if there are no translations "
- "available, the dollar sign is ignored. If the string is translated and "
- "replaced, the replacement is double-quoted."
- msgstr ""
- #. type: item
- #: ./bashref.texi:548 ./bashref.texi:6218
- #, no-wrap
- msgid "LC_MESSAGES"
- msgstr ""
- #. type: vindex
- #: ./bashref.texi:549
- #, no-wrap
- msgid "TEXTDOMAIN"
- msgstr ""
- #. type: vindex
- #: ./bashref.texi:550
- #, no-wrap
- msgid "TEXTDOMAINDIR"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:559
- msgid ""
- "Some systems use the message catalog selected by the @env{LC_MESSAGES} shell "
- "variable. Others create the name of the message catalog from the value of "
- "the @env{TEXTDOMAIN} shell variable, possibly adding a suffix of "
- "@samp{.mo}. If you use the @env{TEXTDOMAIN} variable, you may need to set "
- "the @env{TEXTDOMAINDIR} variable to the location of the message catalog "
- "files. Still others use both variables in this fashion: "
- "@env{TEXTDOMAINDIR}/@env{LC_MESSAGES}/LC_MESSAGES/@env{TEXTDOMAIN}.mo."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:562
- #, no-wrap
- msgid "comments, shell"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:574
- msgid ""
- "In a non-interactive shell, or an interactive shell in which the "
- "@code{interactive_comments} option to the @code{shopt} builtin is enabled "
- "(@pxref{The Shopt Builtin}), a word beginning with @samp{#} causes that word "
- "and all remaining characters on that line to be ignored. An interactive "
- "shell without the @code{interactive_comments} option enabled does not allow "
- "comments. The @code{interactive_comments} option is on by default in "
- "interactive shells. @xref{Interactive Shells}, for a description of what "
- "makes a shell interactive."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:577
- #, no-wrap
- msgid "commands, shell"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:581
- msgid ""
- "A simple shell command such as @code{echo a b c} consists of the command "
- "itself followed by arguments, separated by spaces."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:586
- msgid ""
- "More complex shell commands are composed of simple commands arranged "
- "together in a variety of ways: in a pipeline in which the output of one "
- "command becomes the input of a second, in a loop or conditional construct, "
- "or in some other grouping."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:596 ./bashref.texi:598 ./bashref.texi:599
- #, no-wrap
- msgid "Reserved Words"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:596
- msgid "Words that have special meaning to the shell."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:596 ./bashref.texi:624 ./bashref.texi:625
- #, no-wrap
- msgid "Simple Commands"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:596
- msgid "The most common type of command."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:596 ./bashref.texi:639 ./bashref.texi:640
- #, no-wrap
- msgid "Pipelines"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:596
- msgid "Connecting the input and output of several commands."
- msgstr ""
- #. type: node
- #: ./bashref.texi:596 ./bashref.texi:713
- #, no-wrap
- msgid "Lists"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:596
- msgid "How to execute commands sequentially."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:596 ./bashref.texi:770 ./bashref.texi:771
- #, no-wrap
- msgid "Compound Commands"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:596
- msgid "Shell commands for control flow."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:596 ./bashref.texi:1221 ./bashref.texi:1222
- #, no-wrap
- msgid "Coprocesses"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:596
- msgid "Two-way communication between commands."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:596 ./bashref.texi:1268 ./bashref.texi:1269
- #, no-wrap
- msgid "GNU Parallel"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:596
- msgid "Running commands in parallel."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:600
- #, no-wrap
- msgid "reserved words"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:604
- msgid ""
- "Reserved words are words that have special meaning to the shell. They are "
- "used to begin and end the shell's compound commands."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:607
- msgid ""
- "The following words are recognized as reserved when unquoted and the first "
- "word of a command (see below for exceptions):"
- msgstr ""
- #. type: item
- #: ./bashref.texi:609
- #, no-wrap
- msgid "@code{if} @tab @code{then} @tab @code{elif}"
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:611 ./bashref.texi:879
- #, no-wrap
- msgid "else"
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:611 ./bashref.texi:881
- #, no-wrap
- msgid "fi"
- msgstr ""
- #. type: multitable
- #: ./bashref.texi:611
- msgid "@code{time}"
- msgstr ""
- #. type: item
- #: ./bashref.texi:611
- #, no-wrap
- msgid "@code{for} @tab @code{in} @tab @code{until}"
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:613 ./bashref.texi:818 ./bashref.texi:819
- #, no-wrap
- msgid "while"
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:613 ./bashref.texi:805
- #, no-wrap
- msgid "do"
- msgstr ""
- #. type: multitable
- #: ./bashref.texi:613
- msgid "@code{done}"
- msgstr ""
- #. type: item
- #: ./bashref.texi:613
- #, no-wrap
- msgid "@code{case} @tab @code{esac} @tab @code{coproc}"
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:615 ./bashref.texi:974 ./bashref.texi:975
- #, no-wrap
- msgid "select"
- msgstr ""
- #. type: multitable
- #: ./bashref.texi:615
- msgid "@code{function}"
- msgstr ""
- #. type: item
- #: ./bashref.texi:615
- #, no-wrap
- msgid "@code{@{} @tab @code{@}} @tab @code{[[} @tab @code{]]} @tab @code{!}"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:623
- msgid ""
- "@code{in} is recognized as a reserved word if it is the third word of a "
- "@code{case} or @code{select} command. @code{in} and @code{do} are "
- "recognized as reserved words if they are the third word in a @code{for} "
- "command."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:626
- #, no-wrap
- msgid "commands, simple"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:633
- msgid ""
- "A simple command is the kind of command encountered most often. It's just a "
- "sequence of words separated by @code{blank}s, terminated by one of the "
- "shell's control operators (@pxref{Definitions}). The first word generally "
- "specifies a command to be executed, with the rest of the words being that "
- "command's arguments."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:638
- msgid ""
- "The return status (@pxref{Exit Status}) of a simple command is its exit "
- "status as provided by the @sc{posix} 1003.1 @code{waitpid} function, or "
- "128+@var{n} if the command was terminated by signal @var{n}."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:641
- #, no-wrap
- msgid "pipeline"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:642
- #, no-wrap
- msgid "commands, pipelines"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:646
- msgid ""
- "A @code{pipeline} is a sequence of one or more commands separated by one of "
- "the control operators @samp{|} or @samp{|&}."
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:647
- #, no-wrap
- msgid "time"
- msgstr ""
- #. type: item
- #: ./bashref.texi:648 ./bashref.texi:1768
- #, no-wrap
- msgid "!"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:649
- #, no-wrap
- msgid "command timing"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:651
- msgid "The format for a pipeline is"
- msgstr ""
- #. type: example
- #: ./bashref.texi:653
- #, no-wrap
- msgid "[time [-p]] [!] @var{command1} [ | or |& @var{command2} ] @dots{}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:661
- msgid ""
- "The output of each command in the pipeline is connected via a pipe to the "
- "input of the next command. That is, each command reads the previous "
- "command's output. This connection is performed before any redirections "
- "specified by the command."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:668
- msgid ""
- "If @samp{|&} is used, @var{command1}'s standard error, in addition to its "
- "standard output, is connected to @var{command2}'s standard input through the "
- "pipe; it is shorthand for @code{2>&1 |}. This implicit redirection of the "
- "standard error to the standard output is performed after any redirections "
- "specified by the command."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:684
- msgid ""
- "The reserved word @code{time} causes timing statistics to be printed for the "
- "pipeline once it finishes. The statistics currently consist of elapsed "
- "(wall-clock) time and user and system time consumed by the command's "
- "execution. The @option{-p} option changes the output format to that "
- "specified by @sc{posix}. When the shell is in @sc{posix} mode (@pxref{Bash "
- "POSIX Mode}), it does not recognize @code{time} as a reserved word if the "
- "next token begins with a @samp{-}. The @env{TIMEFORMAT} variable may be set "
- "to a format string that specifies how the timing information should be "
- "displayed. @xref{Bash Variables}, for a description of the available "
- "formats. The use of @code{time} as a reserved word permits the timing of "
- "shell builtins, shell functions, and pipelines. An external @code{time} "
- "command cannot time these easily."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:690
- msgid ""
- "When the shell is in @sc{posix} mode (@pxref{Bash POSIX Mode}), @code{time} "
- "may be followed by a newline. In this case, the shell displays the total "
- "user and system time consumed by the shell and its children. The "
- "@env{TIMEFORMAT} variable may be used to specify the format of the time "
- "information."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:693
- msgid ""
- "If the pipeline is not executed asynchronously (@pxref{Lists}), the shell "
- "waits for all commands in the pipeline to complete."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:699
- msgid ""
- "Each command in a pipeline is executed in its own subshell, which is a "
- "separate process (@pxref{Command Execution Environment}). If the "
- "@code{lastpipe} option is enabled using the @code{shopt} builtin (@pxref{The "
- "Shopt Builtin}), the last element of a pipeline may be run by the shell "
- "process."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:712
- msgid ""
- "The exit status of a pipeline is the exit status of the last command in the "
- "pipeline, unless the @code{pipefail} option is enabled (@pxref{The Set "
- "Builtin}). If @code{pipefail} is enabled, the pipeline's return status is "
- "the value of the last (rightmost) command to exit with a non-zero status, or "
- "zero if all commands exit successfully. If the reserved word @samp{!} "
- "precedes the pipeline, the exit status is the logical negation of the exit "
- "status as described above. The shell waits for all commands in the pipeline "
- "to terminate before returning a value."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:714
- #, no-wrap
- msgid "Lists of Commands"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:715
- #, no-wrap
- msgid "commands, lists"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:721
- msgid ""
- "A @code{list} is a sequence of one or more pipelines separated by one of the "
- "operators @samp{;}, @samp{&}, @samp{&&}, or @samp{||}, and optionally "
- "terminated by one of @samp{;}, @samp{&}, or a @code{newline}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:725
- msgid ""
- "Of these list operators, @samp{&&} and @samp{||} have equal precedence, "
- "followed by @samp{;} and @samp{&}, which have equal precedence."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:728
- msgid ""
- "A sequence of one or more newlines may appear in a @code{list} to delimit "
- "commands, equivalent to a semicolon."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:738
- msgid ""
- "If a command is terminated by the control operator @samp{&}, the shell "
- "executes the command asynchronously in a subshell. This is known as "
- "executing the command in the @var{background}, and these are referred to as "
- "@var{asynchronous} commands. The shell does not wait for the command to "
- "finish, and the return status is 0 (true). When job control is not active "
- "(@pxref{Job Control}), the standard input for asynchronous commands, in the "
- "absence of any explicit redirections, is redirected from @code{/dev/null}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:742
- msgid ""
- "Commands separated by a @samp{;} are executed sequentially; the shell waits "
- "for each command to terminate in turn. The return status is the exit status "
- "of the last command executed."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:747
- msgid ""
- "@sc{and} and @sc{or} lists are sequences of one or more pipelines separated "
- "by the control operators @samp{&&} and @samp{||}, respectively. @sc{and} "
- "and @sc{or} lists are executed with left associativity."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:749
- msgid "An @sc{and} list has the form"
- msgstr ""
- #. type: example
- #: ./bashref.texi:751
- #, no-wrap
- msgid "@var{command1} && @var{command2}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:756
- msgid ""
- "@var{command2} is executed if, and only if, @var{command1} returns an exit "
- "status of zero (success)."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:758
- msgid "An @sc{or} list has the form"
- msgstr ""
- #. type: example
- #: ./bashref.texi:760
- #, no-wrap
- msgid "@var{command1} || @var{command2}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:765
- msgid ""
- "@var{command2} is executed if, and only if, @var{command1} returns a "
- "non-zero exit status."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:769
- msgid ""
- "The return status of @sc{and} and @sc{or} lists is the exit status of the "
- "last command executed in the list."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:772
- #, no-wrap
- msgid "commands, compound"
- msgstr ""
- #. type: subsubsection
- #: ./bashref.texi:778 ./bashref.texi:793 ./bashref.texi:794
- #, no-wrap
- msgid "Looping Constructs"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:778
- msgid "Shell commands for iterative action."
- msgstr ""
- #. type: subsubsection
- #: ./bashref.texi:778 ./bashref.texi:871 ./bashref.texi:872
- #, no-wrap
- msgid "Conditional Constructs"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:778
- msgid "Shell commands for conditional execution."
- msgstr ""
- #. type: node
- #: ./bashref.texi:778 ./bashref.texi:1177
- #, no-wrap
- msgid "Command Grouping"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:778
- msgid "Ways to group commands."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:785
- msgid ""
- "Compound commands are the shell programming language constructs. Each "
- "construct begins with a reserved word or control operator and is terminated "
- "by a corresponding reserved word or operator. Any redirections "
- "(@pxref{Redirections}) associated with a compound command apply to all "
- "commands within that compound command unless explicitly overridden."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:789
- msgid ""
- "In most cases a list of commands in a compound command's description may be "
- "separated from the rest of the command by one or more newlines, and may be "
- "followed by a newline in place of a semicolon."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:792
- msgid ""
- "Bash provides looping constructs, conditional commands, and mechanisms to "
- "group commands and execute them as a unit."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:795
- #, no-wrap
- msgid "commands, looping"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:798
- msgid "Bash supports the following looping constructs."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:801
- msgid ""
- "Note that wherever a @samp{;} appears in the description of a command's "
- "syntax, it may be replaced with one or more newlines."
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:803 ./bashref.texi:804
- #, no-wrap
- msgid "until"
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:806
- #, no-wrap
- msgid "done"
- msgstr ""
- #. type: table
- #: ./bashref.texi:808
- msgid "The syntax of the @code{until} command is:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:811
- #, no-wrap
- msgid "until @var{test-commands}; do @var{consequent-commands}; done\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:817
- msgid ""
- "Execute @var{consequent-commands} as long as @var{test-commands} has an exit "
- "status which is not zero. The return status is the exit status of the last "
- "command executed in @var{consequent-commands}, or zero if none was executed."
- msgstr ""
- #. type: table
- #: ./bashref.texi:821
- msgid "The syntax of the @code{while} command is:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:824
- #, no-wrap
- msgid "while @var{test-commands}; do @var{consequent-commands}; done\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:830
- msgid ""
- "Execute @var{consequent-commands} as long as @var{test-commands} has an exit "
- "status of zero. The return status is the exit status of the last command "
- "executed in @var{consequent-commands}, or zero if none was executed."
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:831 ./bashref.texi:832
- #, no-wrap
- msgid "for"
- msgstr ""
- #. type: table
- #: ./bashref.texi:834
- msgid "The syntax of the @code{for} command is:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:837
- #, no-wrap
- msgid "for @var{name} [ [in [@var{words} @dots{}] ] ; ] do @var{commands}; done\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:846
- msgid ""
- "Expand @var{words} (@pxref{Shell Expansions}), and execute @var{commands} "
- "once for each member in the resultant list, with @var{name} bound to the "
- "current member. If @samp{in @var{words}} is not present, the @code{for} "
- "command executes the @var{commands} once for each positional parameter that "
- "is set, as if @samp{in \"$@@\"} had been specified (@pxref{Special "
- "Parameters})."
- msgstr ""
- #. type: table
- #: ./bashref.texi:850
- msgid ""
- "The return status is the exit status of the last command that executes. If "
- "there are no items in the expansion of @var{words}, no commands are "
- "executed, and the return status is zero."
- msgstr ""
- #. type: table
- #: ./bashref.texi:852
- msgid "An alternate form of the @code{for} command is also supported:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:855
- #, no-wrap
- msgid ""
- "for (( @var{expr1} ; @var{expr2} ; @var{expr3} )) ; do @var{commands} ; "
- "done\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:866
- msgid ""
- "First, the arithmetic expression @var{expr1} is evaluated according to the "
- "rules described below (@pxref{Shell Arithmetic}). The arithmetic expression "
- "@var{expr2} is then evaluated repeatedly until it evaluates to zero. Each "
- "time @var{expr2} evaluates to a non-zero value, @var{commands} are executed "
- "and the arithmetic expression @var{expr3} is evaluated. If any expression "
- "is omitted, it behaves as if it evaluates to 1. The return value is the "
- "exit status of the last command in @var{commands} that is executed, or false "
- "if any of the expressions is invalid."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:870
- msgid ""
- "The @code{break} and @code{continue} builtins (@pxref{Bourne Shell "
- "Builtins}) may be used to control loop execution."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:873
- #, no-wrap
- msgid "commands, conditional"
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:876 ./bashref.texi:877
- #, no-wrap
- msgid "if"
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:878
- #, no-wrap
- msgid "then"
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:880
- #, no-wrap
- msgid "elif"
- msgstr ""
- #. type: table
- #: ./bashref.texi:883
- msgid "The syntax of the @code{if} command is:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:891
- #, no-wrap
- msgid ""
- "if @var{test-commands}; then\n"
- " @var{consequent-commands};\n"
- "[elif @var{more-test-commands}; then\n"
- " @var{more-consequents};]\n"
- "[else @var{alternate-consequents};]\n"
- "fi\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:904
- msgid ""
- "The @var{test-commands} list is executed, and if its return status is zero, "
- "the @var{consequent-commands} list is executed. If @var{test-commands} "
- "returns a non-zero status, each @code{elif} list is executed in turn, and if "
- "its exit status is zero, the corresponding @var{more-consequents} is "
- "executed and the command completes. If @samp{else "
- "@var{alternate-consequents}} is present, and the final command in the final "
- "@code{if} or @code{elif} clause has a non-zero exit status, then "
- "@var{alternate-consequents} is executed. The return status is the exit "
- "status of the last command executed, or zero if no condition tested true."
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:905 ./bashref.texi:906
- #, no-wrap
- msgid "case"
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:907
- #, no-wrap
- msgid "in"
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:908
- #, no-wrap
- msgid "esac"
- msgstr ""
- #. type: table
- #: ./bashref.texi:910
- msgid "The syntax of the @code{case} command is:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:915
- #, no-wrap
- msgid ""
- "case @var{word} in\n"
- " [ [(] @var{pattern} [| @var{pattern}]@dots{}) @var{command-list} "
- ";;]@dots{}\n"
- "esac\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:929
- msgid ""
- "@code{case} will selectively execute the @var{command-list} corresponding to "
- "the first @var{pattern} that matches @var{word}. The match is performed "
- "according to the rules described below in @ref{Pattern Matching}. If the "
- "@code{nocasematch} shell option (see the description of @code{shopt} in "
- "@ref{The Shopt Builtin}) is enabled, the match is performed without regard "
- "to the case of alphabetic characters. The @samp{|} is used to separate "
- "multiple patterns, and the @samp{)} operator terminates a pattern list. A "
- "list of patterns and an associated command-list is known as a @var{clause}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:937
- msgid ""
- "Each clause must be terminated with @samp{;;}, @samp{;&}, or @samp{;;&}. "
- "The @var{word} undergoes tilde expansion, parameter expansion, command "
- "substitution, arithmetic expansion, and quote removal (@pxref{Shell "
- "Parameter Expansion}) before matching is attempted. Each @var{pattern} "
- "undergoes tilde expansion, parameter expansion, command substitution, and "
- "arithmetic expansion."
- msgstr ""
- #. type: table
- #: ./bashref.texi:944
- msgid ""
- "There may be an arbitrary number of @code{case} clauses, each terminated by "
- "a @samp{;;}, @samp{;&}, or @samp{;;&}. The first pattern that matches "
- "determines the command-list that is executed. It's a common idiom to use "
- "@samp{*} as the final pattern to define the default case, since that pattern "
- "will always match."
- msgstr ""
- #. type: table
- #: ./bashref.texi:947
- msgid ""
- "Here is an example using @code{case} in a script that could be used to "
- "describe one interesting feature of an animal:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:958
- #, no-wrap
- msgid ""
- "echo -n \"Enter the name of an animal: \"\n"
- "read ANIMAL\n"
- "echo -n \"The $ANIMAL has \"\n"
- "case $ANIMAL in\n"
- " horse | dog | cat) echo -n \"four\";;\n"
- " man | kangaroo ) echo -n \"two\";;\n"
- " *) echo -n \"an unknown number of\";;\n"
- "esac\n"
- "echo \" legs.\"\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:970
- msgid ""
- "If the @samp{;;} operator is used, no subsequent matches are attempted after "
- "the first pattern match. Using @samp{;&} in place of @samp{;;} causes "
- "execution to continue with the @var{command-list} associated with the next "
- "clause, if any. Using @samp{;;&} in place of @samp{;;} causes the shell to "
- "test the patterns in the next clause, if any, and execute any associated "
- "@var{command-list} on a successful match, continuing the case statement "
- "execution as if the pattern list had not matched."
- msgstr ""
- #. type: table
- #: ./bashref.texi:973
- msgid ""
- "The return status is zero if no @var{pattern} is matched. Otherwise, the "
- "return status is the exit status of the @var{command-list} executed."
- msgstr ""
- #. type: table
- #: ./bashref.texi:979
- msgid ""
- "The @code{select} construct allows the easy generation of menus. It has "
- "almost the same syntax as the @code{for} command:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:982
- #, no-wrap
- msgid "select @var{name} [in @var{words} @dots{}]; do @var{commands}; done\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:997
- msgid ""
- "The list of words following @code{in} is expanded, generating a list of "
- "items. The set of expanded words is printed on the standard error output "
- "stream, each preceded by a number. If the @samp{in @var{words}} is omitted, "
- "the positional parameters are printed, as if @samp{in \"$@@\"} had been "
- "specified. The @env{PS3} prompt is then displayed and a line is read from "
- "the standard input. If the line consists of a number corresponding to one "
- "of the displayed words, then the value of @var{name} is set to that word. "
- "If the line is empty, the words and prompt are displayed again. If "
- "@code{EOF} is read, the @code{select} command completes. Any other value "
- "read causes @var{name} to be set to null. The line read is saved in the "
- "variable @env{REPLY}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:1001
- msgid ""
- "The @var{commands} are executed after each selection until a @code{break} "
- "command is executed, at which point the @code{select} command completes."
- msgstr ""
- #. type: table
- #: ./bashref.texi:1005
- msgid ""
- "Here is an example that allows the user to pick a filename from the current "
- "directory, and displays the name and index of the file selected."
- msgstr ""
- #. type: example
- #: ./bashref.texi:1012
- #, no-wrap
- msgid ""
- "select fname in *;\n"
- "do\n"
- "\techo you picked $fname \\($REPLY\\)\n"
- "\tbreak;\n"
- "done\n"
- msgstr ""
- #. type: item
- #: ./bashref.texi:1014
- #, no-wrap
- msgid "((@dots{}))"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1017
- #, no-wrap
- msgid "(( @var{expression} ))\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:1023
- msgid ""
- "The arithmetic @var{expression} is evaluated according to the rules "
- "described below (@pxref{Shell Arithmetic}). If the value of the expression "
- "is non-zero, the return status is 0; otherwise the return status is 1. This "
- "is exactly equivalent to"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1025
- #, no-wrap
- msgid "let \"@var{expression}\"\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:1028
- msgid "@xref{Bash Builtins}, for a full description of the @code{let} builtin."
- msgstr ""
- #. type: item
- #: ./bashref.texi:1029
- #, no-wrap
- msgid "[[@dots{}]]"
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:1030
- #, no-wrap
- msgid "[["
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:1031
- #, no-wrap
- msgid "]]"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1034
- #, no-wrap
- msgid "[[ @var{expression} ]]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:1046
- msgid ""
- "Return a status of 0 or 1 depending on the evaluation of the conditional "
- "expression @var{expression}. Expressions are composed of the primaries "
- "described below in @ref{Bash Conditional Expressions}. Word splitting and "
- "filename expansion are not performed on the words between the @code{[[} and "
- "@code{]]}; tilde expansion, parameter and variable expansion, arithmetic "
- "expansion, command substitution, process substitution, and quote removal are "
- "performed. Conditional operators such as @samp{-f} must be unquoted to be "
- "recognized as primaries."
- msgstr ""
- #. type: table
- #: ./bashref.texi:1049
- msgid ""
- "When used with @code{[[}, the @samp{<} and @samp{>} operators sort "
- "lexicographically using the current locale."
- msgstr ""
- #. type: table
- #: ./bashref.texi:1063
- msgid ""
- "When the @samp{==} and @samp{!=} operators are used, the string to the right "
- "of the operator is considered a pattern and matched according to the rules "
- "described below in @ref{Pattern Matching}, as if the @code{extglob} shell "
- "option were enabled. The @samp{=} operator is identical to @samp{==}. If "
- "the @code{nocasematch} shell option (see the description of @code{shopt} in "
- "@ref{The Shopt Builtin}) is enabled, the match is performed without regard "
- "to the case of alphabetic characters. The return value is 0 if the string "
- "matches (@samp{==}) or does not match (@samp{!=}) the pattern, and 1 "
- "otherwise. Any part of the pattern may be quoted to force the quoted "
- "portion to be matched as a string."
- msgstr ""
- #. type: table
- #: ./bashref.texi:1084
- msgid ""
- "An additional binary operator, @samp{=~}, is available, with the same "
- "precedence as @samp{==} and @samp{!=}. When it is used, the string to the "
- "right of the operator is considered a @sc{posix} extended regular expression "
- "and matched accordingly (using the @sc{posix} @code{regcomp} and "
- "@code{regexec} interfaces usually described in @i{regex}(3)). The return "
- "value is 0 if the string matches the pattern, and 1 otherwise. If the "
- "regular expression is syntactically incorrect, the conditional expression's "
- "return value is 2. If the @code{nocasematch} shell option (see the "
- "description of @code{shopt} in @ref{The Shopt Builtin}) is enabled, the "
- "match is performed without regard to the case of alphabetic characters. Any "
- "part of the pattern may be quoted to force the quoted portion to be matched "
- "as a string. Bracket expressions in regular expressions must be treated "
- "carefully, since normal quoting characters lose their meanings between "
- "brackets. If the pattern is stored in a shell variable, quoting the "
- "variable expansion forces the entire pattern to be matched as a string."
- msgstr ""
- #. type: table
- #: ./bashref.texi:1096
- msgid ""
- "The pattern will match if it matches any part of the string. Anchor the "
- "pattern using the @samp{^} and @samp{$} regular expression operators to "
- "force it to match the entire string. The array variable @code{BASH_REMATCH} "
- "records which parts of the string matched the pattern. The element of "
- "@code{BASH_REMATCH} with index 0 contains the portion of the string matching "
- "the entire regular expression. Substrings matched by parenthesized "
- "subexpressions within the regular expression are saved in the remaining "
- "@code{BASH_REMATCH} indices. The element of @code{BASH_REMATCH} with index "
- "@var{n} is the portion of the string matching the @var{n}th parenthesized "
- "subexpression."
- msgstr ""
- #. type: table
- #: ./bashref.texi:1103
- msgid ""
- "For example, the following will match a line (stored in the shell variable "
- "@var{line}) if there is a sequence of characters anywhere in the value "
- "consisting of any number, including zero, of characters in the @code{space} "
- "character class, zero or one instances of @samp{a}, then a @samp{b}:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1105
- #, no-wrap
- msgid "[[ $line =~ [[:space:]]*(a)?b ]]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:1110
- msgid ""
- "That means values like @samp{aab} and @samp{ aaaaaab} will match, as will a "
- "line containing a @samp{b} anywhere in its value."
- msgstr ""
- #. type: table
- #: ./bashref.texi:1119
- msgid ""
- "Storing the regular expression in a shell variable is often a useful way to "
- "avoid problems with quoting characters that are special to the shell. It is "
- "sometimes difficult to specify a regular expression literally without using "
- "quotes, or to keep track of the quoting used by regular expressions while "
- "paying attention to the shell's quote removal. Using a shell variable to "
- "store the pattern decreases these problems. For example, the following is "
- "equivalent to the above:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1122
- #, no-wrap
- msgid ""
- "pattern='[[:space:]]*(a)?b'\n"
- "[[ $line =~ $pattern ]]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:1134
- msgid ""
- "If you want to match a character that's special to the regular expression "
- "grammar, it has to be quoted to remove its special meaning. This means that "
- "in the pattern @samp{xxx.txt}, the @samp{.} matches any character in the "
- "string (its usual regular expression meaning), but in the pattern "
- "@samp{\"xxx.txt\"} it can only match a literal @samp{.}. Shell programmers "
- "should take special care with backslashes, since backslashes are used both "
- "by the shell and regular expressions to remove the special meaning from the "
- "following character. The following two sets of commands are @emph{not} "
- "equivalent:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1136
- #, no-wrap
- msgid ""
- "pattern='\\.'\n"
- "\n"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1139
- #, no-wrap
- msgid ""
- "[[ . =~ $pattern ]]\n"
- "[[ . =~ \\. ]]\n"
- "\n"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1142
- #, no-wrap
- msgid ""
- "[[ . =~ \"$pattern\" ]]\n"
- "[[ . =~ '\\.' ]]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:1152
- msgid ""
- "The first two matches will succeed, but the second two will not, because in "
- "the second two the backslash will be part of the pattern to be matched. In "
- "the first two examples, the backslash removes the special meaning from "
- "@samp{.}, so the literal @samp{.} matches. If the string in the first "
- "examples were anything other than @samp{.}, say @samp{a}, the pattern would "
- "not match, because the quoted @samp{.} in the pattern loses its special "
- "meaning of matching any single character."
- msgstr ""
- #. type: table
- #: ./bashref.texi:1155
- msgid ""
- "Expressions may be combined using the following operators, listed in "
- "decreasing order of precedence:"
- msgstr ""
- #. type: item
- #: ./bashref.texi:1157
- #, no-wrap
- msgid "( @var{expression} )"
- msgstr ""
- #. type: table
- #: ./bashref.texi:1160
- msgid ""
- "Returns the value of @var{expression}. This may be used to override the "
- "normal precedence of operators."
- msgstr ""
- #. type: item
- #: ./bashref.texi:1161
- #, no-wrap
- msgid "! @var{expression}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:1163
- msgid "True if @var{expression} is false."
- msgstr ""
- #. type: item
- #: ./bashref.texi:1164
- #, no-wrap
- msgid "@var{expression1} && @var{expression2}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:1166
- msgid "True if both @var{expression1} and @var{expression2} are true."
- msgstr ""
- #. type: item
- #: ./bashref.texi:1167
- #, no-wrap
- msgid "@var{expression1} || @var{expression2}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:1169
- msgid "True if either @var{expression1} or @var{expression2} is true."
- msgstr ""
- #. type: table
- #: ./bashref.texi:1175
- msgid ""
- "The @code{&&} and @code{||} operators do not evaluate @var{expression2} if "
- "the value of @var{expression1} is sufficient to determine the return value "
- "of the entire conditional expression."
- msgstr ""
- #. type: subsubsection
- #: ./bashref.texi:1178
- #, no-wrap
- msgid "Grouping Commands"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1179
- #, no-wrap
- msgid "commands, grouping"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1185
- msgid ""
- "Bash provides two ways to group a list of commands to be executed as a "
- "unit. When commands are grouped, redirections may be applied to the entire "
- "command list. For example, the output of all the commands in the list may "
- "be redirected to a single stream."
- msgstr ""
- #. type: item
- #: ./bashref.texi:1187
- #, no-wrap
- msgid "()"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1190
- #, no-wrap
- msgid "( @var{list} )\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:1197
- msgid ""
- "Placing a list of commands between parentheses causes a subshell environment "
- "to be created (@pxref{Command Execution Environment}), and each of the "
- "commands in @var{list} to be executed in that subshell. Since the "
- "@var{list} is executed in a subshell, variable assignments do not remain in "
- "effect after the subshell completes."
- msgstr ""
- #. type: item
- #: ./bashref.texi:1198
- #, no-wrap
- msgid "@{@}"
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:1199
- #, no-wrap
- msgid "@{"
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:1200
- #, no-wrap
- msgid "@}"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1203
- #, no-wrap
- msgid "@{ @var{list}; @}\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:1208
- msgid ""
- "Placing a list of commands between curly braces causes the list to be "
- "executed in the current shell context. No subshell is created. The "
- "semicolon (or newline) following @var{list} is required."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1217
- msgid ""
- "In addition to the creation of a subshell, there is a subtle difference "
- "between these two constructs due to historical reasons. The braces are "
- "@code{reserved words}, so they must be separated from the @var{list} by "
- "@code{blank}s or other shell metacharacters. The parentheses are "
- "@code{operators}, and are recognized as separate tokens by the shell even if "
- "they are not separated from the @var{list} by whitespace."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1220
- msgid ""
- "The exit status of both of these constructs is the exit status of "
- "@var{list}."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1223
- #, no-wrap
- msgid "coprocess"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1230
- msgid ""
- "A @code{coprocess} is a shell command preceded by the @code{coproc} reserved "
- "word. A coprocess is executed asynchronously in a subshell, as if the "
- "command had been terminated with the @samp{&} control operator, with a "
- "two-way pipe established between the executing shell and the coprocess."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1232
- msgid "The format for a coprocess is:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1234
- #, no-wrap
- msgid "coproc [@var{NAME}] @var{command} [@var{redirections}]\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1242
- msgid ""
- "This creates a coprocess named @var{NAME}. If @var{NAME} is not supplied, "
- "the default name is @var{COPROC}. @var{NAME} must not be supplied if "
- "@var{command} is a simple command (@pxref{Simple Commands}); otherwise, it "
- "is interpreted as the first word of the simple command."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1258
- msgid ""
- "When the coprocess is executed, the shell creates an array variable "
- "(@pxref{Arrays}) named @env{NAME} in the context of the executing shell. "
- "The standard output of @var{command} is connected via a pipe to a file "
- "descriptor in the executing shell, and that file descriptor is assigned to "
- "@env{NAME}[0]. The standard input of @var{command} is connected via a pipe "
- "to a file descriptor in the executing shell, and that file descriptor is "
- "assigned to @env{NAME}[1]. This pipe is established before any redirections "
- "specified by the command (@pxref{Redirections}). The file descriptors can "
- "be utilized as arguments to shell commands and redirections using standard "
- "word expansions. Other than those created to execute command and process "
- "substitutions, the file descriptors are not available in subshells."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1263
- msgid ""
- "The process ID of the shell spawned to execute the coprocess is available as "
- "the value of the variable @env{NAME}_PID. The @code{wait} builtin command "
- "may be used to wait for the coprocess to terminate."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1267
- msgid ""
- "Since the coprocess is created as an asynchronous command, the @code{coproc} "
- "command always returns success. The return status of a coprocess is the "
- "exit status of @var{command}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1273
- msgid ""
- "There are ways to run commands in parallel that are not built into Bash. "
- "GNU Parallel is a tool to do just that."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1281
- msgid ""
- "GNU Parallel, as its name suggests, can be used to build and run commands in "
- "parallel. You may run the same command with different arguments, whether "
- "they are filenames, usernames, hostnames, or lines read from files. GNU "
- "Parallel provides shorthand references to many of the most common operations "
- "(input lines, various portions of the input line, different ways to specify "
- "the input source, and so on). Parallel can replace @code{xargs} or feed "
- "commands from its input sources to several different instances of Bash."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1284
- msgid ""
- "For a complete description, refer to the GNU Parallel documentation. A few "
- "examples should provide a brief introduction to its use."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1287
- msgid ""
- "For example, it is easy to replace @code{xargs} to gzip all html files in "
- "the current directory and its subdirectories:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1289
- #, no-wrap
- msgid "find . -type f -name '*.html' -print | parallel gzip\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1293
- msgid ""
- "If you need to protect special characters such as newlines in file names, "
- "use find's @option{-print0} option and parallel's @option{-0} option."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1296
- msgid ""
- "You can use Parallel to move files from the current directory when the "
- "number of files is too large to process with one @code{mv} invocation:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1298
- #, no-wrap
- msgid "printf '%s\\n' * | parallel mv @{@} destdir\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1306
- msgid ""
- "As you can see, the @{@} is replaced with each line read from standard "
- "input. While using @code{ls} will work in most instances, it is not "
- "sufficient to deal with all filenames. @code{printf} is a shell builtin, and "
- "therefore is not subject to the kernel's limit on the number of arguments to "
- "a program, so you can use @samp{*} (but see below about the @code{dotglob} "
- "shell option). If you need to accommodate special characters in filenames, "
- "you can use"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1309
- #, no-wrap
- msgid "printf '%s\\0' * | parallel -0 mv @{@} destdir\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1313
- msgid "as alluded to above."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1317
- msgid ""
- "This will run as many @code{mv} commands as there are files in the current "
- "directory. You can emulate a parallel @code{xargs} by adding the "
- "@option{-X} option:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1319
- #, no-wrap
- msgid "printf '%s\\0' * | parallel -0 -X mv @{@} destdir\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1323
- msgid ""
- "(You may have to modify the pattern if you have the @code{dotglob} option "
- "enabled.)"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1326
- msgid ""
- "GNU Parallel can replace certain common idioms that operate on lines read "
- "from a file (in this case, filenames listed one per line):"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1331
- #, no-wrap
- msgid ""
- "\twhile IFS= read -r x; do\n"
- "\t\tdo-something1 \"$x\" \"config-$x\"\n"
- "\t\tdo-something2 < \"$x\"\n"
- "\tdone < file | process-output\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1335
- msgid "with a more compact syntax reminiscent of lambdas:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1338
- #, no-wrap
- msgid ""
- "cat list | parallel \"do-something1 @{@} config-@{@} ; do-something2 < "
- "@{@}\" |\n"
- " process-output\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1342
- msgid ""
- "Parallel provides a built-in mechanism to remove filename extensions, which "
- "lends itself to batch file transformations or renaming:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1344
- #, no-wrap
- msgid "ls *.gz | parallel -j+0 \"zcat @{@} | bzip2 >@{.@}.bz2 && rm @{@}\"\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1352
- msgid ""
- "This will recompress all files in the current directory with names ending in "
- ".gz using bzip2, running one job per CPU (-j+0) in parallel. (We use "
- "@code{ls} for brevity here; using @code{find} as above is more robust in the "
- "face of filenames containing unexpected characters.) Parallel can take "
- "arguments from the command line; the above can also be written as"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1355
- #, no-wrap
- msgid "parallel \"zcat @{@} | bzip2 >@{.@}.bz2 && rm @{@}\" ::: *.gz\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1359
- msgid ""
- "If a command generates output, you may want to preserve the input order in "
- "the output. For instance, the following command"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1365
- #, no-wrap
- msgid ""
- "@{\n"
- " echo foss.org.my ;\n"
- " echo debian.org ;\n"
- " echo freenetproject.org ;\n"
- "@} | parallel traceroute\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1369
- msgid ""
- "will display as output the traceroute invocation that finishes first. "
- "Adding the @option{-k} option"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1375
- #, no-wrap
- msgid ""
- "@{\n"
- " echo foss.org.my ;\n"
- " echo debian.org ;\n"
- " echo freenetproject.org ;\n"
- "@} | parallel -k traceroute\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1378
- msgid ""
- "will ensure that the output of @code{traceroute foss.org.my} is displayed "
- "first."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1385
- msgid ""
- "Finally, Parallel can be used to run a sequence of shell commands in "
- "parallel, similar to @samp{cat file | bash}. It is not uncommon to take a "
- "list of filenames, create a series of shell commands to operate on them, and "
- "feed that list of commands to a shell. Parallel can speed this up. "
- "Assuming that @file{file} contains a list of shell commands, one per line,"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1388
- #, no-wrap
- msgid "parallel -j 10 < file\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1393
- msgid ""
- "will evaluate the commands using the shell (since no explicit command is "
- "supplied as an argument), in blocks of ten shell jobs at a time."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1396
- #, no-wrap
- msgid "shell function"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1397
- #, no-wrap
- msgid "functions, shell"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1406
- msgid ""
- "Shell functions are a way to group commands for later execution using a "
- "single name for the group. They are executed just like a \"regular\" "
- "command. When the name of a shell function is used as a simple command "
- "name, the list of commands associated with that function name is executed. "
- "Shell functions are executed in the current shell context; no new process is "
- "created to interpret them."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1408
- msgid "Functions are declared using this syntax:"
- msgstr ""
- #. type: rwindex
- #: ./bashref.texi:1408
- #, no-wrap
- msgid "function"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1411
- #, no-wrap
- msgid "@var{fname} () @var{compound-command} [ @var{redirections} ]\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1414 ./bashref.texi:1912 ./bashref.texi:2402 ./bashref.texi:2465
- msgid "or"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1417
- #, no-wrap
- msgid "function @var{fname} [()] @var{compound-command} [ @var{redirections} ]\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1441
- msgid ""
- "This defines a shell function named @var{fname}. The reserved word "
- "@code{function} is optional. If the @code{function} reserved word is "
- "supplied, the parentheses are optional. The @var{body} of the function is "
- "the compound command @var{compound-command} (@pxref{Compound Commands}). "
- "That command is usually a @var{list} enclosed between @{ and @}, but may be "
- "any compound command listed above, with one exception: If the "
- "@code{function} reserved word is used, but the parentheses are not supplied, "
- "the braces are required. @var{compound-command} is executed whenever "
- "@var{fname} is specified as the name of a command. When the shell is in "
- "@sc{posix} mode (@pxref{Bash POSIX Mode}), @var{fname} must be a valid shell "
- "@var{name} and may not be the same as one of the special builtins "
- "(@pxref{Special Builtins}). In default mode, a function name can be any "
- "unquoted shell word that does not contain @samp{$}. Any redirections "
- "(@pxref{Redirections}) associated with the shell function are performed when "
- "the function is executed. A function definition may be deleted using the "
- "@option{-f} option to the @code{unset} builtin (@pxref{Bourne Shell "
- "Builtins})."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1446
- msgid ""
- "The exit status of a function definition is zero unless a syntax error "
- "occurs or a readonly function with the same name already exists. When "
- "executed, the exit status of a function is the exit status of the last "
- "command executed in the body."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1455
- msgid ""
- "Note that for historical reasons, in the most common usage the curly braces "
- "that surround the body of the function must be separated from the body by "
- "@code{blank}s or newlines. This is because the braces are reserved words "
- "and are only recognized as such when they are separated from the command "
- "list by whitespace or another shell metacharacter. Also, when using the "
- "braces, the @var{list} must be terminated by a semicolon, a @samp{&}, or a "
- "newline."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1464
- msgid ""
- "When a function is executed, the arguments to the function become the "
- "positional parameters during its execution (@pxref{Positional Parameters}). "
- "The special parameter @samp{#} that expands to the number of positional "
- "parameters is updated to reflect the change. Special parameter @code{0} is "
- "unchanged. The first element of the @env{FUNCNAME} variable is set to the "
- "name of the function while the function is executing."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1478
- msgid ""
- "All other aspects of the shell execution environment are identical between a "
- "function and its caller with these exceptions: the @env{DEBUG} and "
- "@env{RETURN} traps are not inherited unless the function has been given the "
- "@code{trace} attribute using the @code{declare} builtin or the @code{-o "
- "functrace} option has been enabled with the @code{set} builtin, (in which "
- "case all functions inherit the @env{DEBUG} and @env{RETURN} traps), and the "
- "@env{ERR} trap is not inherited unless the @code{-o errtrace} shell option "
- "has been enabled. @xref{Bourne Shell Builtins}, for the description of the "
- "@code{trap} builtin."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1483
- msgid ""
- "The @env{FUNCNEST} variable, if set to a numeric value greater than 0, "
- "defines a maximum function nesting level. Function invocations that exceed "
- "the limit cause the entire command to abort."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1497
- msgid ""
- "If the builtin command @code{return} is executed in a function, the function "
- "completes and execution resumes with the next command after the function "
- "call. Any command associated with the @code{RETURN} trap is executed before "
- "execution resumes. When a function completes, the values of the positional "
- "parameters and the special parameter @samp{#} are restored to the values "
- "they had prior to the function's execution. If a numeric argument is given "
- "to @code{return}, that is the function's return status; otherwise the "
- "function's return status is the exit status of the last command executed "
- "before the @code{return}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1502
- msgid ""
- "Variables local to the function may be declared with the @code{local} "
- "builtin. These variables are visible only to the function and the commands "
- "it invokes. This is particularly important when a shell function calls "
- "other functions."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1508
- msgid ""
- "Local variables \"shadow\" variables with the same name declared at previous "
- "scopes. For instance, a local variable declared in a function hides a "
- "global variable of the same name: references and assignments refer to the "
- "local variable, leaving the global variable unmodified. When the function "
- "returns, the global variable is once again visible."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1520
- msgid ""
- "The shell uses @var{dynamic scoping} to control a variable's visibility "
- "within functions. With dynamic scoping, visible variables and their values "
- "are a result of the sequence of function calls that caused execution to "
- "reach the current function. The value of a variable that a function sees "
- "depends on its value within its caller, if any, whether that caller is the "
- "\"global\" scope or another shell function. This is also the value that a "
- "local variable declaration \"shadows\", and the value that is restored when "
- "the function returns."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1526
- msgid ""
- "For example, if a variable @var{var} is declared as local in function "
- "@var{func1}, and @var{func1} calls another function @var{func2}, references "
- "to @var{var} made from within @var{func2} will resolve to the local variable "
- "@var{var} from @var{func1}, shadowing any global variable named @var{var}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1529
- msgid ""
- "The following script demonstrates this behavior. When executed, the script "
- "displays"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1532
- #, no-wrap
- msgid "In func2, var = func1 local\n"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1540
- #, no-wrap
- msgid ""
- "func1()\n"
- "@{\n"
- " local var='func1 local'\n"
- " func2\n"
- "@}\n"
- "\n"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1545
- #, no-wrap
- msgid ""
- "func2()\n"
- "@{\n"
- " echo \"In func2, var = $var\"\n"
- "@}\n"
- "\n"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1548
- #, no-wrap
- msgid ""
- "var=global\n"
- "func1\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1560
- msgid ""
- "The @code{unset} builtin also acts using the same dynamic scope: if a "
- "variable is local to the current scope, @code{unset} will unset it; "
- "otherwise the unset will refer to the variable found in any calling scope as "
- "described above. If a variable at the current local scope is unset, it will "
- "remain so until it is reset in that scope or until the function returns. "
- "Once the function returns, any instance of the variable at a previous scope "
- "will become visible. If the unset acts on a variable at a previous scope, "
- "any instance of a variable with that name that had been shadowed will become "
- "visible."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1572
- msgid ""
- "Function names and definitions may be listed with the @option{-f} option to "
- "the @code{declare} (@code{typeset}) builtin command (@pxref{Bash "
- "Builtins}). The @option{-F} option to @code{declare} or @code{typeset} will "
- "list the function names only (and optionally the source file and line "
- "number, if the @code{extdebug} shell option is enabled). Functions may be "
- "exported so that subshells automatically have them defined with the "
- "@option{-f} option to the @code{export} builtin (@pxref{Bourne Shell "
- "Builtins})."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1577
- msgid ""
- "Functions may be recursive. The @code{FUNCNEST} variable may be used to "
- "limit the depth of the function call stack and restrict the number of "
- "function invocations. By default, no limit is placed on the number of "
- "recursive calls."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1580
- #, no-wrap
- msgid "parameters"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1581
- #, no-wrap
- msgid "variable, shell"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1582
- #, no-wrap
- msgid "shell variable"
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:1587 ./bashref.texi:1679 ./bashref.texi:1680
- #, no-wrap
- msgid "Positional Parameters"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:1587
- msgid "The shell's command-line arguments."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:1587 ./bashref.texi:1699 ./bashref.texi:1700
- #, no-wrap
- msgid "Special Parameters"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:1587
- msgid "Parameters denoted by special characters."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1596
- msgid ""
- "A @var{parameter} is an entity that stores values. It can be a @code{name}, "
- "a number, or one of the special characters listed below. A @var{variable} "
- "is a parameter denoted by a @code{name}. A variable has a @var{value} and "
- "zero or more @var{attributes}. Attributes are assigned using the "
- "@code{declare} builtin command (see the description of the @code{declare} "
- "builtin in @ref{Bash Builtins})."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1600
- msgid ""
- "A parameter is set if it has been assigned a value. The null string is a "
- "valid value. Once a variable is set, it may be unset only by using the "
- "@code{unset} builtin command."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1602
- msgid "A variable may be assigned to by a statement of the form"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1604
- #, no-wrap
- msgid "@var{name}=[@var{value}]\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1624
- msgid ""
- "If @var{value} is not given, the variable is assigned the null string. All "
- "@var{value}s undergo tilde expansion, parameter and variable expansion, "
- "command substitution, arithmetic expansion, and quote removal (detailed "
- "below). If the variable has its @code{integer} attribute set, then "
- "@var{value} is evaluated as an arithmetic expression even if the "
- "@code{$((@dots{}))} expansion is not used (@pxref{Arithmetic Expansion}). "
- "Word splitting is not performed, with the exception of @code{\"$@@\"} as "
- "explained below. Filename expansion is not performed. Assignment "
- "statements may also appear as arguments to the @code{alias}, @code{declare}, "
- "@code{typeset}, @code{export}, @code{readonly}, and @code{local} builtin "
- "commands (@var{declaration} commands). When in @sc{posix} mode (@pxref{Bash "
- "POSIX Mode}), these builtins may appear in a command after one or more "
- "instances of the @code{command} builtin and retain these assignment "
- "statement properties."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1642
- msgid ""
- "In the context where an assignment statement is assigning a value to a shell "
- "variable or array index (@pxref{Arrays}), the @samp{+=} operator can be used "
- "to append to or add to the variable's previous value. This includes "
- "arguments to builtin commands such as @code{declare} that accept assignment "
- "statements (@var{declaration} commands). When @samp{+=} is applied to a "
- "variable for which the @var{integer} attribute has been set, @var{value} is "
- "evaluated as an arithmetic expression and added to the variable's current "
- "value, which is also evaluated. When @samp{+=} is applied to an array "
- "variable using compound assignment (@pxref{Arrays}), the variable's value is "
- "not unset (as it is when using @samp{=}), and new values are appended to the "
- "array beginning at one greater than the array's maximum index (for indexed "
- "arrays), or added as additional key-value pairs in an associative array. "
- "When applied to a string-valued variable, @var{value} is expanded and "
- "appended to the variable's value."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1657
- msgid ""
- "A variable can be assigned the @var{nameref} attribute using the @option{-n} "
- "option to the @code{declare} or @code{local} builtin commands (@pxref{Bash "
- "Builtins}) to create a @var{nameref}, or a reference to another variable. "
- "This allows variables to be manipulated indirectly. Whenever the nameref "
- "variable is referenced, assigned to, unset, or has its attributes modified "
- "(other than using or changing the nameref attribute itself), the operation "
- "is actually performed on the variable specified by the nameref variable's "
- "value. A nameref is commonly used within shell functions to refer to a "
- "variable whose name is passed as an argument to the function. For instance, "
- "if a variable name is passed to a shell function as its first argument, "
- "running"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1659
- #, no-wrap
- msgid "declare -n ref=$1\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1666
- msgid ""
- "inside the function creates a nameref variable @var{ref} whose value is the "
- "variable name passed as the first argument. References and assignments to "
- "@var{ref}, and changes to its attributes, are treated as references, "
- "assignments, and attribute modifications to the variable whose name was "
- "passed as @code{$1}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1678
- msgid ""
- "If the control variable in a @code{for} loop has the nameref attribute, the "
- "list of words can be a list of shell variables, and a name reference will be "
- "established for each word in the list, in turn, when the loop is executed. "
- "Array variables cannot be given the nameref attribute. However, nameref "
- "variables can reference array variables and subscripted array variables. "
- "Namerefs can be unset using the @option{-n} option to the @code{unset} "
- "builtin (@pxref{Bourne Shell Builtins}). Otherwise, if @code{unset} is "
- "executed with the name of a nameref variable as an argument, the variable "
- "referenced by the nameref variable will be unset."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1681
- #, no-wrap
- msgid "parameters, positional"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1695
- msgid ""
- "A @var{positional parameter} is a parameter denoted by one or more digits, "
- "other than the single digit @code{0}. Positional parameters are assigned "
- "from the shell's arguments when it is invoked, and may be reassigned using "
- "the @code{set} builtin command. Positional parameter @code{N} may be "
- "referenced as @code{$@{N@}}, or as @code{$N} when @code{N} consists of a "
- "single digit. Positional parameters may not be assigned to with assignment "
- "statements. The @code{set} and @code{shift} builtins are used to set and "
- "unset them (@pxref{Shell Builtin Commands}). The positional parameters are "
- "temporarily replaced when a shell function is executed (@pxref{Shell "
- "Functions})."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1698
- msgid ""
- "When a positional parameter consisting of more than a single digit is "
- "expanded, it must be enclosed in braces."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1701
- #, no-wrap
- msgid "parameters, special"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1705
- msgid ""
- "The shell treats several parameters specially. These parameters may only be "
- "referenced; assignment to them is not allowed."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1707 ./bashref.texi:5593 ./bashref.texi:5660 ./bashref.texi:8468
- msgid "@vtable @code"
- msgstr ""
- #. type: item
- #: ./bashref.texi:1708 ./bashref.texi:2610
- #, no-wrap
- msgid "*"
- msgstr ""
- #. type: vindex
- #: ./bashref.texi:1709
- #, no-wrap
- msgid "$*"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1724
- msgid ""
- "($*) Expands to the positional parameters, starting from one. When the "
- "expansion is not within double quotes, each positional parameter expands to "
- "a separate word. In contexts where it is performed, those words are subject "
- "to further word splitting and filename expansion. When the expansion occurs "
- "within double quotes, it expands to a single word with the value of each "
- "parameter separated by the first character of the @env{IFS} special "
- "variable. That is, @code{\"$*\"} is equivalent to "
- "@code{\"$1@var{c}$2@var{c}@dots{}\"}, where @var{c} is the first character "
- "of the value of the @code{IFS} variable. If @env{IFS} is unset, the "
- "parameters are separated by spaces. If @env{IFS} is null, the parameters "
- "are joined without intervening separators."
- msgstr ""
- #. type: item
- #: ./bashref.texi:1725
- #, no-wrap
- msgid "@@"
- msgstr ""
- #. type: vindex
- #: ./bashref.texi:1726
- #, no-wrap
- msgid "$@@"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1746
- msgid ""
- "($@@) Expands to the positional parameters, starting from one. In contexts "
- "where word splitting is performed, this expands each positional parameter to "
- "a separate word; if not within double quotes, these words are subject to "
- "word splitting. In contexts where word splitting is not performed, this "
- "expands to a single word with each positional parameter separated by a "
- "space. When the expansion occurs within double quotes, and word splitting "
- "is performed, each parameter expands to a separate word. That is, "
- "@code{\"$@@\"} is equivalent to @code{\"$1\" \"$2\" @dots{}}. If the "
- "double-quoted expansion occurs within a word, the expansion of the first "
- "parameter is joined with the beginning part of the original word, and the "
- "expansion of the last parameter is joined with the last part of the original "
- "word. When there are no positional parameters, @code{\"$@@\"} and "
- "@code{$@@} expand to nothing (i.e., they are removed)."
- msgstr ""
- #. type: item
- #: ./bashref.texi:1747
- #, no-wrap
- msgid "#"
- msgstr ""
- #. type: vindex
- #: ./bashref.texi:1748
- #, no-wrap
- msgid "$#"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1750
- msgid "($#) Expands to the number of positional parameters in decimal."
- msgstr ""
- #. type: item
- #: ./bashref.texi:1751 ./bashref.texi:2618
- #, no-wrap
- msgid "?"
- msgstr ""
- #. type: vindex
- #: ./bashref.texi:1752
- #, no-wrap
- msgid "$?"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1755
- msgid ""
- "($?) Expands to the exit status of the most recently executed foreground "
- "pipeline."
- msgstr ""
- #. type: item
- #: ./bashref.texi:1756 ./bashref.texi:5153
- #, no-wrap
- msgid "-"
- msgstr ""
- #. type: vindex
- #: ./bashref.texi:1757
- #, no-wrap
- msgid "$-"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1762
- msgid ""
- "($-, a hyphen.) Expands to the current option flags as specified upon "
- "invocation, by the @code{set} builtin command, or those set by the shell "
- "itself (such as the @option{-i} option)."
- msgstr ""
- #. type: item
- #: ./bashref.texi:1763
- #, no-wrap
- msgid "$"
- msgstr ""
- #. type: vindex
- #: ./bashref.texi:1764
- #, no-wrap
- msgid "$$"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1767
- msgid ""
- "($$) Expands to the process @sc{id} of the shell. In a @code{()} subshell, "
- "it expands to the process @sc{id} of the invoking shell, not the subshell."
- msgstr ""
- #. type: vindex
- #: ./bashref.texi:1769
- #, no-wrap
- msgid "$!"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1773
- msgid ""
- "($!) Expands to the process @sc{id} of the job most recently placed into the "
- "background, whether executed as an asynchronous command or using the "
- "@code{bg} builtin (@pxref{Job Control Builtins})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:1774
- #, no-wrap
- msgid "0"
- msgstr ""
- #. type: vindex
- #: ./bashref.texi:1775
- #, no-wrap
- msgid "$0"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1783
- msgid ""
- "($0) Expands to the name of the shell or shell script. This is set at shell "
- "initialization. If Bash is invoked with a file of commands (@pxref{Shell "
- "Scripts}), @code{$0} is set to the name of that file. If Bash is started "
- "with the @option{-c} option (@pxref{Invoking Bash}), then @code{$0} is set "
- "to the first argument after the string to be executed, if one is present. "
- "Otherwise, it is set to the filename used to invoke Bash, as given by "
- "argument zero."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1787
- #, no-wrap
- msgid "expansion"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1791
- msgid ""
- "Expansion is performed on the command line after it has been split into "
- "@code{token}s. There are seven kinds of expansion performed:"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1793 ./bashref.texi:1847
- #, no-wrap
- msgid "brace expansion"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1794 ./bashref.texi:1918
- #, no-wrap
- msgid "tilde expansion"
- msgstr ""
- #. type: item
- #: ./bashref.texi:1795
- #, no-wrap
- msgid "parameter and variable expansion"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1796 ./bashref.texi:2392
- #, no-wrap
- msgid "command substitution"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1797 ./bashref.texi:2432
- #, no-wrap
- msgid "arithmetic expansion"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1798 ./bashref.texi:2490
- #, no-wrap
- msgid "word splitting"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1799 ./bashref.texi:2539
- #, no-wrap
- msgid "filename expansion"
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:1815 ./bashref.texi:1845 ./bashref.texi:1846
- #, no-wrap
- msgid "Brace Expansion"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:1815
- msgid "Expansion of expressions within braces."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:1815 ./bashref.texi:1916 ./bashref.texi:1917
- #, no-wrap
- msgid "Tilde Expansion"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:1815
- msgid "Expansion of the ~ character."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:1815 ./bashref.texi:1992 ./bashref.texi:1993
- #, no-wrap
- msgid "Shell Parameter Expansion"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:1815
- msgid "How Bash expands variables to their values."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:1815 ./bashref.texi:2390 ./bashref.texi:2391
- #, no-wrap
- msgid "Command Substitution"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:1815
- msgid "Using the output of a command as an argument."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:1815 ./bashref.texi:2429 ./bashref.texi:2430
- #, no-wrap
- msgid "Arithmetic Expansion"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:1815
- msgid "How to use arithmetic in shell expansions."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:1815 ./bashref.texi:2453 ./bashref.texi:2454
- #, no-wrap
- msgid "Process Substitution"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:1815
- msgid "A way to write and read to and from a command."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:1815 ./bashref.texi:2488 ./bashref.texi:2489
- #, no-wrap
- msgid "Word Splitting"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:1815
- msgid "How the results of expansion are split into separate arguments."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:1815 ./bashref.texi:2532 ./bashref.texi:2533
- #, no-wrap
- msgid "Filename Expansion"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:1815
- msgid "A shorthand for specifying filenames matching patterns."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:1815 ./bashref.texi:2696 ./bashref.texi:2697
- #, no-wrap
- msgid "Quote Removal"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:1815
- msgid "How and when quote characters are removed from words."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1823
- msgid ""
- "The order of expansions is: brace expansion; tilde expansion, parameter and "
- "variable expansion, arithmetic expansion, and command substitution (done in "
- "a left-to-right fashion); word splitting; and filename expansion."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1829
- msgid ""
- "On systems that can support it, there is an additional expansion available: "
- "@var{process substitution}. This is performed at the same time as tilde, "
- "parameter, variable, and arithmetic expansion and command substitution."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1833
- msgid ""
- "After these expansions are performed, quote characters present in the "
- "original word are removed unless they have been quoted themselves "
- "(@var{quote removal})."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1841
- msgid ""
- "Only brace expansion, word splitting, and filename expansion can increase "
- "the number of words of the expansion; other expansions expand a single word "
- "to a single word. The only exceptions to this are the expansions of "
- "@code{\"$@@\"} and @code{$*} (@pxref{Special Parameters}), and "
- "@code{\"$@{@var{name}[@@]@}\"} and @code{$@{@var{name}[*]@}} "
- "(@pxref{Arrays})."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1844
- msgid ""
- "After all expansions, @code{quote removal} (@pxref{Quote Removal}) is "
- "performed."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1848
- #, no-wrap
- msgid "expansion, brace"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1861
- msgid ""
- "Brace expansion is a mechanism by which arbitrary strings may be generated. "
- "This mechanism is similar to @var{filename expansion} (@pxref{Filename "
- "Expansion}), but the filenames generated need not exist. Patterns to be "
- "brace expanded take the form of an optional @var{preamble}, followed by "
- "either a series of comma-separated strings or a sequence expression between "
- "a pair of braces, followed by an optional @var{postscript}. The preamble is "
- "prefixed to each string contained within the braces, and the postscript is "
- "then appended to each resulting string, expanding left to right."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1866
- msgid ""
- "Brace expansions may be nested. The results of each expanded string are not "
- "sorted; left to right order is preserved. For example,"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1869
- #, no-wrap
- msgid ""
- "bash$ echo a@{d,c,b@}e\n"
- "ade ace abe\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1887
- msgid ""
- "A sequence expression takes the form "
- "@code{@{@var{x}..@var{y}[..@var{incr}]@}}, where @var{x} and @var{y} are "
- "either integers or single characters, and @var{incr}, an optional increment, "
- "is an integer. When integers are supplied, the expression expands to each "
- "number between @var{x} and @var{y}, inclusive. Supplied integers may be "
- "prefixed with @samp{0} to force each term to have the same width. When "
- "either @var{x} or @var{y} begins with a zero, the shell attempts to force "
- "all generated terms to contain the same number of digits, zero-padding where "
- "necessary. When characters are supplied, the expression expands to each "
- "character lexicographically between @var{x} and @var{y}, inclusive, using "
- "the default C locale. Note that both @var{x} and @var{y} must be of the "
- "same type. When the increment is supplied, it is used as the difference "
- "between each term. The default increment is 1 or -1 as appropriate."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1893
- msgid ""
- "Brace expansion is performed before any other expansions, and any characters "
- "special to other expansions are preserved in the result. It is strictly "
- "textual. Bash does not apply any syntactic interpretation to the context of "
- "the expansion or the text between the braces."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1898
- msgid ""
- "A correctly-formed brace expansion must contain unquoted opening and closing "
- "braces, and at least one unquoted comma or a valid sequence expression. Any "
- "incorrectly formed brace expansion is left unchanged."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1904
- msgid ""
- "A @{ or @samp{,} may be quoted with a backslash to prevent its being "
- "considered part of a brace expression. To avoid conflicts with parameter "
- "expansion, the string @samp{$@{} is not considered eligible for brace "
- "expansion, and inhibits brace expansion until the closing @samp{@}}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1908
- msgid ""
- "This construct is typically used as shorthand when the common prefix of the "
- "strings to be generated is longer than in the above example:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1910
- #, no-wrap
- msgid "mkdir /usr/local/src/bash/@{old,new,dist,bugs@}\n"
- msgstr ""
- #. type: example
- #: ./bashref.texi:1914
- #, no-wrap
- msgid "chown root /usr/@{ucb/@{ex,edit@},lib/@{ex?.?*,how_ex@}@}\n"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1919
- #, no-wrap
- msgid "expansion, tilde"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1933
- msgid ""
- "If a word begins with an unquoted tilde character (@samp{~}), all of the "
- "characters up to the first unquoted slash (or all characters, if there is no "
- "unquoted slash) are considered a @var{tilde-prefix}. If none of the "
- "characters in the tilde-prefix are quoted, the characters in the "
- "tilde-prefix following the tilde are treated as a possible @var{login "
- "name}. If this login name is the null string, the tilde is replaced with "
- "the value of the @env{HOME} shell variable. If @env{HOME} is unset, the "
- "home directory of the user executing the shell is substituted instead. "
- "Otherwise, the tilde-prefix is replaced with the home directory associated "
- "with the specified login name."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1938
- msgid ""
- "If the tilde-prefix is @samp{~+}, the value of the shell variable @env{PWD} "
- "replaces the tilde-prefix. If the tilde-prefix is @samp{~-}, the value of "
- "the shell variable @env{OLDPWD}, if it is set, is substituted."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1947
- msgid ""
- "If the characters following the tilde in the tilde-prefix consist of a "
- "number @var{N}, optionally prefixed by a @samp{+} or a @samp{-}, the "
- "tilde-prefix is replaced with the corresponding element from the directory "
- "stack, as it would be displayed by the @code{dirs} builtin invoked with the "
- "characters following tilde in the tilde-prefix as an argument (@pxref{The "
- "Directory Stack}). If the tilde-prefix, sans the tilde, consists of a "
- "number without a leading @samp{+} or @samp{-}, @samp{+} is assumed."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1950
- msgid ""
- "If the login name is invalid, or the tilde expansion fails, the word is left "
- "unchanged."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1957
- msgid ""
- "Each variable assignment is checked for unquoted tilde-prefixes immediately "
- "following a @samp{:} or the first @samp{=}. In these cases, tilde expansion "
- "is also performed. Consequently, one may use filenames with tildes in "
- "assignments to @env{PATH}, @env{MAILPATH}, and @env{CDPATH}, and the shell "
- "assigns the expanded value."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1959
- msgid "The following table shows how Bash treats unquoted tilde-prefixes:"
- msgstr ""
- #. type: item
- #: ./bashref.texi:1961
- #, no-wrap
- msgid "~"
- msgstr ""
- #. type: table
- #: ./bashref.texi:1963
- msgid "The value of @code{$HOME}"
- msgstr ""
- #. type: item
- #: ./bashref.texi:1963
- #, no-wrap
- msgid "~/foo"
- msgstr ""
- #. type: file{#1}
- #: ./bashref.texi:1965
- msgid "$HOME/foo"
- msgstr ""
- #. type: item
- #: ./bashref.texi:1966
- #, no-wrap
- msgid "~fred/foo"
- msgstr ""
- #. type: table
- #: ./bashref.texi:1969
- msgid "The subdirectory @code{foo} of the home directory of the user @code{fred}"
- msgstr ""
- #. type: item
- #: ./bashref.texi:1970
- #, no-wrap
- msgid "~+/foo"
- msgstr ""
- #. type: file{#1}
- #: ./bashref.texi:1972
- msgid "$PWD/foo"
- msgstr ""
- #. type: item
- #: ./bashref.texi:1973
- #, no-wrap
- msgid "~-/foo"
- msgstr ""
- #. type: file{#1}
- #: ./bashref.texi:1975
- msgid "$@{OLDPWD-'~-'@}/foo"
- msgstr ""
- #. type: item
- #: ./bashref.texi:1976
- #, no-wrap
- msgid "~@var{N}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:1978 ./bashref.texi:1981
- msgid "The string that would be displayed by @samp{dirs +@var{N}}"
- msgstr ""
- #. type: item
- #: ./bashref.texi:1979
- #, no-wrap
- msgid "~+@var{N}"
- msgstr ""
- #. type: item
- #: ./bashref.texi:1982
- #, no-wrap
- msgid "~-@var{N}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:1984
- msgid "The string that would be displayed by @samp{dirs -@var{N}}"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:1991
- msgid ""
- "Bash also performs tilde expansion on words satisfying the conditions of "
- "variable assignments (@pxref{Shell Parameters}) when they appear as "
- "arguments to simple commands. Bash does not do this, except for the "
- "@var{declaration} commands listed above, when in @sc{posix} mode."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1994
- #, no-wrap
- msgid "parameter expansion"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:1995
- #, no-wrap
- msgid "expansion, parameter"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2003
- msgid ""
- "The @samp{$} character introduces parameter expansion, command substitution, "
- "or arithmetic expansion. The parameter name or symbol to be expanded may be "
- "enclosed in braces, which are optional but serve to protect the variable to "
- "be expanded from characters immediately following it which could be "
- "interpreted as part of the name."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2008
- msgid ""
- "When braces are used, the matching ending brace is the first @samp{@}} not "
- "escaped by a backslash or within a quoted string, and not within an embedded "
- "arithmetic expansion, command substitution, or parameter expansion."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2017
- msgid ""
- "The basic form of parameter expansion is $@{@var{parameter}@}. The value of "
- "@var{parameter} is substituted. The @var{parameter} is a shell parameter as "
- "described above (@pxref{Shell Parameters}) or an array reference "
- "(@pxref{Arrays}). The braces are required when @var{parameter} is a "
- "positional parameter with more than one digit, or when @var{parameter} is "
- "followed by a character that is not to be interpreted as part of its name."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2036
- msgid ""
- "If the first character of @var{parameter} is an exclamation point (!), and "
- "@var{parameter} is not a @var{nameref}, it introduces a level of "
- "indirection. Bash uses the value formed by expanding the rest of "
- "@var{parameter} as the new @var{parameter}; this is then expanded and that "
- "value is used in the rest of the expansion, rather than the expansion of the "
- "original @var{parameter}. This is known as @code{indirect expansion}. The "
- "value is subject to tilde expansion, parameter expansion, command "
- "substitution, and arithmetic expansion. If @var{parameter} is a nameref, "
- "this expands to the name of the variable referenced by @var{parameter} "
- "instead of performing the complete indirect expansion. The exceptions to "
- "this are the expansions of $@{!@var{prefix}*@} and $@{!@var{name}[@@]@} "
- "described below. The exclamation point must immediately follow the left "
- "brace in order to introduce indirection."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2039
- msgid ""
- "In each of the cases below, @var{word} is subject to tilde expansion, "
- "parameter expansion, command substitution, and arithmetic expansion."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2046
- msgid ""
- "When not performing substring expansion, using the form described below "
- "(e.g., @samp{:-}), Bash tests for a parameter that is unset or null. "
- "Omitting the colon results in a test only for a parameter that is unset. "
- "Put another way, if the colon is included, the operator tests for both "
- "@var{parameter}'s existence and that its value is not null; if the colon is "
- "omitted, the operator tests only for existence."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2049
- #, no-wrap
- msgid "$@{@var{parameter}:@minus{}@var{word}@}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2053
- msgid ""
- "If @var{parameter} is unset or null, the expansion of @var{word} is "
- "substituted. Otherwise, the value of @var{parameter} is substituted."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2054
- #, no-wrap
- msgid "$@{@var{parameter}:=@var{word}@}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2061
- msgid ""
- "If @var{parameter} is unset or null, the expansion of @var{word} is assigned "
- "to @var{parameter}. The value of @var{parameter} is then substituted. "
- "Positional parameters and special parameters may not be assigned to in this "
- "way."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2062
- #, no-wrap
- msgid "$@{@var{parameter}:?@var{word}@}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2069
- msgid ""
- "If @var{parameter} is null or unset, the expansion of @var{word} (or a "
- "message to that effect if @var{word} is not present) is written to the "
- "standard error and the shell, if it is not interactive, exits. Otherwise, "
- "the value of @var{parameter} is substituted."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2070
- #, no-wrap
- msgid "$@{@var{parameter}:+@var{word}@}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2074
- msgid ""
- "If @var{parameter} is null or unset, nothing is substituted, otherwise the "
- "expansion of @var{word} is substituted."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2075
- #, no-wrap
- msgid "$@{@var{parameter}:@var{offset}@}"
- msgstr ""
- #. type: itemx
- #: ./bashref.texi:2076
- #, no-wrap
- msgid "$@{@var{parameter}:@var{offset}:@var{length}@}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2088
- msgid ""
- "This is referred to as Substring Expansion. It expands to up to "
- "@var{length} characters of the value of @var{parameter} starting at the "
- "character specified by @var{offset}. If @var{parameter} is @samp{@@}, an "
- "indexed array subscripted by @samp{@@} or @samp{*}, or an associative array "
- "name, the results differ as described below. If @var{length} is omitted, it "
- "expands to the substring of the value of @var{parameter} starting at the "
- "character specified by @var{offset} and extending to the end of the value. "
- "@var{length} and @var{offset} are arithmetic expressions (@pxref{Shell "
- "Arithmetic})."
- msgstr ""
- #. type: table
- #: ./bashref.texi:2099
- msgid ""
- "If @var{offset} evaluates to a number less than zero, the value is used as "
- "an offset in characters from the end of the value of @var{parameter}. If "
- "@var{length} evaluates to a number less than zero, it is interpreted as an "
- "offset in characters from the end of the value of @var{parameter} rather "
- "than a number of characters, and the expansion is the characters between "
- "@var{offset} and that result. Note that a negative offset must be separated "
- "from the colon by at least one space to avoid being confused with the "
- "@samp{:-} expansion."
- msgstr ""
- #. type: table
- #: ./bashref.texi:2102
- msgid ""
- "Here are some examples illustrating substring expansion on parameters and "
- "subscripted arrays:"
- msgstr ""
- #. type: verbatim
- #: ./bashref.texi:2108
- #, no-wrap
- msgid ""
- "$ string=01234567890abcdefgh\n"
- "$ echo ${string:7}\n"
- "7890abcdefgh\n"
- "$ echo ${string:7:0}\n"
- "\n"
- msgstr ""
- #. type: verbatim
- #: ./bashref.texi:2116
- #, no-wrap
- msgid ""
- "$ echo ${string:7:2}\n"
- "78\n"
- "$ echo ${string:7:-2}\n"
- "7890abcdef\n"
- "$ echo ${string: -7}\n"
- "bcdefgh\n"
- "$ echo ${string: -7:0}\n"
- "\n"
- msgstr ""
- #. type: verbatim
- #: ./bashref.texi:2125
- #, no-wrap
- msgid ""
- "$ echo ${string: -7:2}\n"
- "bc\n"
- "$ echo ${string: -7:-2}\n"
- "bcdef\n"
- "$ set -- 01234567890abcdefgh\n"
- "$ echo ${1:7}\n"
- "7890abcdefgh\n"
- "$ echo ${1:7:0}\n"
- "\n"
- msgstr ""
- #. type: verbatim
- #: ./bashref.texi:2133
- #, no-wrap
- msgid ""
- "$ echo ${1:7:2}\n"
- "78\n"
- "$ echo ${1:7:-2}\n"
- "7890abcdef\n"
- "$ echo ${1: -7}\n"
- "bcdefgh\n"
- "$ echo ${1: -7:0}\n"
- "\n"
- msgstr ""
- #. type: verbatim
- #: ./bashref.texi:2142
- #, no-wrap
- msgid ""
- "$ echo ${1: -7:2}\n"
- "bc\n"
- "$ echo ${1: -7:-2}\n"
- "bcdef\n"
- "$ array[0]=01234567890abcdefgh\n"
- "$ echo ${array[0]:7}\n"
- "7890abcdefgh\n"
- "$ echo ${array[0]:7:0}\n"
- "\n"
- msgstr ""
- #. type: verbatim
- #: ./bashref.texi:2150
- #, no-wrap
- msgid ""
- "$ echo ${array[0]:7:2}\n"
- "78\n"
- "$ echo ${array[0]:7:-2}\n"
- "7890abcdef\n"
- "$ echo ${array[0]: -7}\n"
- "bcdefgh\n"
- "$ echo ${array[0]: -7:0}\n"
- "\n"
- msgstr ""
- #. type: verbatim
- #: ./bashref.texi:2155
- #, no-wrap
- msgid ""
- "$ echo ${array[0]: -7:2}\n"
- "bc\n"
- "$ echo ${array[0]: -7:-2}\n"
- "bcdef\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2163
- msgid ""
- "If @var{parameter} is @samp{@@}, the result is @var{length} positional "
- "parameters beginning at @var{offset}. A negative @var{offset} is taken "
- "relative to one greater than the greatest positional parameter, so an offset "
- "of -1 evaluates to the last positional parameter. It is an expansion error "
- "if @var{length} evaluates to a number less than zero."
- msgstr ""
- #. type: table
- #: ./bashref.texi:2166
- msgid ""
- "The following examples illustrate substring expansion using positional "
- "parameters:"
- msgstr ""
- #. type: verbatim
- #: ./bashref.texi:2172
- #, no-wrap
- msgid ""
- "$ set -- 1 2 3 4 5 6 7 8 9 0 a b c d e f g h\n"
- "$ echo ${@:7}\n"
- "7 8 9 0 a b c d e f g h\n"
- "$ echo ${@:7:0}\n"
- "\n"
- msgstr ""
- #. type: verbatim
- #: ./bashref.texi:2184
- #, no-wrap
- msgid ""
- "$ echo ${@:7:2}\n"
- "7 8\n"
- "$ echo ${@:7:-2}\n"
- "bash: -2: substring expression < 0\n"
- "$ echo ${@: -7:2}\n"
- "b c\n"
- "$ echo ${@:0}\n"
- "./bash 1 2 3 4 5 6 7 8 9 0 a b c d e f g h\n"
- "$ echo ${@:0:2}\n"
- "./bash 1\n"
- "$ echo ${@: -7:0}\n"
- "\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2193
- msgid ""
- "If @var{parameter} is an indexed array name subscripted by @samp{@@} or "
- "@samp{*}, the result is the @var{length} members of the array beginning with "
- "@code{$@{@var{parameter}[@var{offset}]@}}. A negative @var{offset} is taken "
- "relative to one greater than the maximum index of the specified array. It "
- "is an expansion error if @var{length} evaluates to a number less than zero."
- msgstr ""
- #. type: table
- #: ./bashref.texi:2196
- msgid "These examples show how you can use substring expansion with indexed arrays:"
- msgstr ""
- #. type: verbatim
- #: ./bashref.texi:2212
- #, no-wrap
- msgid ""
- "$ array=(0 1 2 3 4 5 6 7 8 9 0 a b c d e f g h)\n"
- "$ echo ${array[@]:7}\n"
- "7 8 9 0 a b c d e f g h\n"
- "$ echo ${array[@]:7:2}\n"
- "7 8\n"
- "$ echo ${array[@]: -7:2}\n"
- "b c\n"
- "$ echo ${array[@]: -7:-2}\n"
- "bash: -2: substring expression < 0\n"
- "$ echo ${array[@]:0}\n"
- "0 1 2 3 4 5 6 7 8 9 0 a b c d e f g h\n"
- "$ echo ${array[@]:0:2}\n"
- "0 1\n"
- "$ echo ${array[@]: -7:0}\n"
- "\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2217
- msgid ""
- "Substring expansion applied to an associative array produces undefined "
- "results."
- msgstr ""
- #. type: table
- #: ./bashref.texi:2222
- msgid ""
- "Substring indexing is zero-based unless the positional parameters are used, "
- "in which case the indexing starts at 1 by default. If @var{offset} is 0, "
- "and the positional parameters are used, @code{$0} is prefixed to the list."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2223
- #, no-wrap
- msgid "$@{!@var{prefix}*@}"
- msgstr ""
- #. type: itemx
- #: ./bashref.texi:2224
- #, no-wrap
- msgid "$@{!@var{prefix}@@@}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2229
- msgid ""
- "Expands to the names of variables whose names begin with @var{prefix}, "
- "separated by the first character of the @env{IFS} special variable. When "
- "@samp{@@} is used and the expansion appears within double quotes, each "
- "variable name expands to a separate word."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2230
- #, no-wrap
- msgid "$@{!@var{name}[@@]@}"
- msgstr ""
- #. type: itemx
- #: ./bashref.texi:2231
- #, no-wrap
- msgid "$@{!@var{name}[*]@}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2238
- msgid ""
- "If @var{name} is an array variable, expands to the list of array indices "
- "(keys) assigned in @var{name}. If @var{name} is not an array, expands to 0 "
- "if @var{name} is set and null otherwise. When @samp{@@} is used and the "
- "expansion appears within double quotes, each key expands to a separate word."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2239
- #, no-wrap
- msgid "$@{#@var{parameter}@}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2251
- msgid ""
- "The length in characters of the expanded value of @var{parameter} is "
- "substituted. If @var{parameter} is @samp{*} or @samp{@@}, the value "
- "substituted is the number of positional parameters. If @var{parameter} is "
- "an array name subscripted by @samp{*} or @samp{@@}, the value substituted is "
- "the number of elements in the array. If @var{parameter} is an indexed array "
- "name subscripted by a negative number, that number is interpreted as "
- "relative to one greater than the maximum index of @var{parameter}, so "
- "negative indices count back from the end of the array, and an index of -1 "
- "references the last element."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2252
- #, no-wrap
- msgid "$@{@var{parameter}#@var{word}@}"
- msgstr ""
- #. type: itemx
- #: ./bashref.texi:2253
- #, no-wrap
- msgid "$@{@var{parameter}##@var{word}@}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2268
- msgid ""
- "The @var{word} is expanded to produce a pattern and matched according to the "
- "rules described below (@pxref{Pattern Matching}). If the pattern matches "
- "the beginning of the expanded value of @var{parameter}, then the result of "
- "the expansion is the expanded value of @var{parameter} with the shortest "
- "matching pattern (the @samp{#} case) or the longest matching pattern (the "
- "@samp{##} case) deleted. If @var{parameter} is @samp{@@} or @samp{*}, the "
- "pattern removal operation is applied to each positional parameter in turn, "
- "and the expansion is the resultant list. If @var{parameter} is an array "
- "variable subscripted with @samp{@@} or @samp{*}, the pattern removal "
- "operation is applied to each member of the array in turn, and the expansion "
- "is the resultant list."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2269
- #, no-wrap
- msgid "$@{@var{parameter}%@var{word}@}"
- msgstr ""
- #. type: itemx
- #: ./bashref.texi:2270
- #, no-wrap
- msgid "$@{@var{parameter}%%@var{word}@}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2285
- msgid ""
- "The @var{word} is expanded to produce a pattern and matched according to the "
- "rules described below (@pxref{Pattern Matching}). If the pattern matches a "
- "trailing portion of the expanded value of @var{parameter}, then the result "
- "of the expansion is the value of @var{parameter} with the shortest matching "
- "pattern (the @samp{%} case) or the longest matching pattern (the @samp{%%} "
- "case) deleted. If @var{parameter} is @samp{@@} or @samp{*}, the pattern "
- "removal operation is applied to each positional parameter in turn, and the "
- "expansion is the resultant list. If @var{parameter} is an array variable "
- "subscripted with @samp{@@} or @samp{*}, the pattern removal operation is "
- "applied to each member of the array in turn, and the expansion is the "
- "resultant list."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2286
- #, no-wrap
- msgid "$@{@var{parameter}/@var{pattern}/@var{string}@}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2313
- msgid ""
- "The @var{pattern} is expanded to produce a pattern just as in filename "
- "expansion. @var{Parameter} is expanded and the longest match of "
- "@var{pattern} against its value is replaced with @var{string}. The match is "
- "performed according to the rules described below (@pxref{Pattern "
- "Matching}). If @var{pattern} begins with @samp{/}, all matches of "
- "@var{pattern} are replaced with @var{string}. Normally only the first match "
- "is replaced. If @var{pattern} begins with @samp{#}, it must match at the "
- "beginning of the expanded value of @var{parameter}. If @var{pattern} begins "
- "with @samp{%}, it must match at the end of the expanded value of "
- "@var{parameter}. If @var{string} is null, matches of @var{pattern} are "
- "deleted and the @code{/} following @var{pattern} may be omitted. If the "
- "@code{nocasematch} shell option (see the description of @code{shopt} in "
- "@ref{The Shopt Builtin}) is enabled, the match is performed without regard "
- "to the case of alphabetic characters. If @var{parameter} is @samp{@@} or "
- "@samp{*}, the substitution operation is applied to each positional parameter "
- "in turn, and the expansion is the resultant list. If @var{parameter} is an "
- "array variable subscripted with @samp{@@} or @samp{*}, the substitution "
- "operation is applied to each member of the array in turn, and the expansion "
- "is the resultant list."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2314
- #, no-wrap
- msgid "$@{@var{parameter}^@var{pattern}@}"
- msgstr ""
- #. type: itemx
- #: ./bashref.texi:2315
- #, no-wrap
- msgid "$@{@var{parameter}^^@var{pattern}@}"
- msgstr ""
- #. type: itemx
- #: ./bashref.texi:2316
- #, no-wrap
- msgid "$@{@var{parameter},@var{pattern}@}"
- msgstr ""
- #. type: itemx
- #: ./bashref.texi:2317
- #, no-wrap
- msgid "$@{@var{parameter},,@var{pattern}@}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2339
- msgid ""
- "This expansion modifies the case of alphabetic characters in "
- "@var{parameter}. The @var{pattern} is expanded to produce a pattern just as "
- "in filename expansion. Each character in the expanded value of "
- "@var{parameter} is tested against @var{pattern}, and, if it matches the "
- "pattern, its case is converted. The pattern should not attempt to match "
- "more than one character. The @samp{^} operator converts lowercase letters "
- "matching @var{pattern} to uppercase; the @samp{,} operator converts matching "
- "uppercase letters to lowercase. The @samp{^^} and @samp{,,} expansions "
- "convert each matched character in the expanded value; the @samp{^} and "
- "@samp{,} expansions match and convert only the first character in the "
- "expanded value. If @var{pattern} is omitted, it is treated like a @samp{?}, "
- "which matches every character. If @var{parameter} is @samp{@@} or @samp{*}, "
- "the case modification operation is applied to each positional parameter in "
- "turn, and the expansion is the resultant list. If @var{parameter} is an "
- "array variable subscripted with @samp{@@} or @samp{*}, the case modification "
- "operation is applied to each member of the array in turn, and the expansion "
- "is the resultant list."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2340
- #, no-wrap
- msgid "$@{@var{parameter}@@@var{operator}@}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2344
- msgid ""
- "The expansion is either a transformation of the value of @var{parameter} or "
- "information about @var{parameter} itself, depending on the value of "
- "@var{operator}. Each @var{operator} is a single letter:"
- msgstr ""
- #. type: item
- #: ./bashref.texi:2346
- #, no-wrap
- msgid "U"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2349
- msgid ""
- "The expansion is a string that is the value of @var{parameter} with "
- "lowercase alphabetic characters converted to uppercase."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2349
- #, no-wrap
- msgid "u"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2352
- msgid ""
- "The expansion is a string that is the value of @var{parameter} with the "
- "first character converted to uppercase, if it is alphabetic."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2352
- #, no-wrap
- msgid "L"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2355
- msgid ""
- "The expansion is a string that is the value of @var{parameter} with "
- "uppercase alphabetic characters converted to lowercase."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2355
- #, no-wrap
- msgid "Q"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2358
- msgid ""
- "The expansion is a string that is the value of @var{parameter} quoted in a "
- "format that can be reused as input."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2358
- #, no-wrap
- msgid "E"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2361
- msgid ""
- "The expansion is a string that is the value of @var{parameter} with "
- "backslash escape sequences expanded as with the @code{$'@dots{}'} quoting "
- "mechanism."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2361
- #, no-wrap
- msgid "P"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2364
- msgid ""
- "The expansion is a string that is the result of expanding the value of "
- "@var{parameter} as if it were a prompt string (@pxref{Controlling the "
- "Prompt})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2364
- #, no-wrap
- msgid "A"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2368
- msgid ""
- "The expansion is a string in the form of an assignment statement or "
- "@code{declare} command that, if evaluated, will recreate @var{parameter} "
- "with its attributes and value."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2368
- #, no-wrap
- msgid "K"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2373
- msgid ""
- "Produces a possibly-quoted version of the value of @var{parameter}, except "
- "that it prints the values of indexed and associative arrays as a sequence of "
- "quoted key-value pairs (@pxref{Arrays})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2373
- #, no-wrap
- msgid "a"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2376
- msgid ""
- "The expansion is a string consisting of flag values representing "
- "@var{parameter}'s attributes."
- msgstr ""
- #. type: table
- #: ./bashref.texi:2385
- msgid ""
- "If @var{parameter} is @samp{@@} or @samp{*}, the operation is applied to "
- "each positional parameter in turn, and the expansion is the resultant list. "
- "If @var{parameter} is an array variable subscripted with @samp{@@} or "
- "@samp{*}, the operation is applied to each member of the array in turn, and "
- "the expansion is the resultant list."
- msgstr ""
- #. type: table
- #: ./bashref.texi:2388
- msgid ""
- "The result of the expansion is subject to word splitting and filename "
- "expansion as described below."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2397
- msgid ""
- "Command substitution allows the output of a command to replace the command "
- "itself. Command substitution occurs when a command is enclosed as follows:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2399
- #, no-wrap
- msgid "$(@var{command})\n"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2404
- #, no-wrap
- msgid "`@var{command}`\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2414
- msgid ""
- "Bash performs the expansion by executing @var{command} in a subshell "
- "environment and replacing the command substitution with the standard output "
- "of the command, with any trailing newlines deleted. Embedded newlines are "
- "not deleted, but they may be removed during word splitting. The command "
- "substitution @code{$(cat @var{file})} can be replaced by the equivalent but "
- "faster @code{$(< @var{file})}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2422
- msgid ""
- "When the old-style backquote form of substitution is used, backslash retains "
- "its literal meaning except when followed by @samp{$}, @samp{`}, or "
- "@samp{\\}. The first backquote not preceded by a backslash terminates the "
- "command substitution. When using the @code{$(@var{command})} form, all "
- "characters between the parentheses make up the command; none are treated "
- "specially."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2425
- msgid ""
- "Command substitutions may be nested. To nest when using the backquoted "
- "form, escape the inner backquotes with backslashes."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2428
- msgid ""
- "If the substitution appears within double quotes, word splitting and "
- "filename expansion are not performed on the results."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:2431
- #, no-wrap
- msgid "expansion, arithmetic"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2436
- msgid ""
- "Arithmetic expansion allows the evaluation of an arithmetic expression and "
- "the substitution of the result. The format for arithmetic expansion is:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2439
- #, no-wrap
- msgid "$(( @var{expression} ))\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2447
- msgid ""
- "The expression is treated as if it were within double quotes, but a double "
- "quote inside the parentheses is not treated specially. All tokens in the "
- "expression undergo parameter and variable expansion, command substitution, "
- "and quote removal. The result is treated as the arithmetic expression to be "
- "evaluated. Arithmetic expansions may be nested."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2452
- msgid ""
- "The evaluation is performed according to the rules listed below "
- "(@pxref{Shell Arithmetic}). If the expression is invalid, Bash prints a "
- "message indicating failure to the standard error and no substitution occurs."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:2455
- #, no-wrap
- msgid "process substitution"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2460
- msgid ""
- "Process substitution allows a process's input or output to be referred to "
- "using a filename. It takes the form of"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2462
- #, no-wrap
- msgid "<(@var{list})\n"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2467
- #, no-wrap
- msgid ">(@var{list})\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2483
- msgid ""
- "The process @var{list} is run asynchronously, and its input or output "
- "appears as a filename. This filename is passed as an argument to the "
- "current command as the result of the expansion. If the @code{>(@var{list})} "
- "form is used, writing to the file will provide input for @var{list}. If the "
- "@code{<(@var{list})} form is used, the file passed as an argument should be "
- "read to obtain the output of @var{list}. Note that no space may appear "
- "between the @code{<} or @code{>} and the left parenthesis, otherwise the "
- "construct would be interpreted as a redirection. Process substitution is "
- "supported on systems that support named pipes (@sc{fifo}s) or the "
- "@file{/dev/fd} method of naming open files."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2487
- msgid ""
- "When available, process substitution is performed simultaneously with "
- "parameter and variable expansion, command substitution, and arithmetic "
- "expansion."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2495
- msgid ""
- "The shell scans the results of parameter expansion, command substitution, "
- "and arithmetic expansion that did not occur within double quotes for word "
- "splitting."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2515
- msgid ""
- "The shell treats each character of @env{$IFS} as a delimiter, and splits the "
- "results of the other expansions into words using these characters as field "
- "terminators. If @env{IFS} is unset, or its value is exactly "
- "@code{<space><tab><newline>}, the default, then sequences of @code{ "
- "<space>}, @code{<tab>}, and @code{<newline>} at the beginning and end of the "
- "results of the previous expansions are ignored, and any sequence of "
- "@env{IFS} characters not at the beginning or end serves to delimit words. "
- "If @env{IFS} has a value other than the default, then sequences of the "
- "whitespace characters @code{space}, @code{tab}, and @code{newline} are "
- "ignored at the beginning and end of the word, as long as the whitespace "
- "character is in the value of @env{IFS} (an @env{IFS} whitespace character). "
- "Any character in @env{IFS} that is not @env{IFS} whitespace, along with any "
- "adjacent @env{IFS} whitespace characters, delimits a field. A sequence of "
- "@env{IFS} whitespace characters is also treated as a delimiter. If the "
- "value of @env{IFS} is null, no word splitting occurs."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2528
- msgid ""
- "Explicit null arguments (@code{\"\"} or @code{''}) are retained and passed "
- "to commands as empty strings. Unquoted implicit null arguments, resulting "
- "from the expansion of parameters that have no values, are removed. If a "
- "parameter with no value is expanded within double quotes, a null argument "
- "results and is retained and passed to a command as an empty string. When a "
- "quoted null argument appears as part of a word whose expansion is non-null, "
- "the null argument is removed. That is, the word @code{-d''} becomes "
- "@code{-d} after word splitting and null argument removal."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2531
- msgid "Note that if no expansion occurs, no splitting is performed."
- msgstr ""
- #. type: subsubsection
- #: ./bashref.texi:2536 ./bashref.texi:2595 ./bashref.texi:2596
- #, no-wrap
- msgid "Pattern Matching"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:2536
- msgid "How the shell matches patterns."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:2537
- #, no-wrap
- msgid "expansion, filename"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:2538
- #, no-wrap
- msgid "expansion, pathname"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:2540
- #, no-wrap
- msgid "pathname expansion"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2558
- msgid ""
- "After word splitting, unless the @option{-f} option has been set (@pxref{The "
- "Set Builtin}), Bash scans each word for the characters @samp{*}, @samp{?}, "
- "and @samp{[}. If one of these characters appears, and is not quoted, then "
- "the word is regarded as a @var{pattern}, and replaced with an alphabetically "
- "sorted list of filenames matching the pattern (@pxref{Pattern Matching}). "
- "If no matching filenames are found, and the shell option @code{nullglob} is "
- "disabled, the word is left unchanged. If the @code{nullglob} option is set, "
- "and no matches are found, the word is removed. If the @code{failglob} shell "
- "option is set, and no matches are found, an error message is printed and the "
- "command is not executed. If the shell option @code{nocaseglob} is enabled, "
- "the match is performed without regard to the case of alphabetic characters."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2565
- msgid ""
- "When a pattern is used for filename expansion, the character @samp{.} at the "
- "start of a filename or immediately following a slash must be matched "
- "explicitly, unless the shell option @code{dotglob} is set. The filenames "
- "@samp{.} and @samp{..} must always be matched explicitly, even if "
- "@code{dotglob} is set. In other cases, the @samp{.} character is not "
- "treated specially."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2570
- msgid ""
- "When matching a filename, the slash character must always be matched "
- "explicitly by a slash in the pattern, but in other matching contexts it can "
- "be matched by a special pattern character as described below (@pxref{Pattern "
- "Matching})."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2574
- msgid ""
- "See the description of @code{shopt} in @ref{The Shopt Builtin}, for a "
- "description of the @code{nocaseglob}, @code{nullglob}, @code{failglob}, and "
- "@code{dotglob} options."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2594
- msgid ""
- "The @env{GLOBIGNORE} shell variable may be used to restrict the set of file "
- "names matching a pattern. If @env{GLOBIGNORE} is set, each matching file "
- "name that also matches one of the patterns in @env{GLOBIGNORE} is removed "
- "from the list of matches. If the @code{nocaseglob} option is set, the "
- "matching against the patterns in @env{GLOBIGNORE} is performed without "
- "regard to case. The filenames @file{.} and @file{..} are always ignored "
- "when @env{GLOBIGNORE} is set and not null. However, setting "
- "@env{GLOBIGNORE} to a non-null value has the effect of enabling the "
- "@code{dotglob} shell option, so all other filenames beginning with a "
- "@samp{.} will match. To get the old behavior of ignoring filenames "
- "beginning with a @samp{.}, make @samp{.*} one of the patterns in "
- "@env{GLOBIGNORE}. The @code{dotglob} option is disabled when "
- "@env{GLOBIGNORE} is unset."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:2597
- #, no-wrap
- msgid "pattern matching"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:2598
- #, no-wrap
- msgid "matching, pattern"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2607
- msgid ""
- "Any character that appears in a pattern, other than the special pattern "
- "characters described below, matches itself. The @sc{nul} character may not "
- "occur in a pattern. A backslash escapes the following character; the "
- "escaping backslash is discarded when matching. The special pattern "
- "characters must be quoted if they are to be matched literally."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2609
- msgid "The special pattern characters have the following meanings:"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2618
- msgid ""
- "Matches any string, including the null string. When the @code{globstar} "
- "shell option is enabled, and @samp{*} is used in a filename expansion "
- "context, two adjacent @samp{*}s used as a single pattern will match all "
- "files and zero or more directories and subdirectories. If followed by a "
- "@samp{/}, two adjacent @samp{*}s will match only directories and "
- "subdirectories."
- msgstr ""
- #. type: table
- #: ./bashref.texi:2620
- msgid "Matches any single character."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2620
- #, no-wrap
- msgid "[@dots{}]"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2634
- msgid ""
- "Matches any one of the enclosed characters. A pair of characters separated "
- "by a hyphen denotes a @var{range expression}; any character that falls "
- "between those two characters, inclusive, using the current locale's "
- "collating sequence and character set, is matched. If the first character "
- "following the @samp{[} is a @samp{!} or a @samp{^} then any character not "
- "enclosed is matched. A @samp{@minus{}} may be matched by including it as "
- "the first or last character in the set. A @samp{]} may be matched by "
- "including it as the first character in the set. The sorting order of "
- "characters in range expressions is determined by the current locale and the "
- "values of the @env{LC_COLLATE} and @env{LC_ALL} shell variables, if set."
- msgstr ""
- #. type: table
- #: ./bashref.texi:2643
- msgid ""
- "For example, in the default C locale, @samp{[a-dx-z]} is equivalent to "
- "@samp{[abcdxyz]}. Many locales sort characters in dictionary order, and in "
- "these locales @samp{[a-dx-z]} is typically not equivalent to "
- "@samp{[abcdxyz]}; it might be equivalent to @samp{[aBbCcDdxXyYz]}, for "
- "example. To obtain the traditional interpretation of ranges in bracket "
- "expressions, you can force the use of the C locale by setting the "
- "@env{LC_COLLATE} or @env{LC_ALL} environment variable to the value @samp{C}, "
- "or enable the @code{globasciiranges} shell option."
- msgstr ""
- #. type: table
- #: ./bashref.texi:2648
- msgid ""
- "Within @samp{[} and @samp{]}, @var{character classes} can be specified using "
- "the syntax @code{[:}@var{class}@code{:]}, where @var{class} is one of the "
- "following classes defined in the @sc{posix} standard:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2651
- #, no-wrap
- msgid ""
- "alnum alpha ascii blank cntrl digit graph lower\n"
- "print punct space upper word xdigit\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2656
- msgid ""
- "A character class matches any character belonging to that class. The "
- "@code{word} character class matches letters, digits, and the character "
- "@samp{_}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:2661
- msgid ""
- "Within @samp{[} and @samp{]}, an @var{equivalence class} can be specified "
- "using the syntax @code{[=}@var{c}@code{=]}, which matches all characters "
- "with the same collation weight (as defined by the current locale) as the "
- "character @var{c}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:2664
- msgid ""
- "Within @samp{[} and @samp{]}, the syntax @code{[.}@var{symbol}@code{.]} "
- "matches the collating symbol @var{symbol}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2672
- msgid ""
- "If the @code{extglob} shell option is enabled using the @code{shopt} "
- "builtin, several extended pattern matching operators are recognized. In the "
- "following description, a @var{pattern-list} is a list of one or more "
- "patterns separated by a @samp{|}. Composite patterns may be formed using "
- "one or more of the following sub-patterns:"
- msgstr ""
- #. type: item
- #: ./bashref.texi:2674
- #, no-wrap
- msgid "?(@var{pattern-list})"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2676
- msgid "Matches zero or one occurrence of the given patterns."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2677
- #, no-wrap
- msgid "*(@var{pattern-list})"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2679
- msgid "Matches zero or more occurrences of the given patterns."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2680
- #, no-wrap
- msgid "+(@var{pattern-list})"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2682
- msgid "Matches one or more occurrences of the given patterns."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2683
- #, no-wrap
- msgid "@@(@var{pattern-list})"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2685
- msgid "Matches one of the given patterns."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2686
- #, no-wrap
- msgid "!(@var{pattern-list})"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2688
- msgid "Matches anything except one of the given patterns."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2695
- msgid ""
- "Complicated extended pattern matching against long strings is slow, "
- "especially when the patterns contain alternations and the strings contain "
- "multiple matches. Using separate matches against shorter strings, or using "
- "arrays of strings instead of a single long string, may be faster."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2702
- msgid ""
- "After the preceding expansions, all unquoted occurrences of the characters "
- "@samp{\\}, @samp{'}, and @samp{\"} that did not result from one of the above "
- "expansions are removed."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:2705
- #, no-wrap
- msgid "redirection"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2720
- msgid ""
- "Before a command is executed, its input and output may be @var{redirected} "
- "using a special notation interpreted by the shell. Redirection allows "
- "commands' file handles to be duplicated, opened, closed, made to refer to "
- "different files, and can change the files the command reads from and writes "
- "to. Redirection may also be used to modify file handles in the current "
- "shell execution environment. The following redirection operators may "
- "precede or appear anywhere within a simple command or may follow a command. "
- "Redirections are processed in the order they appear, from left to right."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2731
- msgid ""
- "Each redirection that may be preceded by a file descriptor number may "
- "instead be preceded by a word of the form @{@var{varname}@}. In this case, "
- "for each redirection operator except >&- and <&-, the shell will allocate a "
- "file descriptor greater than 10 and assign it to @{@var{varname}@}. If >&- "
- "or <&- is preceded by @{@var{varname}@}, the value of @var{varname} defines "
- "the file descriptor to close. If @{@var{varname}@} is supplied, the "
- "redirection persists beyond the scope of the command, allowing the shell "
- "programmer to manage the file descriptor's lifetime manually."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2738
- msgid ""
- "In the following descriptions, if the file descriptor number is omitted, and "
- "the first character of the redirection operator is @samp{<}, the redirection "
- "refers to the standard input (file descriptor 0). If the first character of "
- "the redirection operator is @samp{>}, the redirection refers to the standard "
- "output (file descriptor 1)."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2744
- msgid ""
- "The word following the redirection operator in the following descriptions, "
- "unless otherwise noted, is subjected to brace expansion, tilde expansion, "
- "parameter expansion, command substitution, arithmetic expansion, quote "
- "removal, filename expansion, and word splitting. If it expands to more than "
- "one word, Bash reports an error."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2747
- msgid ""
- "Note that the order of redirections is significant. For example, the "
- "command"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2749
- #, no-wrap
- msgid "ls > @var{dirlist} 2>&1\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2753
- msgid ""
- "directs both standard output (file descriptor 1) and standard error (file "
- "descriptor 2) to the file @var{dirlist}, while the command"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2755
- #, no-wrap
- msgid "ls 2>&1 > @var{dirlist}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2760
- msgid ""
- "directs only the standard output to file @var{dirlist}, because the standard "
- "error was made a copy of the standard output before the standard output was "
- "redirected to @var{dirlist}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2766
- msgid ""
- "Bash handles several filenames specially when they are used in redirections, "
- "as described in the following table. If the operating system on which Bash "
- "is running provides these special files, bash will use them; otherwise it "
- "will emulate them internally with the behavior described below."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2768
- #, no-wrap
- msgid "/dev/fd/@var{fd}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2770
- msgid "If @var{fd} is a valid integer, file descriptor @var{fd} is duplicated."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2771
- #, no-wrap
- msgid "/dev/stdin"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2773
- msgid "File descriptor 0 is duplicated."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2774
- #, no-wrap
- msgid "/dev/stdout"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2776
- msgid "File descriptor 1 is duplicated."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2777
- #, no-wrap
- msgid "/dev/stderr"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2779
- msgid "File descriptor 2 is duplicated."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2780
- #, no-wrap
- msgid "/dev/tcp/@var{host}/@var{port}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2784
- msgid ""
- "If @var{host} is a valid hostname or Internet address, and @var{port} is an "
- "integer port number or service name, Bash attempts to open the corresponding "
- "TCP socket."
- msgstr ""
- #. type: item
- #: ./bashref.texi:2785
- #, no-wrap
- msgid "/dev/udp/@var{host}/@var{port}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:2789
- msgid ""
- "If @var{host} is a valid hostname or Internet address, and @var{port} is an "
- "integer port number or service name, Bash attempts to open the corresponding "
- "UDP socket."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2792
- msgid "A failure to open or create a file causes the redirection to fail."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2796
- msgid ""
- "Redirections using file descriptors greater than 9 should be used with care, "
- "as they may conflict with file descriptors the shell uses internally."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:2797
- #, no-wrap
- msgid "Redirecting Input"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2803
- msgid ""
- "Redirection of input causes the file whose name results from the expansion "
- "of @var{word} to be opened for reading on file descriptor @code{n}, or the "
- "standard input (file descriptor 0) if @code{n} is not specified."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2805
- msgid "The general format for redirecting input is:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2807
- #, no-wrap
- msgid "[@var{n}]<@var{word}\n"
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:2809
- #, no-wrap
- msgid "Redirecting Output"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2816
- msgid ""
- "Redirection of output causes the file whose name results from the expansion "
- "of @var{word} to be opened for writing on file descriptor @var{n}, or the "
- "standard output (file descriptor 1) if @var{n} is not specified. If the "
- "file does not exist it is created; if it does exist it is truncated to zero "
- "size."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2818
- msgid "The general format for redirecting output is:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2820
- #, no-wrap
- msgid "[@var{n}]>[|]@var{word}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2829
- msgid ""
- "If the redirection operator is @samp{>}, and the @code{noclobber} option to "
- "the @code{set} builtin has been enabled, the redirection will fail if the "
- "file whose name results from the expansion of @var{word} exists and is a "
- "regular file. If the redirection operator is @samp{>|}, or the redirection "
- "operator is @samp{>} and the @code{noclobber} option is not enabled, the "
- "redirection is attempted even if the file named by @var{word} exists."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:2830
- #, no-wrap
- msgid "Appending Redirected Output"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2837
- msgid ""
- "Redirection of output in this fashion causes the file whose name results "
- "from the expansion of @var{word} to be opened for appending on file "
- "descriptor @var{n}, or the standard output (file descriptor 1) if @var{n} is "
- "not specified. If the file does not exist it is created."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2839
- msgid "The general format for appending output is:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2841
- #, no-wrap
- msgid "[@var{n}]>>@var{word}\n"
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:2843
- #, no-wrap
- msgid "Redirecting Standard Output and Standard Error"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2849
- msgid ""
- "This construct allows both the standard output (file descriptor 1) and the "
- "standard error output (file descriptor 2) to be redirected to the file "
- "whose name is the expansion of @var{word}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2852
- msgid "There are two formats for redirecting standard output and standard error:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2854
- #, no-wrap
- msgid "&>@var{word}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2857
- msgid "and"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2859
- #, no-wrap
- msgid ">&@var{word}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2863
- msgid ""
- "Of the two forms, the first is preferred. This is semantically equivalent "
- "to"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2865
- #, no-wrap
- msgid ">@var{word} 2>&1\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2869
- msgid ""
- "When using the second form, @var{word} may not expand to a number or "
- "@samp{-}. If it does, other redirection operators apply (see Duplicating "
- "File Descriptors below) for compatibility reasons."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:2870
- #, no-wrap
- msgid "Appending Standard Output and Standard Error"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2876
- msgid ""
- "This construct allows both the standard output (file descriptor 1) and the "
- "standard error output (file descriptor 2) to be appended to the file whose "
- "name is the expansion of @var{word}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2878
- msgid "The format for appending standard output and standard error is:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2880
- #, no-wrap
- msgid "&>>@var{word}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2883
- msgid "This is semantically equivalent to"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2885
- #, no-wrap
- msgid ">>@var{word} 2>&1\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2887
- msgid "(see Duplicating File Descriptors below)."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:2888
- #, no-wrap
- msgid "Here Documents"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2894
- msgid ""
- "This type of redirection instructs the shell to read input from the current "
- "source until a line containing only @var{word} (with no trailing blanks) is "
- "seen. All of the lines read up to that point are then used as the standard "
- "input (or file descriptor @var{n} if @var{n} is specified) for a command."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2896
- msgid "The format of here-documents is:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2900
- #, no-wrap
- msgid ""
- "[@var{n}]<<[@minus{}]@var{word}\n"
- " @var{here-document}\n"
- "@var{delimiter}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2913
- msgid ""
- "No parameter and variable expansion, command substitution, arithmetic "
- "expansion, or filename expansion is performed on @var{word}. If any part of "
- "@var{word} is quoted, the @var{delimiter} is the result of quote removal on "
- "@var{word}, and the lines in the here-document are not expanded. If "
- "@var{word} is unquoted, all lines of the here-document are subjected to "
- "parameter expansion, command substitution, and arithmetic expansion, the "
- "character sequence @code{\\newline} is ignored, and @samp{\\} must be used "
- "to quote the characters @samp{\\}, @samp{$}, and @samp{`}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2919
- msgid ""
- "If the redirection operator is @samp{<<-}, then all leading tab characters "
- "are stripped from input lines and the line containing @var{delimiter}. This "
- "allows here-documents within shell scripts to be indented in a natural "
- "fashion."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:2920
- #, no-wrap
- msgid "Here Strings"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2922
- msgid "A variant of here documents, the format is:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2924
- #, no-wrap
- msgid "[@var{n}]<<< @var{word}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2934
- msgid ""
- "The @var{word} undergoes tilde expansion, parameter and variable expansion, "
- "command substitution, arithmetic expansion, and quote removal. Filename "
- "expansion and word splitting are not performed. The result is supplied as a "
- "single string, with a newline appended, to the command on its standard input "
- "(or file descriptor @var{n} if @var{n} is specified)."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:2935
- #, no-wrap
- msgid "Duplicating File Descriptors"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2937 ./bashref.texi:2968 ./bashref.texi:2986
- msgid "The redirection operator"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2939
- #, no-wrap
- msgid "[@var{n}]<&@var{word}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2950
- msgid ""
- "is used to duplicate input file descriptors. If @var{word} expands to one "
- "or more digits, the file descriptor denoted by @var{n} is made to be a copy "
- "of that file descriptor. If the digits in @var{word} do not specify a file "
- "descriptor open for input, a redirection error occurs. If @var{word} "
- "evaluates to @samp{-}, file descriptor @var{n} is closed. If @var{n} is not "
- "specified, the standard input (file descriptor 0) is used."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2952
- msgid "The operator"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2954
- #, no-wrap
- msgid "[@var{n}]>&@var{word}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2965
- msgid ""
- "is used similarly to duplicate output file descriptors. If @var{n} is not "
- "specified, the standard output (file descriptor 1) is used. If the digits "
- "in @var{word} do not specify a file descriptor open for output, a "
- "redirection error occurs. If @var{word} evaluates to @samp{-}, file "
- "descriptor @var{n} is closed. As a special case, if @var{n} is omitted, and "
- "@var{word} does not expand to one or more digits or @samp{-}, the standard "
- "output and standard error are redirected as described previously."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:2966
- #, no-wrap
- msgid "Moving File Descriptors"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2970
- #, no-wrap
- msgid "[@var{n}]<&@var{digit}-\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2975
- msgid ""
- "moves the file descriptor @var{digit} to file descriptor @var{n}, or the "
- "standard input (file descriptor 0) if @var{n} is not specified. @var{digit} "
- "is closed after being duplicated to @var{n}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2977
- msgid "Similarly, the redirection operator"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2979
- #, no-wrap
- msgid "[@var{n}]>&@var{digit}-\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2983
- msgid ""
- "moves the file descriptor @var{digit} to file descriptor @var{n}, or the "
- "standard output (file descriptor 1) if @var{n} is not specified."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:2984
- #, no-wrap
- msgid "Opening File Descriptors for Reading and Writing"
- msgstr ""
- #. type: example
- #: ./bashref.texi:2988
- #, no-wrap
- msgid "[@var{n}]<>@var{word}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:2994
- msgid ""
- "causes the file whose name is the expansion of @var{word} to be opened for "
- "both reading and writing on file descriptor @var{n}, or on file descriptor 0 "
- "if @var{n} is not specified. If the file does not exist, it is created."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:3010 ./bashref.texi:3012 ./bashref.texi:3013
- #, no-wrap
- msgid "Simple Command Expansion"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:3010
- msgid "How Bash expands simple commands before executing them."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:3010 ./bashref.texi:3058 ./bashref.texi:3059
- #, no-wrap
- msgid "Command Search and Execution"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:3010
- msgid "How Bash finds commands and runs them."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:3010 ./bashref.texi:3115 ./bashref.texi:3116
- #, no-wrap
- msgid "Command Execution Environment"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:3010
- msgid "The environment in which Bash executes commands that are not shell builtins."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:3010 ./bashref.texi:3211 ./bashref.texi:3212
- #, no-wrap
- msgid "Environment"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:3010
- msgid "The environment given to a command."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:3010 ./bashref.texi:3249 ./bashref.texi:3250
- #, no-wrap
- msgid "Exit Status"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:3010
- msgid "The status returned by commands and how Bash interprets it."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:3010 ./bashref.texi:3287 ./bashref.texi:3288
- #, no-wrap
- msgid "Signals"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:3010
- msgid "What happens when Bash or a command it runs receives a signal."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:3014
- #, no-wrap
- msgid "command expansion"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3019
- msgid ""
- "When a simple command is executed, the shell performs the following "
- "expansions, assignments, and redirections, from left to right, in the "
- "following order."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:3025
- msgid ""
- "The words that the parser has marked as variable assignments (those "
- "preceding the command name) and redirections are saved for later processing."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:3032
- msgid ""
- "The words that are not variable assignments or redirections are expanded "
- "(@pxref{Shell Expansions}). If any words remain after expansion, the first "
- "word is taken to be the name of the command and the remaining words are the "
- "arguments."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:3035
- msgid "Redirections are performed as described above (@pxref{Redirections})."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:3040
- msgid ""
- "The text after the @samp{=} in each variable assignment undergoes tilde "
- "expansion, parameter expansion, command substitution, arithmetic expansion, "
- "and quote removal before being assigned to the variable."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3047
- msgid ""
- "If no command name results, the variable assignments affect the current "
- "shell environment. Otherwise, the variables are added to the environment of "
- "the executed command and do not affect the current shell environment. If "
- "any of the assignments attempts to assign a value to a readonly variable, an "
- "error occurs, and the command exits with a non-zero status."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3051
- msgid ""
- "If no command name results, redirections are performed, but do not affect "
- "the current shell environment. A redirection error causes the command to "
- "exit with a non-zero status."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3057
- msgid ""
- "If there is a command name left after expansion, execution proceeds as "
- "described below. Otherwise, the command exits. If one of the expansions "
- "contained a command substitution, the exit status of the command is the exit "
- "status of the last command substitution performed. If there were no command "
- "substitutions, the command exits with a status of zero."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:3060
- #, no-wrap
- msgid "command execution"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:3061
- #, no-wrap
- msgid "command search"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3066
- msgid ""
- "After a command has been split into words, if it results in a simple command "
- "and an optional list of arguments, the following actions are taken."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:3072
- msgid ""
- "If the command name contains no slashes, the shell attempts to locate it. "
- "If there exists a shell function by that name, that function is invoked as "
- "described in @ref{Shell Functions}."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:3077
- msgid ""
- "If the name does not match a function, the shell searches for it in the list "
- "of shell builtins. If a match is found, that builtin is invoked."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:3095
- msgid ""
- "If the name is neither a shell function nor a builtin, and contains no "
- "slashes, Bash searches each element of @env{$PATH} for a directory "
- "containing an executable file by that name. Bash uses a hash table to "
- "remember the full pathnames of executable files to avoid multiple @env{PATH} "
- "searches (see the description of @code{hash} in @ref{Bourne Shell "
- "Builtins}). A full search of the directories in @env{$PATH} is performed "
- "only if the command is not found in the hash table. If the search is "
- "unsuccessful, the shell searches for a defined shell function named "
- "@code{command_not_found_handle}. If that function exists, it is invoked in "
- "a separate execution environment with the original command and the original "
- "command's arguments as its arguments, and the function's exit status becomes "
- "the exit status of that subshell. If that function is not defined, the "
- "shell prints an error message and returns an exit status of 127."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:3102
- msgid ""
- "If the search is successful, or if the command name contains one or more "
- "slashes, the shell executes the named program in a separate execution "
- "environment. Argument 0 is set to the name given, and the remaining "
- "arguments to the command are set to the arguments supplied, if any."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:3108
- msgid ""
- "If this execution fails because the file is not in executable format, and "
- "the file is not a directory, it is assumed to be a @var{shell script} and "
- "the shell executes it as described in @ref{Shell Scripts}."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:3112
- msgid ""
- "If the command was not begun asynchronously, the shell waits for the command "
- "to complete and collects its exit status."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:3117
- #, no-wrap
- msgid "execution environment"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3121
- msgid ""
- "The shell has an @var{execution environment}, which consists of the "
- "following:"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:3126
- msgid ""
- "open files inherited by the shell at invocation, as modified by redirections "
- "supplied to the @code{exec} builtin"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:3130
- msgid ""
- "the current working directory as set by @code{cd}, @code{pushd}, or "
- "@code{popd}, or inherited by the shell at invocation"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:3134
- msgid ""
- "the file creation mode mask as set by @code{umask} or inherited from the "
- "shell's parent"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:3137
- msgid "current traps set by @code{trap}"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:3141
- msgid ""
- "shell parameters that are set by variable assignment or with @code{set} or "
- "inherited from the shell's parent in the environment"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:3145
- msgid ""
- "shell functions defined during execution or inherited from the shell's "
- "parent in the environment"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:3149
- msgid ""
- "options enabled at invocation (either by default or with command-line "
- "arguments) or by @code{set}"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:3152
- msgid "options enabled by @code{shopt} (@pxref{The Shopt Builtin})"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:3155
- msgid "shell aliases defined with @code{alias} (@pxref{Aliases})"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:3160
- msgid ""
- "various process @sc{id}s, including those of background jobs "
- "(@pxref{Lists}), the value of @code{$$}, and the value of @env{$PPID}"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3168
- msgid ""
- "When a simple command other than a builtin or shell function is to be "
- "executed, it is invoked in a separate execution environment that consists of "
- "the following. Unless otherwise noted, the values are inherited from the "
- "shell."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:3173
- msgid ""
- "the shell's open files, plus any modifications and additions specified by "
- "redirections to the command"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:3176
- msgid "the current working directory"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:3179
- msgid "the file creation mode mask"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:3183
- msgid ""
- "shell variables and functions marked for export, along with variables "
- "exported for the command, passed in the environment (@pxref{Environment})"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:3187
- msgid ""
- "traps caught by the shell are reset to the values inherited from the shell's "
- "parent, and traps ignored by the shell are ignored"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3192
- msgid ""
- "A command invoked in this separate environment cannot affect the shell's "
- "execution environment."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3201
- msgid ""
- "Command substitution, commands grouped with parentheses, and asynchronous "
- "commands are invoked in a subshell environment that is a duplicate of the "
- "shell environment, except that traps caught by the shell are reset to the "
- "values that the shell inherited from its parent at invocation. Builtin "
- "commands that are invoked as part of a pipeline are also executed in a "
- "subshell environment. Changes made to the subshell environment cannot "
- "affect the shell's execution environment."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3205
- msgid ""
- "Subshells spawned to execute command substitutions inherit the value of the "
- "@option{-e} option from the parent shell. When not in @sc{posix} mode, Bash "
- "clears the @option{-e} option in such subshells."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3210
- msgid ""
- "If a command is followed by a @samp{&} and job control is not active, the "
- "default standard input for the command is the empty file @file{/dev/null}. "
- "Otherwise, the invoked command inherits the file descriptors of the calling "
- "shell as modified by redirections."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:3213
- #, no-wrap
- msgid "environment"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3218
- msgid ""
- "When a program is invoked it is given an array of strings called the "
- "@var{environment}. This is a list of name-value pairs, of the form "
- "@code{name=value}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3234
- msgid ""
- "Bash provides several ways to manipulate the environment. On invocation, "
- "the shell scans its own environment and creates a parameter for each name "
- "found, automatically marking it for @var{export} to child processes. "
- "Executed commands inherit the environment. The @code{export} and "
- "@samp{declare -x} commands allow parameters and functions to be added to and "
- "deleted from the environment. If the value of a parameter in the "
- "environment is modified, the new value becomes part of the environment, "
- "replacing the old. The environment inherited by any executed command "
- "consists of the shell's initial environment, whose values may be modified in "
- "the shell, less any pairs removed by the @code{unset} and @samp{export -n} "
- "commands, plus any additions via the @code{export} and @samp{declare -x} "
- "commands."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3240
- msgid ""
- "The environment for any simple command or function may be augmented "
- "temporarily by prefixing it with parameter assignments, as described in "
- "@ref{Shell Parameters}. These assignment statements affect only the "
- "environment seen by that command."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3244
- msgid ""
- "If the @option{-k} option is set (@pxref{The Set Builtin}), then all "
- "parameter assignments are placed in the environment for a command, not just "
- "those that precede the command name."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3248
- msgid ""
- "When Bash invokes an external command, the variable @samp{$_} is set to the "
- "full pathname of the command and passed to that command in its environment."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3260
- msgid ""
- "The exit status of an executed command is the value returned by the "
- "@var{waitpid} system call or equivalent function. Exit statuses fall "
- "between 0 and 255, though, as explained below, the shell may use values "
- "above 125 specially. Exit statuses from shell builtins and compound "
- "commands are also limited to this range. Under certain circumstances, the "
- "shell will use special values to indicate specific failure modes."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3269
- msgid ""
- "For the shell's purposes, a command which exits with a zero exit status has "
- "succeeded. A non-zero exit status indicates failure. This seemingly "
- "counter-intuitive scheme is used so there is one well-defined way to "
- "indicate success and a variety of ways to indicate various failure modes. "
- "When a command terminates on a fatal signal whose number is @var{N}, Bash "
- "uses the value 128+@var{N} as the exit status."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3273
- msgid ""
- "If a command is not found, the child process created to execute it returns a "
- "status of 127. If a command is found but is not executable, the return "
- "status is 126."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3276
- msgid ""
- "If a command fails because of an error during expansion or redirection, the "
- "exit status is greater than zero."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3280
- msgid ""
- "The exit status is used by the Bash conditional commands (@pxref{Conditional "
- "Constructs}) and some of the list constructs (@pxref{Lists})."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3286
- msgid ""
- "All of the Bash builtins return an exit status of zero if they succeed and a "
- "non-zero status on failure, so they may be used by the conditional and list "
- "constructs. All builtins return an exit status of 2 to indicate incorrect "
- "usage, generally invalid options or missing arguments."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:3289
- #, no-wrap
- msgid "signal handling"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3299
- msgid ""
- "When Bash is interactive, in the absence of any traps, it ignores "
- "@code{SIGTERM} (so that @samp{kill 0} does not kill an interactive shell), "
- "and @code{SIGINT} is caught and handled (so that the @code{wait} builtin is "
- "interruptible). When Bash receives a @code{SIGINT}, it breaks out of any "
- "executing loops. In all cases, Bash ignores @code{SIGQUIT}. If job control "
- "is in effect (@pxref{Job Control}), Bash ignores @code{SIGTTIN}, "
- "@code{SIGTTOU}, and @code{SIGTSTP}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3308
- msgid ""
- "Non-builtin commands started by Bash have signal handlers set to the values "
- "inherited by the shell from its parent. When job control is not in effect, "
- "asynchronous commands ignore @code{SIGINT} and @code{SIGQUIT} in addition to "
- "these inherited handlers. Commands run as a result of command substitution "
- "ignore the keyboard-generated job control signals @code{SIGTTIN}, "
- "@code{SIGTTOU}, and @code{SIGTSTP}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3319
- msgid ""
- "The shell exits by default upon receipt of a @code{SIGHUP}. Before exiting, "
- "an interactive shell resends the @code{SIGHUP} to all jobs, running or "
- "stopped. Stopped jobs are sent @code{SIGCONT} to ensure that they receive "
- "the @code{SIGHUP}. To prevent the shell from sending the @code{SIGHUP} "
- "signal to a particular job, it should be removed from the jobs table with "
- "the @code{disown} builtin (@pxref{Job Control Builtins}) or marked to not "
- "receive @code{SIGHUP} using @code{disown -h}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3323
- msgid ""
- "If the @code{huponexit} shell option has been set with @code{shopt} "
- "(@pxref{The Shopt Builtin}), Bash sends a @code{SIGHUP} to all jobs when an "
- "interactive login shell exits."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3332
- msgid ""
- "If Bash is waiting for a command to complete and receives a signal for which "
- "a trap has been set, the trap will not be executed until the command "
- "completes. When Bash is waiting for an asynchronous command via the "
- "@code{wait} builtin, the reception of a signal for which a trap has been set "
- "will cause the @code{wait} builtin to return immediately with an exit status "
- "greater than 128, immediately after which the trap is executed."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:3335
- #, no-wrap
- msgid "shell script"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3345
- msgid ""
- "A shell script is a text file containing shell commands. When such a file "
- "is used as the first non-option argument when invoking Bash, and neither the "
- "@option{-c} nor @option{-s} option is supplied (@pxref{Invoking Bash}), Bash "
- "reads and executes commands from the file, then exits. This mode of "
- "operation creates a non-interactive shell. The shell first searches for the "
- "file in the current directory, and looks in the directories in @env{$PATH} "
- "if not found there."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3352
- msgid ""
- "When Bash runs a shell script, it sets the special parameter @code{0} to the "
- "name of the file, rather than the name of the shell, and the positional "
- "parameters are set to the remaining arguments, if any are given. If no "
- "additional arguments are supplied, the positional parameters are unset."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3357
- msgid ""
- "A shell script may be made executable by using the @code{chmod} command to "
- "turn on the execute bit. When Bash finds such a file while searching the "
- "@env{$PATH} for a command, it spawns a subshell to execute it. In other "
- "words, executing"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3359
- #, no-wrap
- msgid "filename @var{arguments}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3362
- msgid "is equivalent to executing"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3364
- #, no-wrap
- msgid "bash filename @var{arguments}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3373
- msgid ""
- "if @code{filename} is an executable shell script. This subshell "
- "reinitializes itself, so that the effect is as if a new shell had been "
- "invoked to interpret the script, with the exception that the locations of "
- "commands remembered by the parent (see the description of @code{hash} in "
- "@ref{Bourne Shell Builtins}) are retained by the child."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3381
- msgid ""
- "Most versions of Unix make this a part of the operating system's command "
- "execution mechanism. If the first line of a script begins with the two "
- "characters @samp{#!}, the remainder of the line specifies an interpreter for "
- "the program and, depending on the operating system, one or more optional "
- "arguments for that interpreter. Thus, you can specify Bash, @code{awk}, "
- "Perl, or some other interpreter and write the rest of the script file in "
- "that language."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3394
- msgid ""
- "The arguments to the interpreter consist of one or more optional arguments "
- "following the interpreter name on the first line of the script file, "
- "followed by the name of the script file, followed by the rest of the "
- "arguments supplied to the script. The details of how the interpreter line "
- "is split into an interpreter name and a set of arguments vary across "
- "systems. Bash will perform this action on operating systems that do not "
- "handle it themselves. Note that some older versions of Unix limit the "
- "interpreter name and a single argument to a maximum of 32 characters, so "
- "it's not portable to assume that using more than one argument will work."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3402
- msgid ""
- "Bash scripts often begin with @code{#! /bin/bash} (assuming that Bash has "
- "been installed in @file{/bin}), since this ensures that Bash will be used to "
- "interpret the script, even if it is executed under another shell. It's a "
- "common idiom to use @code{env} to find @code{bash} even if it's been "
- "installed in another directory: @code{#!/usr/bin/env bash} will find the "
- "first occurrence of @code{bash} in @env{$PATH}."
- msgstr ""
- #. type: section
- #: ./bashref.texi:3414 ./bashref.texi:3449 ./bashref.texi:3450
- #, no-wrap
- msgid "Bourne Shell Builtins"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:3414
- msgid "Builtin commands inherited from the Bourne Shell."
- msgstr ""
- #. type: node
- #: ./bashref.texi:3414 ./bashref.texi:4009
- #, no-wrap
- msgid "Bash Builtins"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:3414
- msgid "Table of builtins specific to Bash."
- msgstr ""
- #. type: section
- #: ./bashref.texi:3414 ./bashref.texi:4871 ./bashref.texi:4872
- #, no-wrap
- msgid "Modifying Shell Behavior"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:3414
- msgid "Builtins to modify shell attributes and optional behavior."
- msgstr ""
- #. type: section
- #: ./bashref.texi:3414 ./bashref.texi:5543 ./bashref.texi:5544
- #, no-wrap
- msgid "Special Builtins"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:3414
- msgid "Builtin commands classified specially by POSIX."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3422
- msgid ""
- "Builtin commands are contained within the shell itself. When the name of a "
- "builtin command is used as the first word of a simple command (@pxref{Simple "
- "Commands}), the shell executes the command directly, without invoking "
- "another program. Builtin commands are necessary to implement functionality "
- "impossible or inconvenient to obtain with separate utilities."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3426
- msgid ""
- "This section briefly describes the builtins which Bash inherits from the "
- "Bourne Shell, as well as the builtin commands which are unique to or have "
- "been extended in Bash."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3433
- msgid ""
- "Several builtin commands are described in other chapters: builtin commands "
- "which provide the Bash interface to the job control facilities (@pxref{Job "
- "Control Builtins}), the directory stack (@pxref{Directory Stack Builtins}), "
- "the command history (@pxref{Bash History Builtins}), and the programmable "
- "completion facilities (@pxref{Programmable Completion Builtins})."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3435
- msgid "Many of the builtins have been extended by @sc{posix} or Bash."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3448
- msgid ""
- "Unless otherwise noted, each builtin command documented as accepting options "
- "preceded by @samp{-} accepts @samp{--} to signify the end of the options. "
- "The @code{:}, @code{true}, @code{false}, and @code{test}/@code{[} builtins "
- "do not accept options and do not treat @samp{--} specially. The "
- "@code{exit}, @code{logout}, @code{return}, @code{break}, @code{continue}, "
- "@code{let}, and @code{shift} builtins accept and process arguments beginning "
- "with @samp{-} without requiring @samp{--}. Other builtins that accept "
- "arguments but are not specified as accepting options interpret arguments "
- "beginning with @samp{-} as invalid options and require @samp{--} to prevent "
- "this interpretation."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:3454
- msgid ""
- "The following shell builtin commands are inherited from the Bourne Shell. "
- "These commands are implemented as specified by the @sc{posix} standard."
- msgstr ""
- #. type: item
- #: ./bashref.texi:3456
- #, no-wrap
- msgid ": @r{(a colon)}"
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3457
- #, no-wrap
- msgid ":"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3460
- #, no-wrap
- msgid ": [@var{arguments}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3464
- msgid ""
- "Do nothing beyond expanding @var{arguments} and performing redirections. "
- "The return status is zero."
- msgstr ""
- #. type: item
- #: ./bashref.texi:3465
- #, no-wrap
- msgid ". @r{(a period)}"
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3466
- #, no-wrap
- msgid "."
- msgstr ""
- #. type: example
- #: ./bashref.texi:3469
- #, no-wrap
- msgid ". @var{filename} [@var{arguments}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3489
- msgid ""
- "Read and execute commands from the @var{filename} argument in the current "
- "shell context. If @var{filename} does not contain a slash, the @env{PATH} "
- "variable is used to find @var{filename}. When Bash is not in @sc{posix} "
- "mode, the current directory is searched if @var{filename} is not found in "
- "@env{$PATH}. If any @var{arguments} are supplied, they become the "
- "positional parameters when @var{filename} is executed. Otherwise the "
- "positional parameters are unchanged. If the @option{-T} option is enabled, "
- "@code{source} inherits any trap on @code{DEBUG}; if it is not, any "
- "@code{DEBUG} trap string is saved and restored around the call to "
- "@code{source}, and @code{source} unsets the @code{DEBUG} trap while it "
- "executes. If @option{-T} is not set, and the sourced file changes the "
- "@code{DEBUG} trap, the new value is retained when @code{source} completes. "
- "The return status is the exit status of the last command executed, or zero "
- "if no commands are executed. If @var{filename} is not found, or cannot be "
- "read, the return status is non-zero. This builtin is equivalent to "
- "@code{source}."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3490 ./bashref.texi:3491
- #, no-wrap
- msgid "break"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3494
- #, no-wrap
- msgid "break [@var{n}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3500
- msgid ""
- "Exit from a @code{for}, @code{while}, @code{until}, or @code{select} loop. "
- "If @var{n} is supplied, the @var{n}th enclosing loop is exited. @var{n} "
- "must be greater than or equal to 1. The return status is zero unless "
- "@var{n} is not greater than or equal to 1."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3501 ./bashref.texi:3502
- #, no-wrap
- msgid "cd"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3505
- #, no-wrap
- msgid "cd [-L|[-P [-e]] [-@@] [@var{directory}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3517
- msgid ""
- "Change the current working directory to @var{directory}. If @var{directory} "
- "is not supplied, the value of the @env{HOME} shell variable is used. Any "
- "additional arguments following @var{directory} are ignored. If the shell "
- "variable @env{CDPATH} exists, it is used as a search path: each directory "
- "name in @env{CDPATH} is searched for @var{directory}, with alternative "
- "directory names in @env{CDPATH} separated by a colon (@samp{:}). If "
- "@var{directory} begins with a slash, @env{CDPATH} is not used."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3521
- msgid ""
- "The @option{-P} option means to not follow symbolic links: symbolic links "
- "are resolved while @code{cd} is traversing @var{directory} and before "
- "processing an instance of @samp{..} in @var{directory}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3525
- msgid ""
- "By default, or when the @option{-L} option is supplied, symbolic links in "
- "@var{directory} are resolved after @code{cd} processes an instance of "
- "@samp{..} in @var{directory}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3529
- msgid ""
- "If @samp{..} appears in @var{directory}, it is processed by removing the "
- "immediately preceding pathname component, back to a slash or the beginning "
- "of @var{directory}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3534
- msgid ""
- "If the @option{-e} option is supplied with @option{-P} and the current "
- "working directory cannot be successfully determined after a successful "
- "directory change, @code{cd} will return an unsuccessful status."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3537
- msgid ""
- "On systems that support it, the @option{-@@} option presents the extended "
- "attributes associated with a file as a directory."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3540
- msgid ""
- "If @var{directory} is @samp{-}, it is converted to @env{$OLDPWD} before the "
- "directory change is attempted."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3545
- msgid ""
- "If a non-empty directory name from @env{CDPATH} is used, or if @samp{-} is "
- "the first argument, and the directory change is successful, the absolute "
- "pathname of the new working directory is written to the standard output."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3548
- msgid ""
- "The return status is zero if the directory is successfully changed, non-zero "
- "otherwise."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3549 ./bashref.texi:3550
- #, no-wrap
- msgid "continue"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3553
- #, no-wrap
- msgid "continue [@var{n}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3561
- msgid ""
- "Resume the next iteration of an enclosing @code{for}, @code{while}, "
- "@code{until}, or @code{select} loop. If @var{n} is supplied, the execution "
- "of the @var{n}th enclosing loop is resumed. @var{n} must be greater than or "
- "equal to 1. The return status is zero unless @var{n} is not greater than or "
- "equal to 1."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3562 ./bashref.texi:3563
- #, no-wrap
- msgid "eval"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3566
- #, no-wrap
- msgid "eval [@var{arguments}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3573
- msgid ""
- "The arguments are concatenated together into a single command, which is then "
- "read and executed, and its exit status returned as the exit status of "
- "@code{eval}. If there are no arguments or only empty arguments, the return "
- "status is zero."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3574 ./bashref.texi:3575
- #, no-wrap
- msgid "exec"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3578
- #, no-wrap
- msgid "exec [-cl] [-a @var{name}] [@var{command} [@var{arguments}]]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3598
- msgid ""
- "If @var{command} is supplied, it replaces the shell without creating a new "
- "process. If the @option{-l} option is supplied, the shell places a dash at "
- "the beginning of the zeroth argument passed to @var{command}. This is what "
- "the @code{login} program does. The @option{-c} option causes @var{command} "
- "to be executed with an empty environment. If @option{-a} is supplied, the "
- "shell passes @var{name} as the zeroth argument to @var{command}. If "
- "@var{command} cannot be executed for some reason, a non-interactive shell "
- "exits, unless the @code{execfail} shell option is enabled. In that case, it "
- "returns failure. An interactive shell returns failure if the file cannot be "
- "executed. A subshell exits unconditionally if @code{exec} fails. If no "
- "@var{command} is specified, redirections may be used to affect the current "
- "shell environment. If there are no redirection errors, the return status is "
- "zero; otherwise the return status is non-zero."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3599 ./bashref.texi:3600
- #, no-wrap
- msgid "exit"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3603
- #, no-wrap
- msgid "exit [@var{n}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3608
- msgid ""
- "Exit the shell, returning a status of @var{n} to the shell's parent. If "
- "@var{n} is omitted, the exit status is that of the last command executed. "
- "Any trap on @code{EXIT} is executed before the shell terminates."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3609 ./bashref.texi:3610
- #, no-wrap
- msgid "export"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3613
- #, no-wrap
- msgid "export [-fn] [-p] [@var{name}[=@var{value}]]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3624
- msgid ""
- "Mark each @var{name} to be passed to child processes in the environment. If "
- "the @option{-f} option is supplied, the @var{name}s refer to shell "
- "functions; otherwise the names refer to shell variables. The @option{-n} "
- "option means to no longer mark each @var{name} for export. If no "
- "@var{names} are supplied, or if the @option{-p} option is given, a list of "
- "names of all exported variables is displayed. The @option{-p} option "
- "displays output in a form that may be reused as input. If a variable name "
- "is followed by =@var{value}, the value of the variable is set to "
- "@var{value}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3628
- msgid ""
- "The return status is zero unless an invalid option is supplied, one of the "
- "names is not a valid shell variable name, or @option{-f} is supplied with a "
- "name that is not a shell function."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3629 ./bashref.texi:3630
- #, no-wrap
- msgid "getopts"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3633
- #, no-wrap
- msgid "getopts @var{optstring} @var{name} [@var{arg} @dots{}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3653
- msgid ""
- "@code{getopts} is used by shell scripts to parse positional parameters. "
- "@var{optstring} contains the option characters to be recognized; if a "
- "character is followed by a colon, the option is expected to have an "
- "argument, which should be separated from it by whitespace. The colon "
- "(@samp{:}) and question mark (@samp{?}) may not be used as option "
- "characters. Each time it is invoked, @code{getopts} places the next option "
- "in the shell variable @var{name}, initializing @var{name} if it does not "
- "exist, and the index of the next argument to be processed into the variable "
- "@env{OPTIND}. @env{OPTIND} is initialized to 1 each time the shell or a "
- "shell script is invoked. When an option requires an argument, "
- "@code{getopts} places that argument into the variable @env{OPTARG}. The "
- "shell does not reset @env{OPTIND} automatically; it must be manually reset "
- "between multiple calls to @code{getopts} within the same shell invocation if "
- "a new set of parameters is to be used."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3658
- msgid ""
- "When the end of options is encountered, @code{getopts} exits with a return "
- "value greater than zero. @env{OPTIND} is set to the index of the first "
- "non-option argument, and @var{name} is set to @samp{?}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3662
- msgid ""
- "@code{getopts} normally parses the positional parameters, but if more "
- "arguments are supplied as @var{arg} values, @code{getopts} parses those "
- "instead."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3671
- msgid ""
- "@code{getopts} can report errors in two ways. If the first character of "
- "@var{optstring} is a colon, @var{silent} error reporting is used. In normal "
- "operation, diagnostic messages are printed when invalid options or missing "
- "option arguments are encountered. If the variable @env{OPTERR} is set to 0, "
- "no error messages will be displayed, even if the first character of "
- "@code{optstring} is not a colon."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3677
- msgid ""
- "If an invalid option is seen, @code{getopts} places @samp{?} into @var{name} "
- "and, if not silent, prints an error message and unsets @env{OPTARG}. If "
- "@code{getopts} is silent, the option character found is placed in "
- "@env{OPTARG} and no diagnostic message is printed."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3683
- msgid ""
- "If a required argument is not found, and @code{getopts} is not silent, a "
- "question mark (@samp{?}) is placed in @var{name}, @code{OPTARG} is unset, "
- "and a diagnostic message is printed. If @code{getopts} is silent, then a "
- "colon (@samp{:}) is placed in @var{name} and @env{OPTARG} is set to the "
- "option character found."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3684 ./bashref.texi:3685
- #, no-wrap
- msgid "hash"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3688
- #, no-wrap
- msgid "hash [-r] [-p @var{filename}] [-dt] [@var{name}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3711
- msgid ""
- "Each time @code{hash} is invoked, it remembers the full pathnames of the "
- "commands specified as @var{name} arguments, so they need not be searched for "
- "on subsequent invocations. The commands are found by searching through the "
- "directories listed in @env{$PATH}. Any previously-remembered pathname is "
- "discarded. The @option{-p} option inhibits the path search, and "
- "@var{filename} is used as the location of @var{name}. The @option{-r} "
- "option causes the shell to forget all remembered locations. The @option{-d} "
- "option causes the shell to forget the remembered location of each "
- "@var{name}. If the @option{-t} option is supplied, the full pathname to "
- "which each @var{name} corresponds is printed. If multiple @var{name} "
- "arguments are supplied with @option{-t}, the @var{name} is printed before "
- "the hashed full pathname. The @option{-l} option causes output to be "
- "displayed in a format that may be reused as input. If no arguments are "
- "given, or if only @option{-l} is supplied, information about remembered "
- "commands is printed. The return status is zero unless a @var{name} is not "
- "found or an invalid option is supplied."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3712 ./bashref.texi:3713
- #, no-wrap
- msgid "pwd"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3716
- #, no-wrap
- msgid "pwd [-LP]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3726
- msgid ""
- "Print the absolute pathname of the current working directory. If the "
- "@option{-P} option is supplied, the pathname printed will not contain "
- "symbolic links. If the @option{-L} option is supplied, the pathname printed "
- "may contain symbolic links. The return status is zero unless an error is "
- "encountered while determining the name of the current directory or an "
- "invalid option is supplied."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3727 ./bashref.texi:3728
- #, no-wrap
- msgid "readonly"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3731
- #, no-wrap
- msgid "readonly [-aAf] [-p] [@var{name}[=@var{value}]] @dots{}\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3752
- msgid ""
- "Mark each @var{name} as readonly. The values of these names may not be "
- "changed by subsequent assignment. If the @option{-f} option is supplied, "
- "each @var{name} refers to a shell function. The @option{-a} option means "
- "each @var{name} refers to an indexed array variable; the @option{-A} option "
- "means each @var{name} refers to an associative array variable. If both "
- "options are supplied, @option{-A} takes precedence. If no @var{name} "
- "arguments are given, or if the @option{-p} option is supplied, a list of all "
- "readonly names is printed. The other options may be used to restrict the "
- "output to a subset of the set of readonly names. The @option{-p} option "
- "causes output to be displayed in a format that may be reused as input. If a "
- "variable name is followed by =@var{value}, the value of the variable is set "
- "to @var{value}. The return status is zero unless an invalid option is "
- "supplied, one of the @var{name} arguments is not a valid shell variable or "
- "function name, or the @option{-f} option is supplied with a name that is not "
- "a shell function."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3753 ./bashref.texi:3754
- #, no-wrap
- msgid "return"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3757
- #, no-wrap
- msgid "return [@var{n}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3780
- msgid ""
- "Cause a shell function to stop executing and return the value @var{n} to its "
- "caller. If @var{n} is not supplied, the return value is the exit status of "
- "the last command executed in the function. If @code{return} is executed by "
- "a trap handler, the last command used to determine the status is the last "
- "command executed before the trap handler. If @code{return} is executed "
- "during a @code{DEBUG} trap, the last command used to determine the status is "
- "the last command executed by the trap handler before @code{return} was "
- "invoked. @code{return} may also be used to terminate execution of a script "
- "being executed with the @code{.} (@code{source}) builtin, returning either "
- "@var{n} or the exit status of the last command executed within the script as "
- "the exit status of the script. If @var{n} is supplied, the return value is "
- "its least significant 8 bits. Any command associated with the @code{RETURN} "
- "trap is executed before execution resumes after the function or script. The "
- "return status is non-zero if @code{return} is supplied a non-numeric "
- "argument or is used outside a function and not during the execution of a "
- "script by @code{.} or @code{source}."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3781 ./bashref.texi:3782
- #, no-wrap
- msgid "shift"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3785
- #, no-wrap
- msgid "shift [@var{n}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3798
- msgid ""
- "Shift the positional parameters to the left by @var{n}. The positional "
- "parameters from @var{n}+1 @dots{} @code{$#} are renamed to @code{$1} @dots{} "
- "@code{$#}-@var{n}. Parameters represented by the numbers @code{$#} down to "
- "@code{$#}-@var{n}+1 are unset. @var{n} must be a non-negative number less "
- "than or equal to @code{$#}. If @var{n} is zero or greater than @code{$#}, "
- "the positional parameters are not changed. If @var{n} is not supplied, it "
- "is assumed to be 1. The return status is zero unless @var{n} is greater "
- "than @code{$#} or less than zero, non-zero otherwise."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3799 ./bashref.texi:3801
- #, no-wrap
- msgid "test"
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3800 ./bashref.texi:3802
- #, no-wrap
- msgid "["
- msgstr ""
- #. type: example
- #: ./bashref.texi:3805
- #, no-wrap
- msgid "test @var{expr}\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3814
- msgid ""
- "Evaluate a conditional expression @var{expr} and return a status of 0 (true) "
- "or 1 (false). Each operator and operand must be a separate argument. "
- "Expressions are composed of the primaries described below in @ref{Bash "
- "Conditional Expressions}. @code{test} does not accept any options, nor does "
- "it accept and ignore an argument of @option{--} as signifying the end of "
- "options."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3817
- msgid ""
- "When the @code{[} form is used, the last argument to the command must be a "
- "@code{]}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3822
- msgid ""
- "Expressions may be combined using the following operators, listed in "
- "decreasing order of precedence. The evaluation depends on the number of "
- "arguments; see below. Operator precedence is used when there are five or "
- "more arguments."
- msgstr ""
- #. type: item
- #: ./bashref.texi:3824
- #, no-wrap
- msgid "! @var{expr}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3826
- msgid "True if @var{expr} is false."
- msgstr ""
- #. type: item
- #: ./bashref.texi:3827
- #, no-wrap
- msgid "( @var{expr} )"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3830
- msgid ""
- "Returns the value of @var{expr}. This may be used to override the normal "
- "precedence of operators."
- msgstr ""
- #. type: item
- #: ./bashref.texi:3831
- #, no-wrap
- msgid "@var{expr1} -a @var{expr2}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3833
- msgid "True if both @var{expr1} and @var{expr2} are true."
- msgstr ""
- #. type: item
- #: ./bashref.texi:3834
- #, no-wrap
- msgid "@var{expr1} -o @var{expr2}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3836
- msgid "True if either @var{expr1} or @var{expr2} is true."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3840
- msgid ""
- "The @code{test} and @code{[} builtins evaluate conditional expressions using "
- "a set of rules based on the number of arguments."
- msgstr ""
- #. type: item
- #: ./bashref.texi:3842
- #, no-wrap
- msgid "0 arguments"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3844
- msgid "The expression is false."
- msgstr ""
- #. type: item
- #: ./bashref.texi:3845
- #, no-wrap
- msgid "1 argument"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3847
- msgid "The expression is true if, and only if, the argument is not null."
- msgstr ""
- #. type: item
- #: ./bashref.texi:3848
- #, no-wrap
- msgid "2 arguments"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3856
- msgid ""
- "If the first argument is @samp{!}, the expression is true if and only if the "
- "second argument is null. If the first argument is one of the unary "
- "conditional operators (@pxref{Bash Conditional Expressions}), the expression "
- "is true if the unary test is true. If the first argument is not a valid "
- "unary operator, the expression is false."
- msgstr ""
- #. type: item
- #: ./bashref.texi:3857
- #, no-wrap
- msgid "3 arguments"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3859
- msgid "The following conditions are applied in the order listed."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:3868
- msgid ""
- "If the second argument is one of the binary conditional operators "
- "(@pxref{Bash Conditional Expressions}), the result of the expression is the "
- "result of the binary test using the first and third arguments as operands. "
- "The @samp{-a} and @samp{-o} operators are considered binary operators when "
- "there are three arguments."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:3871
- msgid ""
- "If the first argument is @samp{!}, the value is the negation of the "
- "two-argument test using the second and third arguments."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:3875
- msgid ""
- "If the first argument is exactly @samp{(} and the third argument is exactly "
- "@samp{)}, the result is the one-argument test of the second argument."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:3877
- msgid "Otherwise, the expression is false."
- msgstr ""
- #. type: item
- #: ./bashref.texi:3879
- #, no-wrap
- msgid "4 arguments"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3884
- msgid ""
- "If the first argument is @samp{!}, the result is the negation of the "
- "three-argument expression composed of the remaining arguments. Otherwise, "
- "the expression is parsed and evaluated according to precedence using the "
- "rules listed above."
- msgstr ""
- #. type: item
- #: ./bashref.texi:3885
- #, no-wrap
- msgid "5 or more arguments"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3888
- msgid ""
- "The expression is parsed and evaluated according to precedence using the "
- "rules listed above."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3892
- msgid ""
- "When used with @code{test} or @samp{[}, the @samp{<} and @samp{>} operators "
- "sort lexicographically using ASCII ordering."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3893 ./bashref.texi:3894
- #, no-wrap
- msgid "times"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3897
- #, no-wrap
- msgid "times\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3901
- msgid ""
- "Print out the user and system times used by the shell and its children. The "
- "return status is zero."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3902 ./bashref.texi:3903
- #, no-wrap
- msgid "trap"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3906
- #, no-wrap
- msgid "trap [-lp] [@var{arg}] [@var{sigspec} @dots{}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3925
- msgid ""
- "The commands in @var{arg} are to be read and executed when the shell "
- "receives signal @var{sigspec}. If @var{arg} is absent (and there is a "
- "single @var{sigspec}) or equal to @samp{-}, each specified signal's "
- "disposition is reset to the value it had when the shell was started. If "
- "@var{arg} is the null string, then the signal specified by each "
- "@var{sigspec} is ignored by the shell and commands it invokes. If @var{arg} "
- "is not present and @option{-p} has been supplied, the shell displays the "
- "trap commands associated with each @var{sigspec}. If no arguments are "
- "supplied, or only @option{-p} is given, @code{trap} prints the list of "
- "commands associated with each signal number in a form that may be reused as "
- "shell input. The @option{-l} option causes the shell to print a list of "
- "signal names and their corresponding numbers. Each @var{sigspec} is either "
- "a signal name or a signal number. Signal names are case insensitive and the "
- "@code{SIG} prefix is optional."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3938
- msgid ""
- "If a @var{sigspec} is @code{0} or @code{EXIT}, @var{arg} is executed when "
- "the shell exits. If a @var{sigspec} is @code{DEBUG}, the command @var{arg} "
- "is executed before every simple command, @code{for} command, @code{case} "
- "command, @code{select} command, every arithmetic @code{for} command, and "
- "before the first command executes in a shell function. Refer to the "
- "description of the @code{extdebug} option to the @code{shopt} builtin "
- "(@pxref{The Shopt Builtin}) for details of its effect on the @code{DEBUG} "
- "trap. If a @var{sigspec} is @code{RETURN}, the command @var{arg} is "
- "executed each time a shell function or a script executed with the @code{.} "
- "or @code{source} builtins finishes executing."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3955
- msgid ""
- "If a @var{sigspec} is @code{ERR}, the command @var{arg} is executed whenever "
- "a pipeline (which may consist of a single simple command), a list, or a "
- "compound command returns a non-zero exit status, subject to the following "
- "conditions. The @code{ERR} trap is not executed if the failed command is "
- "part of the command list immediately following an @code{until} or "
- "@code{while} keyword, part of the test following the @code{if} or "
- "@code{elif} reserved words, part of a command executed in a @code{&&} or "
- "@code{||} list except the command following the final @code{&&} or "
- "@code{||}, any command in a pipeline but the last, or if the command's "
- "return status is being inverted using @code{!}. These are the same "
- "conditions obeyed by the @code{errexit} (@option{-e}) option."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3959
- msgid ""
- "Signals ignored upon entry to the shell cannot be trapped or reset. Trapped "
- "signals that are not being ignored are reset to their original values in a "
- "subshell or subshell environment when one is created."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3962
- msgid ""
- "The return status is zero unless a @var{sigspec} does not specify a valid "
- "signal."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3963 ./bashref.texi:3964
- #, no-wrap
- msgid "umask"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3967
- #, no-wrap
- msgid "umask [-p] [-S] [@var{mode}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:3980
- msgid ""
- "Set the shell process's file creation mask to @var{mode}. If @var{mode} "
- "begins with a digit, it is interpreted as an octal number; if not, it is "
- "interpreted as a symbolic mode mask similar to that accepted by the "
- "@code{chmod} command. If @var{mode} is omitted, the current value of the "
- "mask is printed. If the @option{-S} option is supplied without a @var{mode} "
- "argument, the mask is printed in a symbolic format. If the @option{-p} "
- "option is supplied, and @var{mode} is omitted, the output is in a form that "
- "may be reused as input. The return status is zero if the mode is "
- "successfully changed or if no @var{mode} argument is supplied, and non-zero "
- "otherwise."
- msgstr ""
- #. type: table
- #: ./bashref.texi:3984
- msgid ""
- "Note that when the mode is interpreted as an octal number, each number of "
- "the umask is subtracted from @code{7}. Thus, a umask of @code{022} results "
- "in permissions of @code{755}."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:3985 ./bashref.texi:3986
- #, no-wrap
- msgid "unset"
- msgstr ""
- #. type: example
- #: ./bashref.texi:3989
- #, no-wrap
- msgid "unset [-fnv] [@var{name}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4007
- msgid ""
- "Remove each variable or function @var{name}. If the @option{-v} option is "
- "given, each @var{name} refers to a shell variable and that variable is "
- "removed. If the @option{-f} option is given, the @var{name}s refer to shell "
- "functions, and the function definition is removed. If the @option{-n} "
- "option is supplied, and @var{name} is a variable with the @var{nameref} "
- "attribute, @var{name} will be unset rather than the variable it references. "
- "@option{-n} has no effect if the @option{-f} option is supplied. If no "
- "options are supplied, each @var{name} refers to a variable; if there is no "
- "variable by that name, a function with that name, if any, is unset. "
- "Readonly variables and functions may not be unset. Some shell variables "
- "lose their special behavior if they are unset; such behavior is noted in the "
- "description of the individual variables. The return status is zero unless a "
- "@var{name} is readonly."
- msgstr ""
- #. type: section
- #: ./bashref.texi:4010
- #, no-wrap
- msgid "Bash Builtin Commands"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:4015
- msgid ""
- "This section describes builtin commands which are unique to or have been "
- "extended in Bash. Some of these commands are specified in the @sc{posix} "
- "standard."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4018 ./bashref.texi:4019
- #, no-wrap
- msgid "alias"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4022
- #, no-wrap
- msgid "alias [-p] [@var{name}[=@var{value}] @dots{}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4031
- msgid ""
- "Without arguments or with the @option{-p} option, @code{alias} prints the "
- "list of aliases on the standard output in a form that allows them to be "
- "reused as input. If arguments are supplied, an alias is defined for each "
- "@var{name} whose @var{value} is given. If no @var{value} is given, the name "
- "and value of the alias is printed. Aliases are described in @ref{Aliases}."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4032 ./bashref.texi:4033
- #, no-wrap
- msgid "bind"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4041
- #, no-wrap
- msgid ""
- "bind [-m @var{keymap}] [-lpsvPSVX]\n"
- "bind [-m @var{keymap}] [-q @var{function}] [-u @var{function}] [-r "
- "@var{keyseq}]\n"
- "bind [-m @var{keymap}] -f @var{filename}\n"
- "bind [-m @var{keymap}] -x @var{keyseq:shell-command}\n"
- "bind [-m @var{keymap}] @var{keyseq:function-name}\n"
- "bind [-m @var{keymap}] @var{keyseq:readline-command}\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4051
- msgid ""
- "Display current Readline (@pxref{Command Line Editing}) key and function "
- "bindings, bind a key sequence to a Readline function or macro, or set a "
- "Readline variable. Each non-option argument is a command as it would appear "
- "in a Readline initialization file (@pxref{Readline Init File}), but each "
- "binding or command must be passed as a separate argument; e.g., "
- "@samp{\"\\C-x\\C-r\":re-read-init-file}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4053 ./bashref.texi:4403 ./bashref.texi:4591
- msgid "Options, if supplied, have the following meanings:"
- msgstr ""
- #. type: item
- #: ./bashref.texi:4055
- #, no-wrap
- msgid "-m @var{keymap}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4069
- msgid ""
- "Use @var{keymap} as the keymap to be affected by the subsequent bindings. "
- "Acceptable @var{keymap} names are @code{emacs}, @code{emacs-standard}, "
- "@code{emacs-meta}, @code{emacs-ctlx}, @code{vi}, @code{vi-move}, "
- "@code{vi-command}, and @code{vi-insert}. @code{vi} is equivalent to "
- "@code{vi-command} (@code{vi-move} is also a synonym); @code{emacs} is "
- "equivalent to @code{emacs-standard}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4070 ./bashref.texi:4244 ./bashref.texi:4785 ./bashref.texi:6582 ./bashref.texi:7448 ./bashref.texi:8347
- #, no-wrap
- msgid "-l"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4072
- msgid "List the names of all Readline functions."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4073 ./bashref.texi:4795 ./bashref.texi:5065 ./bashref.texi:7451 ./bashref.texi:8354
- #, no-wrap
- msgid "-p"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4076
- msgid ""
- "Display Readline function names and bindings in such a way that they can be "
- "used as input or in a Readline initialization file."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4077 ./bashref.texi:4820 ./bashref.texi:5116
- #, no-wrap
- msgid "-P"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4079
- msgid "List current Readline function names and bindings."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4080 ./bashref.texi:4813 ./bashref.texi:5088 ./bashref.texi:7454
- #, no-wrap
- msgid "-v"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4083
- msgid ""
- "Display Readline variable names and values in such a way that they can be "
- "used as input or in a Readline initialization file."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4084
- #, no-wrap
- msgid "-V"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4086
- msgid "List current Readline variable names and values."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4087 ./bashref.texi:4409 ./bashref.texi:4483 ./bashref.texi:4641 ./bashref.texi:4804 ./bashref.texi:5196 ./bashref.texi:6596 ./bashref.texi:8360
- #, no-wrap
- msgid "-s"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4091
- msgid ""
- "Display Readline key sequences bound to macros and the strings they output "
- "in such a way that they can be used as input or in a Readline initialization "
- "file."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4092 ./bashref.texi:4755
- #, no-wrap
- msgid "-S"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4094
- msgid "Display Readline key sequences bound to macros and the strings they output."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4095
- #, no-wrap
- msgid "-f @var{filename}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4097
- msgid "Read key bindings from @var{filename}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4098
- #, no-wrap
- msgid "-q @var{function}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4100
- msgid "Query about which keys invoke the named @var{function}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4101
- #, no-wrap
- msgid "-u @var{function}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4103
- msgid "Unbind all keys bound to the named @var{function}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4104
- #, no-wrap
- msgid "-r @var{keyseq}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4106
- msgid "Remove any current binding for @var{keyseq}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4107
- #, no-wrap
- msgid "-x @var{keyseq:shell-command}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4118
- msgid ""
- "Cause @var{shell-command} to be executed whenever @var{keyseq} is entered. "
- "When @var{shell-command} is executed, the shell sets the "
- "@code{READLINE_LINE} variable to the contents of the Readline line buffer "
- "and the @code{READLINE_POINT} and @code{READLINE_MARK} variables to the "
- "current location of the insertion point and the saved insertion point (the "
- "@var{mark}), respectively. If the executed command changes the value of any "
- "of @code{READLINE_LINE}, @code{READLINE_POINT}, or @code{READLINE_MARK}, "
- "those new values will be reflected in the editing state."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4119
- #, no-wrap
- msgid "-X"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4122
- msgid ""
- "List all key sequences bound to shell commands and the associated commands "
- "in a format that can be reused as input."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4127
- msgid ""
- "The return status is zero unless an invalid option is supplied or an error "
- "occurs."
- msgstr ""
- #. type: example
- #: ./bashref.texi:4132
- #, no-wrap
- msgid "builtin [@var{shell-builtin} [@var{args}]]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4140
- msgid ""
- "Run a shell builtin, passing it @var{args}, and return its exit status. "
- "This is useful when defining a shell function with the same name as a shell "
- "builtin, retaining the functionality of the builtin within the function. "
- "The return status is non-zero if @var{shell-builtin} is not a shell builtin "
- "command."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4141 ./bashref.texi:4142
- #, no-wrap
- msgid "caller"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4145
- #, no-wrap
- msgid "caller [@var{expr}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4149
- msgid ""
- "Returns the context of any active subroutine call (a shell function or a "
- "script executed with the @code{.} or @code{source} builtins)."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4157
- msgid ""
- "Without @var{expr}, @code{caller} displays the line number and source "
- "filename of the current subroutine call. If a non-negative integer is "
- "supplied as @var{expr}, @code{caller} displays the line number, subroutine "
- "name, and source file corresponding to that position in the current "
- "execution call stack. This extra information may be used, for example, to "
- "print a stack trace. The current frame is frame 0."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4161
- msgid ""
- "The return value is 0 unless the shell is not executing a subroutine call or "
- "@var{expr} does not correspond to a valid position in the call stack."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4162 ./bashref.texi:4163
- #, no-wrap
- msgid "command"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4166
- #, no-wrap
- msgid "command [-pVv] @var{command} [@var{arguments} @dots{}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4180
- msgid ""
- "Runs @var{command} with @var{arguments} ignoring any shell function named "
- "@var{command}. Only shell builtin commands or commands found by searching "
- "the @env{PATH} are executed. If there is a shell function named @code{ls}, "
- "running @samp{command ls} within the function will execute the external "
- "command @code{ls} instead of calling the function recursively. The "
- "@option{-p} option means to use a default value for @env{PATH} that is "
- "guaranteed to find all of the standard utilities. The return status in this "
- "case is 127 if @var{command} cannot be found or an error occurred, and the "
- "exit status of @var{command} otherwise."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4187
- msgid ""
- "If either the @option{-V} or @option{-v} option is supplied, a description "
- "of @var{command} is printed. The @option{-v} option causes a single word "
- "indicating the command or file name used to invoke @var{command} to be "
- "displayed; the @option{-V} option produces a more verbose description. In "
- "this case, the return status is zero if @var{command} is found, and non-zero "
- "if not."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4188 ./bashref.texi:4189
- #, no-wrap
- msgid "declare"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4192
- #, no-wrap
- msgid "declare [-aAfFgiIlnrtux] [-p] [@var{name}[=@var{value}] @dots{}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4196
- msgid ""
- "Declare variables and give them attributes. If no @var{name}s are given, "
- "then display the values of variables instead."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4201
- msgid ""
- "The @option{-p} option will display the attributes and values of each "
- "@var{name}. When @option{-p} is used with @var{name} arguments, additional "
- "options, other than @option{-f} and @option{-F}, are ignored."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4208
- msgid ""
- "When @option{-p} is supplied without @var{name} arguments, @code{declare} "
- "will display the attributes and values of all variables having the "
- "attributes specified by the additional options. If no other options are "
- "supplied with @option{-p}, @code{declare} will display the attributes and "
- "values of all shell variables. The @option{-f} option will restrict the "
- "display to shell functions."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4215
- msgid ""
- "The @option{-F} option inhibits the display of function definitions; only "
- "the function name and attributes are printed. If the @code{extdebug} shell "
- "option is enabled using @code{shopt} (@pxref{The Shopt Builtin}), the source "
- "file name and line number where each @var{name} is defined are displayed as "
- "well. @option{-F} implies @option{-f}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4219
- msgid ""
- "The @option{-g} option forces variables to be created or modified at the "
- "global scope, even when @code{declare} is executed in a shell function. It "
- "is ignored in all other cases."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4225
- msgid ""
- "The @option{-I} option causes local variables to inherit the attributes "
- "(except the @var{nameref} attribute) and value of any existing variable "
- "with the same @var{name} at a surrounding scope. If there is no existing "
- "variable, the local variable is initially unset."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4228
- msgid ""
- "The following options can be used to restrict output to variables with the "
- "specified attributes or to give variables attributes:"
- msgstr ""
- #. type: item
- #: ./bashref.texi:4230 ./bashref.texi:4761 ./bashref.texi:4906
- #, no-wrap
- msgid "-a"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4232
- msgid "Each @var{name} is an indexed array variable (@pxref{Arrays})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4233
- #, no-wrap
- msgid "-A"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4235
- msgid "Each @var{name} is an associative array variable (@pxref{Arrays})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4236 ./bashref.texi:4776 ./bashref.texi:4948
- #, no-wrap
- msgid "-f"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4238
- msgid "Use function names only."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4239 ./bashref.texi:4779 ./bashref.texi:6578
- #, no-wrap
- msgid "-i"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4243
- msgid ""
- "The variable is to be treated as an integer; arithmetic evaluation "
- "(@pxref{Shell Arithmetic}) is performed when the variable is assigned a "
- "value."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4248
- msgid ""
- "When the variable is assigned a value, all upper-case characters are "
- "converted to lower-case. The upper-case attribute is disabled."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4249 ./bashref.texi:4478 ./bashref.texi:4791 ./bashref.texi:4966 ./bashref.texi:7480 ./bashref.texi:7503 ./bashref.texi:8350
- #, no-wrap
- msgid "-n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4258
- msgid ""
- "Give each @var{name} the @var{nameref} attribute, making it a name reference "
- "to another variable. That other variable is defined by the value of "
- "@var{name}. All references, assignments, and attribute modifications to "
- "@var{name}, except for those using or changing the @option{-n} attribute "
- "itself, are performed on the variable referenced by @var{name}'s value. The "
- "nameref attribute cannot be applied to array variables."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4259 ./bashref.texi:4635 ./bashref.texi:4801 ./bashref.texi:6593 ./bashref.texi:8357
- #, no-wrap
- msgid "-r"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4262
- msgid ""
- "Make @var{name}s readonly. These names cannot then be assigned values by "
- "subsequent assignment statements or unset."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4263 ./bashref.texi:4485 ./bashref.texi:4807 ./bashref.texi:5079
- #, no-wrap
- msgid "-t"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4268
- msgid ""
- "Give each @var{name} the @code{trace} attribute. Traced functions inherit "
- "the @code{DEBUG} and @code{RETURN} traps from the calling shell. The trace "
- "attribute has no special meaning for variables."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4269 ./bashref.texi:4487 ./bashref.texi:4810 ./bashref.texi:5082 ./bashref.texi:5199
- #, no-wrap
- msgid "-u"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4273
- msgid ""
- "When the variable is assigned a value, all lower-case characters are "
- "converted to upper-case. The lower-case attribute is disabled."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4274 ./bashref.texi:4817 ./bashref.texi:5091
- #, no-wrap
- msgid "-x"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4277
- msgid "Mark each @var{name} for export to subsequent commands via the environment."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4287
- msgid ""
- "Using @samp{+} instead of @samp{-} turns off the attribute instead, with the "
- "exceptions that @samp{+a} and @samp{+A} may not be used to destroy array "
- "variables and @samp{+r} will not remove the readonly attribute. When used "
- "in a function, @code{declare} makes each @var{name} local, as with the "
- "@code{local} command, unless the @option{-g} option is used. If a variable "
- "name is followed by =@var{value}, the value of the variable is set to "
- "@var{value}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4291
- msgid ""
- "When using @option{-a} or @option{-A} and the compound assignment syntax to "
- "create array variables, additional attributes do not take effect until "
- "subsequent assignments."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4301
- msgid ""
- "The return status is zero unless an invalid option is encountered, an "
- "attempt is made to define a function using @samp{-f foo=bar}, an attempt is "
- "made to assign a value to a readonly variable, an attempt is made to assign "
- "a value to an array variable without using the compound assignment syntax "
- "(@pxref{Arrays}), one of the @var{names} is not a valid shell variable name, "
- "an attempt is made to turn off readonly status for a readonly variable, an "
- "attempt is made to turn off array status for an array variable, or an "
- "attempt is made to display a non-existent function with @option{-f}."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4302 ./bashref.texi:4303
- #, no-wrap
- msgid "echo"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4306
- #, no-wrap
- msgid "echo [-neE] [@var{arg} @dots{}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4320
- msgid ""
- "Output the @var{arg}s, separated by spaces, terminated with a newline. The "
- "return status is 0 unless a write error occurs. If @option{-n} is "
- "specified, the trailing newline is suppressed. If the @option{-e} option is "
- "given, interpretation of the following backslash-escaped characters is "
- "enabled. The @option{-E} option disables the interpretation of these escape "
- "characters, even on systems where they are interpreted by default. The "
- "@code{xpg_echo} shell option may be used to dynamically determine whether or "
- "not @code{echo} expands these escape characters by default. @code{echo} "
- "does not interpret @option{--} to mean the end of options."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4322
- msgid "@code{echo} interprets the following escape sequences:"
- msgstr ""
- #. type: item
- #: ./bashref.texi:4327
- #, no-wrap
- msgid "\\c"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4329
- msgid "suppress further output"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4332
- msgid "escape"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4336
- msgid "new line"
- msgstr ""
- #. type: item
- #: ./bashref.texi:4344
- #, no-wrap
- msgid "\\0@var{nnn}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4347
- msgid ""
- "the eight-bit character whose value is the octal value @var{nnn} (zero to "
- "three octal digits)"
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4358 ./bashref.texi:4359
- #, no-wrap
- msgid "enable"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4362
- #, no-wrap
- msgid "enable [-a] [-dnps] [-f @var{filename}] [@var{name} @dots{}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4372
- msgid ""
- "Enable and disable builtin shell commands. Disabling a builtin allows a "
- "disk command which has the same name as a shell builtin to be executed "
- "without specifying a full pathname, even though the shell normally searches "
- "for builtins before disk commands. If @option{-n} is used, the @var{name}s "
- "become disabled. Otherwise @var{name}s are enabled. For example, to use "
- "the @code{test} binary found via @env{$PATH} instead of the shell builtin "
- "version, type @samp{enable -n test}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4378
- msgid ""
- "If the @option{-p} option is supplied, or no @var{name} arguments appear, a "
- "list of shell builtins is printed. With no other arguments, the list "
- "consists of all enabled shell builtins. The @option{-a} option means to "
- "list each builtin with an indication of whether or not it is enabled."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4382
- msgid ""
- "The @option{-f} option means to load the new builtin command @var{name} from "
- "shared object @var{filename}, on systems that support dynamic loading. The "
- "@option{-d} option will delete a builtin loaded with @option{-f}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4387
- msgid ""
- "If there are no options, a list of the shell builtins is displayed. The "
- "@option{-s} option restricts @code{enable} to the @sc{posix} special "
- "builtins. If @option{-s} is used with @option{-f}, the new builtin becomes "
- "a special builtin (@pxref{Special Builtins})."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4390
- msgid ""
- "The return status is zero unless a @var{name} is not a shell builtin or "
- "there is an error loading a new builtin from a shared object."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4391 ./bashref.texi:4392
- #, no-wrap
- msgid "help"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4395
- #, no-wrap
- msgid "help [-dms] [@var{pattern}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4401
- msgid ""
- "Display helpful information about builtin commands. If @var{pattern} is "
- "specified, @code{help} gives detailed help on all commands matching "
- "@var{pattern}, otherwise a list of the builtins is printed."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4405 ./bashref.texi:4473 ./bashref.texi:4770
- #, no-wrap
- msgid "-d"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4407
- msgid "Display a short description of each @var{pattern}"
- msgstr ""
- #. type: item
- #: ./bashref.texi:4407 ./bashref.texi:4788 ./bashref.texi:4960
- #, no-wrap
- msgid "-m"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4409
- msgid "Display the description of each @var{pattern} in a manpage-like format"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4411
- msgid "Display only a short usage synopsis for each @var{pattern}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4414
- msgid "The return status is zero unless no command matches @var{pattern}."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4415 ./bashref.texi:4416
- #, no-wrap
- msgid "let"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4419
- #, no-wrap
- msgid "let @var{expression} [@var{expression} @dots{}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4426
- msgid ""
- "The @code{let} builtin allows arithmetic to be performed on shell "
- "variables. Each @var{expression} is evaluated according to the rules given "
- "below in @ref{Shell Arithmetic}. If the last @var{expression} evaluates to "
- "0, @code{let} returns 1; otherwise 0 is returned."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4427 ./bashref.texi:4428
- #, no-wrap
- msgid "local"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4431
- #, no-wrap
- msgid "local [@var{option}] @var{name}[=@var{value}] @dots{}\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4448
- msgid ""
- "For each argument, a local variable named @var{name} is created, and "
- "assigned @var{value}. The @var{option} can be any of the options accepted "
- "by @code{declare}. @code{local} can only be used within a function; it "
- "makes the variable @var{name} have a visible scope restricted to that "
- "function and its children. If @var{name} is @samp{-}, the set of shell "
- "options is made local to the function in which @code{local} is invoked: "
- "shell options changed using the @code{set} builtin inside the function are "
- "restored to their original values when the function returns. The restore is "
- "effected as if a series of @code{set} commands were executed to restore the "
- "values that were in place before the function. The return status is zero "
- "unless @code{local} is used outside a function, an invalid @var{name} is "
- "supplied, or @var{name} is a readonly variable."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4449 ./bashref.texi:4450
- #, no-wrap
- msgid "logout"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4453
- #, no-wrap
- msgid "logout [@var{n}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4457
- msgid "Exit a login shell, returning a status of @var{n} to the shell's parent."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4458 ./bashref.texi:4459
- #, no-wrap
- msgid "mapfile"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4463
- #, no-wrap
- msgid ""
- "mapfile [-d @var{delim}] [-n @var{count}] [-O @var{origin}] [-s "
- "@var{count}]\n"
- " [-t] [-u @var{fd}] [-C @var{callback}] [-c @var{quantum}] "
- "[@var{array}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4470
- msgid ""
- "Read lines from the standard input into the indexed array variable "
- "@var{array}, or from file descriptor @var{fd} if the @option{-u} option is "
- "supplied. The variable @code{MAPFILE} is the default @var{array}. Options, "
- "if supplied, have the following meanings:"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4478
- msgid ""
- "The first character of @var{delim} is used to terminate each input line, "
- "rather than newline. If @var{delim} is the empty string, @code{mapfile} "
- "will terminate a line when it reads a NUL character."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4480
- msgid "Copy at most @var{count} lines. If @var{count} is 0, all lines are copied."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4480
- #, no-wrap
- msgid "-O"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4483
- msgid ""
- "Begin assigning to @var{array} at index @var{origin}. The default index is "
- "0."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4485
- msgid "Discard the first @var{count} lines read."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4487
- msgid "Remove a trailing @var{delim} (default newline) from each line read."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4489
- msgid "Read lines from file descriptor @var{fd} instead of the standard input."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4489 ./bashref.texi:5103
- #, no-wrap
- msgid "-C"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4492
- msgid ""
- "Evaluate @var{callback} each time @var{quantum} lines are read. The "
- "@option{-c} option specifies @var{quantum}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4492 ./bashref.texi:4767 ./bashref.texi:6569 ./bashref.texi:7446
- #, no-wrap
- msgid "-c"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4494
- msgid "Specify the number of lines read between each call to @var{callback}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4503
- msgid ""
- "If @option{-C} is specified without @option{-c}, the default quantum is "
- "5000. When @var{callback} is evaluated, it is supplied the index of the "
- "next array element to be assigned and the line to be assigned to that "
- "element as additional arguments. @var{callback} is evaluated after the line "
- "is read but before the array element is assigned."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4506
- msgid ""
- "If not supplied with an explicit origin, @code{mapfile} will clear "
- "@var{array} before assigning to it."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4510
- msgid ""
- "@code{mapfile} returns successfully unless an invalid option or option "
- "argument is supplied, @var{array} is invalid or unassignable, or @var{array} "
- "is not an indexed array."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4511 ./bashref.texi:4512
- #, no-wrap
- msgid "printf"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4515
- #, no-wrap
- msgid "printf [-v @var{var}] @var{format} [@var{arguments}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4521
- msgid ""
- "Write the formatted @var{arguments} to the standard output under the control "
- "of the @var{format}. The @option{-v} option causes the output to be "
- "assigned to the variable @var{var} rather than being printed to the standard "
- "output."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4529
- msgid ""
- "The @var{format} is a character string which contains three types of "
- "objects: plain characters, which are simply copied to standard output, "
- "character escape sequences, which are converted and copied to the standard "
- "output, and format specifications, each of which causes printing of the next "
- "successive @var{argument}. In addition to the standard @code{printf(1)} "
- "formats, @code{printf} interprets the following extensions:"
- msgstr ""
- #. type: item
- #: ./bashref.texi:4531
- #, no-wrap
- msgid "%b"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4535
- msgid ""
- "Causes @code{printf} to expand backslash escape sequences in the "
- "corresponding @var{argument} in the same way as @code{echo -e} (@pxref{Bash "
- "Builtins})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4535
- #, no-wrap
- msgid "%q"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4538
- msgid ""
- "Causes @code{printf} to output the corresponding @var{argument} in a format "
- "that can be reused as shell input."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4538
- #, no-wrap
- msgid "%(@var{datefmt})T"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4547
- msgid ""
- "Causes @code{printf} to output the date-time string resulting from using "
- "@var{datefmt} as a format string for @code{strftime}(3). The corresponding "
- "@var{argument} is an integer representing the number of seconds since the "
- "epoch. Two special argument values may be used: -1 represents the current "
- "time, and -2 represents the time the shell was invoked. If no argument is "
- "specified, conversion behaves as if -1 had been given. This is an exception "
- "to the usual @code{printf} behavior."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4554
- msgid ""
- "The %b, %q, and %T directives all use the field width and precision "
- "arguments from the format specification and write that many bytes from (or "
- "use that wide a field for) the expanded argument, which usually contains "
- "more characters than the original."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4559
- msgid ""
- "Arguments to non-string format specifiers are treated as C language "
- "constants, except that a leading plus or minus sign is allowed, and if the "
- "leading character is a single or double quote, the value is the ASCII value "
- "of the following character."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4565
- msgid ""
- "The @var{format} is reused as necessary to consume all of the "
- "@var{arguments}. If the @var{format} requires more @var{arguments} than are "
- "supplied, the extra format specifications behave as if a zero value or null "
- "string, as appropriate, had been supplied. The return value is zero on "
- "success, non-zero on failure."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4566 ./bashref.texi:4567
- #, no-wrap
- msgid "read"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4571
- #, no-wrap
- msgid ""
- "read [-ers] [-a @var{aname}] [-d @var{delim}] [-i @var{text}] [-n "
- "@var{nchars}]\n"
- " [-N @var{nchars}] [-p @var{prompt}] [-t @var{timeout}] [-u @var{fd}] "
- "[@var{name} @dots{}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4589
- msgid ""
- "One line is read from the standard input, or from the file descriptor "
- "@var{fd} supplied as an argument to the @option{-u} option, split into words "
- "as described above in @ref{Word Splitting}, and the first word is assigned "
- "to the first @var{name}, the second word to the second @var{name}, and so "
- "on. If there are more words than names, the remaining words and their "
- "intervening delimiters are assigned to the last @var{name}. If there are "
- "fewer words read from the input stream than names, the remaining names are "
- "assigned empty values. The characters in the value of the @env{IFS} "
- "variable are used to split the line into words using the same rules the "
- "shell uses for expansion (described above in @ref{Word Splitting}). The "
- "backslash character @samp{\\} may be used to remove any special meaning for "
- "the next character read and for line continuation."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4593
- #, no-wrap
- msgid "-a @var{aname}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4598
- msgid ""
- "The words are assigned to sequential indices of the array variable "
- "@var{aname}, starting at 0. All elements are removed from @var{aname} "
- "before the assignment. Other @var{name} arguments are ignored."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4599
- #, no-wrap
- msgid "-d @var{delim}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4604
- msgid ""
- "The first character of @var{delim} is used to terminate the input line, "
- "rather than newline. If @var{delim} is the empty string, @code{read} will "
- "terminate a line when it reads a NUL character."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4605 ./bashref.texi:4773 ./bashref.texi:4915
- #, no-wrap
- msgid "-e"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4609
- msgid ""
- "Readline (@pxref{Command Line Editing}) is used to obtain the line. "
- "Readline uses the current (or default, if line editing was not previously "
- "active) editing settings, but uses Readline's default filename completion."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4610
- #, no-wrap
- msgid "-i @var{text}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4613
- msgid ""
- "If Readline is being used to read the line, @var{text} is placed into the "
- "editing buffer before editing begins."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4614
- #, no-wrap
- msgid "-n @var{nchars}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4618
- msgid ""
- "@code{read} returns after reading @var{nchars} characters rather than "
- "waiting for a complete line of input, but honors a delimiter if fewer than "
- "@var{nchars} characters are read before the delimiter."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4619
- #, no-wrap
- msgid "-N @var{nchars}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4629
- msgid ""
- "@code{read} returns after reading exactly @var{nchars} characters rather "
- "than waiting for a complete line of input, unless EOF is encountered or "
- "@code{read} times out. Delimiter characters encountered in the input are "
- "not treated specially and do not cause @code{read} to return until "
- "@var{nchars} characters are read. The result is not split on the characters "
- "in @code{IFS}; the intent is that the variable is assigned exactly the "
- "characters read (with the exception of backslash; see the @option{-r} option "
- "below)."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4630
- #, no-wrap
- msgid "-p @var{prompt}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4634
- msgid ""
- "Display @var{prompt}, without a trailing newline, before attempting to read "
- "any input. The prompt is displayed only if input is coming from a terminal."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4640
- msgid ""
- "If this option is given, backslash does not act as an escape character. The "
- "backslash is considered to be part of the line. In particular, a "
- "backslash-newline pair may not then be used as a line continuation."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4644
- msgid "Silent mode. If input is coming from a terminal, characters are not echoed."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4645
- #, no-wrap
- msgid "-t @var{timeout}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4660
- msgid ""
- "Cause @code{read} to time out and return failure if a complete line of input "
- "(or a specified number of characters) is not read within @var{timeout} "
- "seconds. @var{timeout} may be a decimal number with a fractional portion "
- "following the decimal point. This option is only effective if @code{read} "
- "is reading input from a terminal, pipe, or other special file; it has no "
- "effect when reading from regular files. If @code{read} times out, "
- "@code{read} saves any partial input read into the specified variable "
- "@var{name}. If @var{timeout} is 0, @code{read} returns immediately, without "
- "trying to read any data. The exit status is 0 if input is available on the "
- "specified file descriptor, non-zero otherwise. The exit status is greater "
- "than 128 if the timeout is exceeded."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4661
- #, no-wrap
- msgid "-u @var{fd}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4663
- msgid "Read input from file descriptor @var{fd}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4673
- msgid ""
- "If no @var{name}s are supplied, the line read, without the ending delimiter "
- "but otherwise unmodified, is assigned to the variable @env{REPLY}. The exit "
- "status is zero, unless end-of-file is encountered, @code{read} times out (in "
- "which case the status is greater than 128), a variable assignment error "
- "(such as assigning to a readonly variable) occurs, or an invalid file "
- "descriptor is supplied as the argument to @option{-u}."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4674 ./bashref.texi:4675
- #, no-wrap
- msgid "readarray"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4679
- #, no-wrap
- msgid ""
- "readarray [-d @var{delim}] [-n @var{count}] [-O @var{origin}] [-s "
- "@var{count}]\n"
- " [-t] [-u @var{fd}] [-C @var{callback}] [-c @var{quantum}] "
- "[@var{array}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4684
- msgid ""
- "Read lines from the standard input into the indexed array variable "
- "@var{array}, or from file descriptor @var{fd} if the @option{-u} option is "
- "supplied."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4686
- msgid "A synonym for @code{mapfile}."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4687 ./bashref.texi:4688
- #, no-wrap
- msgid "source"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4691
- #, no-wrap
- msgid "source @var{filename}\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4694
- msgid "A synonym for @code{.} (@pxref{Bourne Shell Builtins})."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4695 ./bashref.texi:4696
- #, no-wrap
- msgid "type"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4699
- #, no-wrap
- msgid "type [-afptP] [@var{name} @dots{}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4703
- msgid ""
- "For each @var{name}, indicate how it would be interpreted if used as a "
- "command name."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4711
- msgid ""
- "If the @option{-t} option is used, @code{type} prints a single word which is "
- "one of @samp{alias}, @samp{function}, @samp{builtin}, @samp{file} or "
- "@samp{keyword}, if @var{name} is an alias, shell function, shell builtin, "
- "disk file, or shell reserved word, respectively. If the @var{name} is not "
- "found, then nothing is printed, and @code{type} returns a failure status."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4715
- msgid ""
- "If the @option{-p} option is used, @code{type} either returns the name of "
- "the disk file that would be executed, or nothing if @option{-t} would not "
- "return @samp{file}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4718
- msgid ""
- "The @option{-P} option forces a path search for each @var{name}, even if "
- "@option{-t} would not return @samp{file}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4721
- msgid ""
- "If a command is hashed, @option{-p} and @option{-P} print the hashed value, "
- "which is not necessarily the file that appears first in @code{$PATH}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4726
- msgid ""
- "If the @option{-a} option is used, @code{type} returns all of the places "
- "that contain an executable named @var{file}. This includes aliases and "
- "functions, if and only if the @option{-p} option is not also used."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4729
- msgid ""
- "If the @option{-f} option is used, @code{type} does not attempt to find "
- "shell functions, as with the @code{command} builtin."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4732
- msgid ""
- "The return status is zero if all of the @var{names} are found, non-zero if "
- "any are not found."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4733 ./bashref.texi:4734
- #, no-wrap
- msgid "typeset"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4737
- #, no-wrap
- msgid "typeset [-afFgrxilnrtux] [-p] [@var{name}[=@var{value}] @dots{}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4742
- msgid ""
- "The @code{typeset} command is supplied for compatibility with the Korn "
- "shell. It is a synonym for the @code{declare} builtin command."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4743 ./bashref.texi:4744
- #, no-wrap
- msgid "ulimit"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4748
- #, no-wrap
- msgid ""
- "ulimit [-HS] -a\n"
- "ulimit [-HS] [-bcdefiklmnpqrstuvxPRT] [@var{limit}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4753
- msgid ""
- "@code{ulimit} provides control over the resources available to processes "
- "started by the shell, on systems that allow such control. If an option is "
- "given, it is interpreted as follows:"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4757
- msgid "Change and report the soft limit associated with a resource."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4758 ./bashref.texi:5112
- #, no-wrap
- msgid "-H"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4760
- msgid "Change and report the hard limit associated with a resource."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4763
- msgid "All current limits are reported; no limits are set."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4764 ./bashref.texi:4911
- #, no-wrap
- msgid "-b"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4766
- msgid "The maximum socket buffer size."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4769
- msgid "The maximum size of core files created."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4772
- msgid "The maximum size of a process's data segment."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4775
- msgid "The maximum scheduling priority (\"nice\")."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4778
- msgid "The maximum size of files written by the shell and its children."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4781
- msgid "The maximum number of pending signals."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4782 ./bashref.texi:4955
- #, no-wrap
- msgid "-k"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4784
- msgid "The maximum number of kqueues that may be allocated."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4787
- msgid "The maximum size that may be locked into memory."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4790
- msgid "The maximum resident set size (many systems do not honor this limit)."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4794
- msgid ""
- "The maximum number of open file descriptors (most systems do not allow this "
- "value to be set)."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4797
- msgid "The pipe buffer size."
- msgstr ""
- #. type: itemx
- #: ./bashref.texi:4798 ./bashref.texi:5202 ./bashref.texi:8743
- #, no-wrap
- msgid "-q"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4800
- msgid "The maximum number of bytes in @sc{posix} message queues."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4803
- msgid "The maximum real-time scheduling priority."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4806
- msgid "The maximum stack size."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4809
- msgid "The maximum amount of cpu time in seconds."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4812
- msgid "The maximum number of processes available to a single user."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4816
- msgid ""
- "The maximum amount of virtual memory available to the shell, and, on some "
- "systems, to its children."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4819
- msgid "The maximum number of file locks."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4822
- msgid "The maximum number of pseudoterminals."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4823
- #, no-wrap
- msgid "-R"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4825
- msgid ""
- "The maximum time a real-time process can run before blocking, in "
- "microseconds."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4826 ./bashref.texi:5141
- #, no-wrap
- msgid "-T"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4828
- msgid "The maximum number of threads."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4856
- msgid ""
- "If @var{limit} is given, and the @option{-a} option is not used, @var{limit} "
- "is the new value of the specified resource. The special @var{limit} values "
- "@code{hard}, @code{soft}, and @code{unlimited} stand for the current hard "
- "limit, the current soft limit, and no limit, respectively. A hard limit "
- "cannot be increased by a non-root user once it is set; a soft limit may be "
- "increased up to the value of the hard limit. Otherwise, the current value "
- "of the soft limit for the specified resource is printed, unless the "
- "@option{-H} option is supplied. When more than one resource is specified, "
- "the limit name and unit, if appropriate, are printed before the value. When "
- "setting new limits, if neither @option{-H} nor @option{-S} is supplied, both "
- "the hard and soft limits are set. If no option is given, then @option{-f} "
- "is assumed. Values are in 1024-byte increments, except for @option{-t}, "
- "which is in seconds; @option{-R}, which is in microseconds; @option{-p}, "
- "which is in units of 512-byte blocks; @option{-P}, @option{-T}, @option{-b}, "
- "@option{-k}, @option{-n} and @option{-u}, which are unscaled values; and, "
- "when in @sc{posix} Mode (@pxref{Bash POSIX Mode}), @option{-c} and "
- "@option{-f}, which are in 512-byte increments."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4859
- msgid ""
- "The return status is zero unless an invalid option or argument is supplied, "
- "or an error occurs while setting a new limit."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4860 ./bashref.texi:4861
- #, no-wrap
- msgid "unalias"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4864
- #, no-wrap
- msgid "unalias [-a] [@var{name} @dots{} ]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4869
- msgid ""
- "Remove each @var{name} from the list of aliases. If @option{-a} is "
- "supplied, all aliases are removed. Aliases are described in @ref{Aliases}."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:4878 ./bashref.texi:4880 ./bashref.texi:4881
- #, no-wrap
- msgid "The Set Builtin"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:4878
- msgid "Change the values of shell attributes and positional parameters."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:4878 ./bashref.texi:5171 ./bashref.texi:5172
- #, no-wrap
- msgid "The Shopt Builtin"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:4878
- msgid "Modify shell optional behavior."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:4886
- msgid ""
- "This builtin is so complicated that it deserves its own section. @code{set} "
- "allows you to change the values of shell options and set the positional "
- "parameters, or to display the names and values of shell variables."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:4888 ./bashref.texi:4889
- #, no-wrap
- msgid "set"
- msgstr ""
- #. type: example
- #: ./bashref.texi:4893
- #, no-wrap
- msgid ""
- "set [--abefhkmnptuvxBCEHPT] [-o @var{option-name}] [@var{argument} "
- "@dots{}]\n"
- "set [+abefhkmnptuvxBCEHPT] [+o @var{option-name}] [@var{argument} @dots{}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4901
- msgid ""
- "If no options or arguments are supplied, @code{set} displays the names and "
- "values of all shell variables and functions, sorted according to the current "
- "locale, in a format that may be reused as input for setting or resetting the "
- "currently-set variables. Read-only variables cannot be reset. In "
- "@sc{posix} mode, only shell variables are listed."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4904
- msgid ""
- "When options are supplied, they set or unset shell attributes. Options, if "
- "specified, have the following meanings:"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4910
- msgid ""
- "Each variable or function that is created or modified is given the export "
- "attribute and marked for export to the environment of subsequent commands."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4914
- msgid ""
- "Cause the status of terminated background jobs to be reported immediately, "
- "rather than before printing the next primary prompt."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4933
- msgid ""
- "Exit immediately if a pipeline (@pxref{Pipelines}), which may consist of a "
- "single simple command (@pxref{Simple Commands}), a list (@pxref{Lists}), or "
- "a compound command (@pxref{Compound Commands}) returns a non-zero status. "
- "The shell does not exit if the command that fails is part of the command "
- "list immediately following a @code{while} or @code{until} keyword, part of "
- "the test in an @code{if} statement, part of any command executed in a "
- "@code{&&} or @code{||} list except the command following the final @code{&&} "
- "or @code{||}, any command in a pipeline but the last, or if the command's "
- "return status is being inverted with @code{!}. If a compound command other "
- "than a subshell returns a non-zero status because a command failed while "
- "@option{-e} was being ignored, the shell does not exit. A trap on "
- "@code{ERR}, if set, is executed before the shell exits."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4937
- msgid ""
- "This option applies to the shell environment and each subshell environment "
- "separately (@pxref{Command Execution Environment}), and may cause subshells "
- "to exit before executing all the commands in the subshell."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4947
- msgid ""
- "If a compound command or shell function executes in a context where "
- "@option{-e} is being ignored, none of the commands executed within the "
- "compound command or function body will be affected by the @option{-e} "
- "setting, even if @option{-e} is set and a command returns a failure status. "
- "If a compound command or shell function sets @option{-e} while executing in "
- "a context where @option{-e} is ignored, that setting will not have any "
- "effect until the compound command or the command containing the function "
- "call completes."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4950
- msgid "Disable filename expansion (globbing)."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4951
- #, no-wrap
- msgid "-h"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4954
- msgid ""
- "Locate and remember (hash) commands as they are looked up for execution. "
- "This option is enabled by default."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4959
- msgid ""
- "All arguments in the form of assignment statements are placed in the "
- "environment for a command, not just those that precede the command name."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4965
- msgid ""
- "Job control is enabled (@pxref{Job Control}). All processes run in a "
- "separate process group. When a background job completes, the shell prints a "
- "line containing its exit status."
- msgstr ""
- #. type: table
- #: ./bashref.texi:4970
- msgid ""
- "Read commands but do not execute them. This may be used to check a script "
- "for syntax errors. This option is ignored by interactive shells."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4971
- #, no-wrap
- msgid "-o @var{option-name}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4974
- msgid "Set the option corresponding to @var{option-name}:"
- msgstr ""
- #. type: item
- #: ./bashref.texi:4976
- #, no-wrap
- msgid "allexport"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4978
- msgid "Same as @code{-a}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4979
- #, no-wrap
- msgid "braceexpand"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4981
- msgid "Same as @code{-B}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4982
- #, no-wrap
- msgid "emacs"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4985
- msgid ""
- "Use an @code{emacs}-style line editing interface (@pxref{Command Line "
- "Editing}). This also affects the editing interface used for @code{read -e}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4986
- #, no-wrap
- msgid "errexit"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4988
- msgid "Same as @code{-e}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4989
- #, no-wrap
- msgid "errtrace"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4991
- msgid "Same as @code{-E}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4992
- #, no-wrap
- msgid "functrace"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4994
- msgid "Same as @code{-T}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4995
- #, no-wrap
- msgid "hashall"
- msgstr ""
- #. type: table
- #: ./bashref.texi:4997
- msgid "Same as @code{-h}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:4998
- #, no-wrap
- msgid "histexpand"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5000
- msgid "Same as @code{-H}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5001
- #, no-wrap
- msgid "history"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5004
- msgid ""
- "Enable command history, as described in @ref{Bash History Facilities}. This "
- "option is on by default in interactive shells."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5005
- #, no-wrap
- msgid "ignoreeof"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5007
- msgid "An interactive shell will not exit upon reading EOF."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5008
- #, no-wrap
- msgid "keyword"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5010
- msgid "Same as @code{-k}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5011
- #, no-wrap
- msgid "monitor"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5013
- msgid "Same as @code{-m}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5014
- #, no-wrap
- msgid "noclobber"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5016
- msgid "Same as @code{-C}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5017
- #, no-wrap
- msgid "noexec"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5019
- msgid "Same as @code{-n}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5020
- #, no-wrap
- msgid "noglob"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5022
- msgid "Same as @code{-f}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5023
- #, no-wrap
- msgid "nolog"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5025
- msgid "Currently ignored."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5026
- #, no-wrap
- msgid "notify"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5028
- msgid "Same as @code{-b}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5029
- #, no-wrap
- msgid "nounset"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5031
- msgid "Same as @code{-u}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5032
- #, no-wrap
- msgid "onecmd"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5034
- msgid "Same as @code{-t}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5035
- #, no-wrap
- msgid "physical"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5037
- msgid "Same as @code{-P}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5038
- #, no-wrap
- msgid "pipefail"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5043
- msgid ""
- "If set, the return value of a pipeline is the value of the last (rightmost) "
- "command to exit with a non-zero status, or zero if all commands in the "
- "pipeline exit successfully. This option is disabled by default."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5044
- #, no-wrap
- msgid "posix"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5050
- msgid ""
- "Change the behavior of Bash where the default operation differs from the "
- "@sc{posix} standard to match the standard (@pxref{Bash POSIX Mode}). This "
- "is intended to make Bash behave as a strict superset of that standard."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5051
- #, no-wrap
- msgid "privileged"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5053
- msgid "Same as @code{-p}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5054
- #, no-wrap
- msgid "verbose"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5056
- msgid "Same as @code{-v}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5057
- #, no-wrap
- msgid "vi"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5060
- msgid ""
- "Use a @code{vi}-style line editing interface. This also affects the editing "
- "interface used for @code{read -e}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5061
- #, no-wrap
- msgid "xtrace"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5063
- msgid "Same as @code{-x}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5078
- msgid ""
- "Turn on privileged mode. In this mode, the @env{$BASH_ENV} and @env{$ENV} "
- "files are not processed, shell functions are not inherited from the "
- "environment, and the @env{SHELLOPTS}, @env{BASHOPTS}, @env{CDPATH} and "
- "@env{GLOBIGNORE} variables, if they appear in the environment, are ignored. "
- "If the shell is started with the effective user (group) id not equal to the "
- "real user (group) id, and the @option{-p} option is not supplied, these "
- "actions are taken and the effective user id is set to the real user id. If "
- "the @option{-p} option is supplied at startup, the effective user id is not "
- "reset. Turning this option off causes the effective user and group ids to "
- "be set to the real user and group ids."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5081
- msgid "Exit after reading and executing one command."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5087
- msgid ""
- "Treat unset variables and parameters other than the special parameters "
- "@samp{@@} or @samp{*} as an error when performing parameter expansion. An "
- "error message will be written to the standard error, and a non-interactive "
- "shell will exit."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5090
- msgid "Print shell input lines as they are read."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5098
- msgid ""
- "Print a trace of simple commands, @code{for} commands, @code{case} commands, "
- "@code{select} commands, and arithmetic @code{for} commands and their "
- "arguments or associated word lists after they are expanded and before they "
- "are executed. The value of the @env{PS4} variable is expanded and the "
- "resultant value is printed before the command and its expanded arguments."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5099
- #, no-wrap
- msgid "-B"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5102
- msgid ""
- "The shell will perform brace expansion (@pxref{Brace Expansion}). This "
- "option is on by default."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5106
- msgid ""
- "Prevent output redirection using @samp{>}, @samp{>&}, and @samp{<>} from "
- "overwriting existing files."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5107
- #, no-wrap
- msgid "-E"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5111
- msgid ""
- "If set, any trap on @code{ERR} is inherited by shell functions, command "
- "substitutions, and commands executed in a subshell environment. The "
- "@code{ERR} trap is normally not inherited in such cases."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5115
- msgid ""
- "Enable @samp{!} style history substitution (@pxref{History Interaction}). "
- "This option is on by default for interactive shells."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5122
- msgid ""
- "If set, do not resolve symbolic links when performing commands such as "
- "@code{cd} which change the current directory. The physical directory is "
- "used instead. By default, Bash follows the logical chain of directories "
- "when performing commands which change the current directory."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5125
- msgid ""
- "For example, if @file{/usr/sys} is a symbolic link to @file{/usr/local/sys} "
- "then:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:5130
- #, no-wrap
- msgid ""
- "$ cd /usr/sys; echo $PWD\n"
- "/usr/sys\n"
- "$ cd ..; pwd\n"
- "/usr\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5134
- msgid "If @code{set -P} is on, then:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:5139
- #, no-wrap
- msgid ""
- "$ cd /usr/sys; echo $PWD\n"
- "/usr/local/sys\n"
- "$ cd ..; pwd\n"
- "/usr/local\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5147
- msgid ""
- "If set, any trap on @code{DEBUG} and @code{RETURN} are inherited by shell "
- "functions, command substitutions, and commands executed in a subshell "
- "environment. The @code{DEBUG} and @code{RETURN} traps are normally not "
- "inherited in such cases."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5148 ./bashref.texi:6621
- #, no-wrap
- msgid "--"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5152
- msgid ""
- "If no arguments follow this option, then the positional parameters are "
- "unset. Otherwise, the positional parameters are set to the @var{arguments}, "
- "even if some of them begin with a @samp{-}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5158
- msgid ""
- "Signal the end of options, cause all remaining @var{arguments} to be "
- "assigned to the positional parameters. The @option{-x} and @option{-v} "
- "options are turned off. If there are no arguments, the positional "
- "parameters remain unchanged."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5163
- msgid ""
- "Using @samp{+} rather than @samp{-} causes these options to be turned off. "
- "The options can also be used upon invocation of the shell. The current set "
- "of options may be found in @code{$-}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5167
- msgid ""
- "The remaining N @var{arguments} are positional parameters and are assigned, "
- "in order, to @code{$1}, @code{$2}, @dots{} @code{$N}. The special parameter "
- "@code{#} is set to N."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5169
- msgid "The return status is always zero unless an invalid option is supplied."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5175
- msgid "This builtin allows you to change additional shell optional behavior."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:5178 ./bashref.texi:5179
- #, no-wrap
- msgid "shopt"
- msgstr ""
- #. type: example
- #: ./bashref.texi:5182
- #, no-wrap
- msgid "shopt [-pqsu] [-o] [@var{optname} @dots{}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5194
- msgid ""
- "Toggle the values of settings controlling optional shell behavior. The "
- "settings can be either those listed below, or, if the @option{-o} option is "
- "used, those available with the @option{-o} option to the @code{set} builtin "
- "command (@pxref{The Set Builtin}). With no options, or with the @option{-p} "
- "option, a list of all settable options is displayed, with an indication of "
- "whether or not each is set; if @var{optnames} are supplied, the output is "
- "restricted to those options. The @option{-p} option causes output to be "
- "displayed in a form that may be reused as input. Other options have the "
- "following meanings:"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5198
- msgid "Enable (set) each @var{optname}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5201
- msgid "Disable (unset) each @var{optname}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5208
- msgid ""
- "Suppresses normal output; the return status indicates whether the "
- "@var{optname} is set or unset. If multiple @var{optname} arguments are "
- "given with @option{-q}, the return status is zero if all @var{optnames} are "
- "enabled; non-zero otherwise."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5209
- #, no-wrap
- msgid "-o"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5213
- msgid ""
- "Restricts the values of @var{optname} to be those defined for the "
- "@option{-o} option to the @code{set} builtin (@pxref{The Set Builtin})."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5218
- msgid ""
- "If either @option{-s} or @option{-u} is used with no @var{optname} "
- "arguments, @code{shopt} shows only those options which are set or unset, "
- "respectively."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5221
- msgid ""
- "Unless otherwise noted, the @code{shopt} options are disabled (off) by "
- "default."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5226
- msgid ""
- "The return status when listing options is zero if all @var{optnames} are "
- "enabled, non-zero otherwise. When setting or unsetting options, the return "
- "status is zero unless an @var{optname} is not a valid shell option."
- msgstr ""
- #. type: table
- #: ./bashref.texi:5228
- msgid "The list of @code{shopt} options is:"
- msgstr ""
- #. type: item
- #: ./bashref.texi:5230
- #, no-wrap
- msgid "assoc_expand_once"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5235
- msgid ""
- "If set, the shell suppresses multiple evaluation of associative array "
- "subscripts during arithmetic expression evaluation, while executing builtins "
- "that can perform variable assignments, and while executing builtins that "
- "perform array dereferencing."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5236
- #, no-wrap
- msgid "autocd"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5240
- msgid ""
- "If set, a command name that is the name of a directory is executed as if it "
- "were the argument to the @code{cd} command. This option is only used by "
- "interactive shells."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5241
- #, no-wrap
- msgid "cdable_vars"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5245
- msgid ""
- "If this is set, an argument to the @code{cd} builtin command that is not a "
- "directory is assumed to be the name of a variable whose value is the "
- "directory to change to."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5246
- #, no-wrap
- msgid "cdspell"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5254
- msgid ""
- "If set, minor errors in the spelling of a directory component in a @code{cd} "
- "command will be corrected. The errors checked for are transposed "
- "characters, a missing character, and a character too many. If a correction "
- "is found, the corrected path is printed, and the command proceeds. This "
- "option is only used by interactive shells."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5255
- #, no-wrap
- msgid "checkhash"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5259
- msgid ""
- "If this is set, Bash checks that a command found in the hash table exists "
- "before trying to execute it. If a hashed command no longer exists, a normal "
- "path search is performed."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5260
- #, no-wrap
- msgid "checkjobs"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5266
- msgid ""
- "If set, Bash lists the status of any stopped and running jobs before exiting "
- "an interactive shell. If any jobs are running, this causes the exit to be "
- "deferred until a second exit is attempted without an intervening command "
- "(@pxref{Job Control}). The shell always postpones exiting if any jobs are "
- "stopped."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5267
- #, no-wrap
- msgid "checkwinsize"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5272
- msgid ""
- "If set, Bash checks the window size after each external (non-builtin) "
- "command and, if necessary, updates the values of @env{LINES} and "
- "@env{COLUMNS}. This option is enabled by default."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5273
- #, no-wrap
- msgid "cmdhist"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5280
- msgid ""
- "If set, Bash attempts to save all lines of a multiple-line command in the "
- "same history entry. This allows easy re-editing of multi-line commands. "
- "This option is enabled by default, but only has an effect if command history "
- "is enabled (@pxref{Bash History Facilities})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5281 ./bashref.texi:8072
- #, no-wrap
- msgid "compat31"
- msgstr ""
- #. type: item
- #: ./bashref.texi:5282 ./bashref.texi:8079
- #, no-wrap
- msgid "compat32"
- msgstr ""
- #. type: item
- #: ./bashref.texi:5283 ./bashref.texi:8089
- #, no-wrap
- msgid "compat40"
- msgstr ""
- #. type: item
- #: ./bashref.texi:5284 ./bashref.texi:8100
- #, no-wrap
- msgid "compat41"
- msgstr ""
- #. type: item
- #: ./bashref.texi:5285 ./bashref.texi:8113
- #, no-wrap
- msgid "compat42"
- msgstr ""
- #. type: item
- #: ./bashref.texi:5286 ./bashref.texi:8127
- #, no-wrap
- msgid "compat43"
- msgstr ""
- #. type: item
- #: ./bashref.texi:5287 ./bashref.texi:8146
- #, no-wrap
- msgid "compat44"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5290
- msgid ""
- "These control aspects of the shell's compatibility mode (@pxref{Shell "
- "Compatibility Mode})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5291
- #, no-wrap
- msgid "complete_fullquote"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5307
- msgid ""
- "If set, Bash quotes all shell metacharacters in filenames and directory "
- "names when performing completion. If not set, Bash removes metacharacters "
- "such as the dollar sign from the set of characters that will be quoted in "
- "completed filenames when these metacharacters appear in shell variable "
- "references in words to be completed. This means that dollar signs in "
- "variable names that expand to directories will not be quoted; however, any "
- "dollar signs appearing in filenames will not be quoted, either. This is "
- "active only when bash is using backslashes to quote completed filenames. "
- "This variable is set by default, which is the default Bash behavior in "
- "versions through 4.2."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5308
- #, no-wrap
- msgid "direxpand"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5314
- msgid ""
- "If set, Bash replaces directory names with the results of word expansion "
- "when performing filename completion. This changes the contents of the "
- "readline editing buffer. If not set, Bash attempts to preserve what the "
- "user typed."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5315
- #, no-wrap
- msgid "dirspell"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5319
- msgid ""
- "If set, Bash attempts spelling correction on directory names during word "
- "completion if the directory name initially supplied does not exist."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5320
- #, no-wrap
- msgid "dotglob"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5325
- msgid ""
- "If set, Bash includes filenames beginning with a `.' in the results of "
- "filename expansion. The filenames @samp{.} and @samp{..} must always be "
- "matched explicitly, even if @code{dotglob} is set."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5326
- #, no-wrap
- msgid "execfail"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5331
- msgid ""
- "If this is set, a non-interactive shell will not exit if it cannot execute "
- "the file specified as an argument to the @code{exec} builtin command. An "
- "interactive shell does not exit if @code{exec} fails."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5332
- #, no-wrap
- msgid "expand_aliases"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5336
- msgid ""
- "If set, aliases are expanded as described below under Aliases, "
- "@ref{Aliases}. This option is enabled by default for interactive shells."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5337
- #, no-wrap
- msgid "extdebug"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5343
- msgid ""
- "If set at shell invocation, or in a shell startup file, arrange to execute "
- "the debugger profile before the shell starts, identical to the "
- "@option{--debugger} option. If set after invocation, behavior intended for "
- "use by debuggers is enabled:"
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:5349
- msgid ""
- "The @option{-F} option to the @code{declare} builtin (@pxref{Bash Builtins}) "
- "displays the source file name and line number corresponding to each function "
- "name supplied as an argument."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:5353
- msgid ""
- "If the command run by the @code{DEBUG} trap returns a non-zero value, the "
- "next command is skipped and not executed."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:5359
- msgid ""
- "If the command run by the @code{DEBUG} trap returns a value of 2, and the "
- "shell is executing in a subroutine (a shell function or a shell script "
- "executed by the @code{.} or @code{source} builtins), the shell simulates a "
- "call to @code{return}."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:5363
- msgid ""
- "@code{BASH_ARGC} and @code{BASH_ARGV} are updated as described in their "
- "descriptions (@pxref{Bash Variables})."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:5368
- msgid ""
- "Function tracing is enabled: command substitution, shell functions, and "
- "subshells invoked with @code{( @var{command} )} inherit the @code{DEBUG} and "
- "@code{RETURN} traps."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:5373
- msgid ""
- "Error tracing is enabled: command substitution, shell functions, and "
- "subshells invoked with @code{( @var{command} )} inherit the @code{ERR} trap."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5375
- #, no-wrap
- msgid "extglob"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5378
- msgid ""
- "If set, the extended pattern matching features described above "
- "(@pxref{Pattern Matching}) are enabled."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5379
- #, no-wrap
- msgid "extquote"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5383
- msgid ""
- "If set, @code{$'@var{string}'} and @code{$\"@var{string}\"} quoting is "
- "performed within @code{$@{@var{parameter}@}} expansions enclosed in double "
- "quotes. This option is enabled by default."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5384
- #, no-wrap
- msgid "failglob"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5387
- msgid ""
- "If set, patterns which fail to match filenames during filename expansion "
- "result in an expansion error."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5388
- #, no-wrap
- msgid "force_fignore"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5394
- msgid ""
- "If set, the suffixes specified by the @env{FIGNORE} shell variable cause "
- "words to be ignored when performing word completion even if the ignored "
- "words are the only possible completions. @xref{Bash Variables}, for a "
- "description of @env{FIGNORE}. This option is enabled by default."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5395
- #, no-wrap
- msgid "globasciiranges"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5403
- msgid ""
- "If set, range expressions used in pattern matching bracket expressions "
- "(@pxref{Pattern Matching}) behave as if in the traditional C locale when "
- "performing comparisons. That is, the current locale's collating sequence is "
- "not taken into account, so @samp{b} will not collate between @samp{A} and "
- "@samp{B}, and upper-case and lower-case ASCII characters will collate "
- "together."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5404
- #, no-wrap
- msgid "globstar"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5409
- msgid ""
- "If set, the pattern @samp{**} used in a filename expansion context will "
- "match all files and zero or more directories and subdirectories. If the "
- "pattern is followed by a @samp{/}, only directories and subdirectories "
- "match."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5410
- #, no-wrap
- msgid "gnu_errfmt"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5413
- msgid ""
- "If set, shell error messages are written in the standard @sc{gnu} error "
- "message format."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5414
- #, no-wrap
- msgid "histappend"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5418
- msgid ""
- "If set, the history list is appended to the file named by the value of the "
- "@env{HISTFILE} variable when the shell exits, rather than overwriting the "
- "file."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5419
- #, no-wrap
- msgid "histreedit"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5423
- msgid ""
- "If set, and Readline is being used, a user is given the opportunity to "
- "re-edit a failed history substitution."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5424
- #, no-wrap
- msgid "histverify"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5429
- msgid ""
- "If set, and Readline is being used, the results of history substitution are "
- "not immediately passed to the shell parser. Instead, the resulting line is "
- "loaded into the Readline editing buffer, allowing further modification."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5430
- #, no-wrap
- msgid "hostcomplete"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5435
- msgid ""
- "If set, and Readline is being used, Bash will attempt to perform hostname "
- "completion when a word containing a @samp{@@} is being completed "
- "(@pxref{Commands For Completion}). This option is enabled by default."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5436
- #, no-wrap
- msgid "huponexit"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5439
- msgid ""
- "If set, Bash will send @code{SIGHUP} to all jobs when an interactive login "
- "shell exits (@pxref{Signals})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5440
- #, no-wrap
- msgid "inherit_errexit"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5444
- msgid ""
- "If set, command substitution inherits the value of the @code{errexit} "
- "option, instead of unsetting it in the subshell environment. This option is "
- "enabled when @sc{posix} mode is enabled."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5445
- #, no-wrap
- msgid "interactive_comments"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5450
- msgid ""
- "Allow a word beginning with @samp{#} to cause that word and all remaining "
- "characters on that line to be ignored in an interactive shell. This option "
- "is enabled by default."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5451
- #, no-wrap
- msgid "lastpipe"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5454
- msgid ""
- "If set, and job control is not active, the shell runs the last command of a "
- "pipeline not executed in the background in the current shell environment."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5455
- #, no-wrap
- msgid "lithist"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5459
- msgid ""
- "If enabled, and the @code{cmdhist} option is enabled, multi-line commands "
- "are saved to the history with embedded newlines rather than using semicolon "
- "separators where possible."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5460
- #, no-wrap
- msgid "localvar_inherit"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5464
- msgid ""
- "If set, local variables inherit the value and attributes of a variable of "
- "the same name that exists at a previous scope before any new value is "
- "assigned. The @var{nameref} attribute is not inherited."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5465
- #, no-wrap
- msgid "localvar_unset"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5470
- msgid ""
- "If set, calling @code{unset} on local variables in previous function scopes "
- "marks them so subsequent lookups find them unset until that function "
- "returns. This is identical to the behavior of unsetting local variables at "
- "the current function scope."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5471
- #, no-wrap
- msgid "login_shell"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5475
- msgid ""
- "The shell sets this option if it is started as a login shell "
- "(@pxref{Invoking Bash}). The value may not be changed."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5476
- #, no-wrap
- msgid "mailwarn"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5480
- msgid ""
- "If set, and a file that Bash is checking for mail has been accessed since "
- "the last time it was checked, the message @code{\"The mail in @var{mailfile} "
- "has been read\"} is displayed."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5481
- #, no-wrap
- msgid "no_empty_cmd_completion"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5485
- msgid ""
- "If set, and Readline is being used, Bash will not attempt to search the "
- "@env{PATH} for possible completions when completion is attempted on an empty "
- "line."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5486
- #, no-wrap
- msgid "nocaseglob"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5489
- msgid ""
- "If set, Bash matches filenames in a case-insensitive fashion when performing "
- "filename expansion."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5490
- #, no-wrap
- msgid "nocasematch"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5496
- msgid ""
- "If set, Bash matches patterns in a case-insensitive fashion when performing "
- "matching while executing @code{case} or @code{[[} conditional commands, when "
- "performing pattern substitution word expansions, or when filtering possible "
- "completions as part of programmable completion."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5497
- #, no-wrap
- msgid "nullglob"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5500
- msgid ""
- "If set, Bash allows filename patterns which match no files to expand to a "
- "null string, rather than themselves."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5501
- #, no-wrap
- msgid "progcomp"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5505
- msgid ""
- "If set, the programmable completion facilities (@pxref{Programmable "
- "Completion}) are enabled. This option is enabled by default."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5506
- #, no-wrap
- msgid "progcomp_alias"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5511
- msgid ""
- "If set, and programmable completion is enabled, Bash treats a command name "
- "that doesn't have any completions as a possible alias and attempts alias "
- "expansion. If it has an alias, Bash attempts programmable completion using "
- "the command word resulting from the expanded alias."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5512
- #, no-wrap
- msgid "promptvars"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5518
- msgid ""
- "If set, prompt strings undergo parameter expansion, command substitution, "
- "arithmetic expansion, and quote removal after being expanded as described "
- "below (@pxref{Controlling the Prompt}). This option is enabled by default."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5519
- #, no-wrap
- msgid "restricted_shell"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5525
- msgid ""
- "The shell sets this option if it is started in restricted mode (@pxref{The "
- "Restricted Shell}). The value may not be changed. This is not reset when "
- "the startup files are executed, allowing the startup files to discover "
- "whether or not a shell is restricted."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5526
- #, no-wrap
- msgid "shift_verbose"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5530
- msgid ""
- "If this is set, the @code{shift} builtin prints an error message when the "
- "shift count exceeds the number of positional parameters."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5531
- #, no-wrap
- msgid "sourcepath"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5535
- msgid ""
- "If set, the @code{source} builtin uses the value of @env{PATH} to find the "
- "directory containing the file supplied as an argument. This option is "
- "enabled by default."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5536
- #, no-wrap
- msgid "xpg_echo"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5539
- msgid ""
- "If set, the @code{echo} builtin expands backslash-escape sequences by "
- "default."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5551
- msgid ""
- "For historical reasons, the @sc{posix} standard has classified several "
- "builtin commands as @emph{special}. When Bash is executing in @sc{posix} "
- "mode, the special builtins differ from other builtin commands in three "
- "respects:"
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:5555
- msgid "Special builtins are found before shell functions during command lookup."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:5558
- msgid "If a special builtin returns an error status, a non-interactive shell exits."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:5562
- msgid ""
- "Assignment statements preceding the command stay in effect in the shell "
- "environment after the command completes."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5567
- msgid ""
- "When Bash is not executing in @sc{posix} mode, these builtins behave no "
- "differently than the rest of the Bash builtin commands. The Bash @sc{posix} "
- "mode is described in @ref{Bash POSIX Mode}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5569
- msgid "These are the @sc{posix} special builtins:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:5572
- #, no-wrap
- msgid ""
- "@w{break : . continue eval exec exit export readonly return set}\n"
- "@w{shift trap unset}\n"
- msgstr ""
- #. type: section
- #: ./bashref.texi:5581 ./bashref.texi:5586 ./bashref.texi:5587
- #, no-wrap
- msgid "Bourne Shell Variables"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:5581
- msgid "Variables which Bash uses in the same way as the Bourne Shell."
- msgstr ""
- #. type: section
- #: ./bashref.texi:5581 ./bashref.texi:5649 ./bashref.texi:5650
- #, no-wrap
- msgid "Bash Variables"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:5581
- msgid "List of variables that exist in Bash."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5585
- msgid ""
- "This chapter describes the shell variables that Bash uses. Bash "
- "automatically assigns default values to a number of variables."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5591
- msgid ""
- "Bash uses certain shell variables in the same way as the Bourne shell. In "
- "some cases, Bash assigns a default value to the variable."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5594
- #, no-wrap
- msgid "CDPATH"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5597
- msgid ""
- "A colon-separated list of directories used as a search path for the "
- "@code{cd} builtin command."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5598
- #, no-wrap
- msgid "HOME"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5603
- msgid ""
- "The current user's home directory; the default for the @code{cd} builtin "
- "command. The value of this variable is also used by tilde expansion "
- "(@pxref{Tilde Expansion})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5604
- #, no-wrap
- msgid "IFS"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5607
- msgid ""
- "A list of characters that separate fields; used when the shell splits words "
- "as part of expansion."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5608
- #, no-wrap
- msgid "MAIL"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5613
- msgid ""
- "If this parameter is set to a filename or directory name and the "
- "@env{MAILPATH} variable is not set, Bash informs the user of the arrival of "
- "mail in the specified file or Maildir-format directory."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5614
- #, no-wrap
- msgid "MAILPATH"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5622
- msgid ""
- "A colon-separated list of filenames which the shell periodically checks for "
- "new mail. Each list entry can specify the message that is printed when new "
- "mail arrives in the mail file by separating the filename from the message "
- "with a @samp{?}. When used in the text of the message, @code{$_} expands to "
- "the name of the current mail file."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5623
- #, no-wrap
- msgid "OPTARG"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5625
- msgid ""
- "The value of the last option argument processed by the @code{getopts} "
- "builtin."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5626
- #, no-wrap
- msgid "OPTIND"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5628
- msgid ""
- "The index of the last option argument processed by the @code{getopts} "
- "builtin."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5629
- #, no-wrap
- msgid "PATH"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5636
- msgid ""
- "A colon-separated list of directories in which the shell looks for "
- "commands. A zero-length (null) directory name in the value of @code{PATH} "
- "indicates the current directory. A null directory name may appear as two "
- "adjacent colons, or as an initial or trailing colon."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5637
- #, no-wrap
- msgid "PS1"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5641
- msgid ""
- "The primary prompt string. The default value is @samp{\\s-\\v\\$ }. "
- "@xref{Controlling the Prompt}, for the complete list of escape sequences "
- "that are expanded before @env{PS1} is displayed."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5642
- #, no-wrap
- msgid "PS2"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5646
- msgid ""
- "The secondary prompt string. The default value is @samp{> }. @env{PS2} is "
- "expanded in the same way as @env{PS1} before being displayed."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5654
- msgid ""
- "These variables are set or used by Bash, but other shells do not normally "
- "treat them specially."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5658
- msgid ""
- "A few variables used by Bash are described in different chapters: variables "
- "for controlling the job control facilities (@pxref{Job Control Variables})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5661
- #, no-wrap
- msgid "_"
- msgstr ""
- #. type: vindex
- #: ./bashref.texi:5662
- #, no-wrap
- msgid "$_"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5672
- msgid ""
- "($_, an underscore.) At shell startup, set to the pathname used to invoke "
- "the shell or shell script being executed as passed in the environment or "
- "argument list. Subsequently, expands to the last argument to the previous "
- "simple command executed in the foreground, after expansion. Also set to the "
- "full pathname used to invoke each command executed and placed in the "
- "environment exported to that command. When checking mail, this parameter "
- "holds the name of the mail file."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5673
- #, no-wrap
- msgid "BASH"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5675
- msgid "The full pathname used to execute the current instance of Bash."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5676
- #, no-wrap
- msgid "BASHOPTS"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5685
- msgid ""
- "A colon-separated list of enabled shell options. Each word in the list is a "
- "valid argument for the @option{-s} option to the @code{shopt} builtin "
- "command (@pxref{The Shopt Builtin}). The options appearing in "
- "@env{BASHOPTS} are those reported as @samp{on} by @samp{shopt}. If this "
- "variable is in the environment when Bash starts up, each shell option in the "
- "list will be enabled before reading any startup files. This variable is "
- "readonly."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5686
- #, no-wrap
- msgid "BASHPID"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5694
- msgid ""
- "Expands to the process ID of the current Bash process. This differs from "
- "@code{$$} under certain circumstances, such as subshells that do not require "
- "Bash to be re-initialized. Assignments to @env{BASHPID} have no effect. If "
- "@env{BASHPID} is unset, it loses its special properties, even if it is "
- "subsequently reset."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5695
- #, no-wrap
- msgid "BASH_ALIASES"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5705
- msgid ""
- "An associative array variable whose members correspond to the internal list "
- "of aliases as maintained by the @code{alias} builtin. (@pxref{Bourne Shell "
- "Builtins}). Elements added to this array appear in the alias list; however, "
- "unsetting array elements currently does not cause aliases to be removed from "
- "the alias list. If @env{BASH_ALIASES} is unset, it loses its special "
- "properties, even if it is subsequently reset."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5706
- #, no-wrap
- msgid "BASH_ARGC"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5720
- msgid ""
- "An array variable whose values are the number of parameters in each frame of "
- "the current bash execution call stack. The number of parameters to the "
- "current subroutine (shell function or script executed with @code{.} or "
- "@code{source}) is at the top of the stack. When a subroutine is executed, "
- "the number of parameters passed is pushed onto @code{BASH_ARGC}. The shell "
- "sets @code{BASH_ARGC} only when in extended debugging mode (see @ref{The "
- "Shopt Builtin} for a description of the @code{extdebug} option to the "
- "@code{shopt} builtin). Setting @code{extdebug} after the shell has started "
- "to execute a script, or referencing this variable when @code{extdebug} is "
- "not set, may result in inconsistent values."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5721
- #, no-wrap
- msgid "BASH_ARGV"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5734
- msgid ""
- "An array variable containing all of the parameters in the current bash "
- "execution call stack. The final parameter of the last subroutine call is at "
- "the top of the stack; the first parameter of the initial call is at the "
- "bottom. When a subroutine is executed, the parameters supplied are pushed "
- "onto @code{BASH_ARGV}. The shell sets @code{BASH_ARGV} only when in "
- "extended debugging mode (see @ref{The Shopt Builtin} for a description of "
- "the @code{extdebug} option to the @code{shopt} builtin). Setting "
- "@code{extdebug} after the shell has started to execute a script, or "
- "referencing this variable when @code{extdebug} is not set, may result in "
- "inconsistent values."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5735
- #, no-wrap
- msgid "BASH_ARGV0"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5744
- msgid ""
- "When referenced, this variable expands to the name of the shell or shell "
- "script (identical to @code{$0}; @xref{Special Parameters}, for the "
- "description of special parameter 0). Assignment to @code{BASH_ARGV0} causes "
- "the value assigned to also be assigned to @code{$0}. If @env{BASH_ARGV0} is "
- "unset, it loses its special properties, even if it is subsequently reset."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5745
- #, no-wrap
- msgid "BASH_CMDS"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5755
- msgid ""
- "An associative array variable whose members correspond to the internal hash "
- "table of commands as maintained by the @code{hash} builtin (@pxref{Bourne "
- "Shell Builtins}). Elements added to this array appear in the hash table; "
- "however, unsetting array elements currently does not cause command names to "
- "be removed from the hash table. If @env{BASH_CMDS} is unset, it loses its "
- "special properties, even if it is subsequently reset."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5756
- #, no-wrap
- msgid "BASH_COMMAND"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5763
- msgid ""
- "The command currently being executed or about to be executed, unless the "
- "shell is executing a command as the result of a trap, in which case it is "
- "the command executing at the time of the trap. If @env{BASH_COMMAND} is "
- "unset, it loses its special properties, even if it is subsequently reset."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5764
- #, no-wrap
- msgid "BASH_COMPAT"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5781
- msgid ""
- "The value is used to set the shell's compatibility level. @xref{Shell "
- "Compatibility Mode}, for a description of the various compatibility levels "
- "and their effects. The value may be a decimal number (e.g., 4.2) or an "
- "integer (e.g., 42) corresponding to the desired compatibility level. If "
- "@env{BASH_COMPAT} is unset or set to the empty string, the compatibility "
- "level is set to the default for the current version. If @env{BASH_COMPAT} "
- "is set to a value that is not one of the valid compatibility levels, the "
- "shell prints an error message and sets the compatibility level to the "
- "default for the current version. The valid values correspond to the "
- "compatibility levels described below (@pxref{Shell Compatibility Mode}). "
- "For example, 4.2 and 42 are valid values that correspond to the "
- "@code{compat42} @code{shopt} option and set the compatibility level to 42. "
- "The current version is also a valid value."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5782
- #, no-wrap
- msgid "BASH_ENV"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5786
- msgid ""
- "If this variable is set when Bash is invoked to execute a shell script, its "
- "value is expanded and used as the name of a startup file to read before "
- "executing the script. @xref{Bash Startup Files}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5787
- #, no-wrap
- msgid "BASH_EXECUTION_STRING"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5789
- msgid "The command argument to the @option{-c} invocation option."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5790
- #, no-wrap
- msgid "BASH_LINENO"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5798
- msgid ""
- "An array variable whose members are the line numbers in source files where "
- "each corresponding member of @var{FUNCNAME} was invoked. "
- "@code{$@{BASH_LINENO[$i]@}} is the line number in the source file "
- "(@code{$@{BASH_SOURCE[$i+1]@}}) where @code{$@{FUNCNAME[$i]@}} was called "
- "(or @code{$@{BASH_LINENO[$i-1]@}} if referenced within another shell "
- "function). Use @code{LINENO} to obtain the current line number."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5799
- #, no-wrap
- msgid "BASH_LOADABLES_PATH"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5803
- msgid ""
- "A colon-separated list of directories in which the shell looks for "
- "dynamically loadable builtins specified by the @code{enable} command."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5804
- #, no-wrap
- msgid "BASH_REMATCH"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5812
- msgid ""
- "An array variable whose members are assigned by the @samp{=~} binary "
- "operator to the @code{[[} conditional command (@pxref{Conditional "
- "Constructs}). The element with index 0 is the portion of the string "
- "matching the entire regular expression. The element with index @var{n} is "
- "the portion of the string matching the @var{n}th parenthesized "
- "subexpression."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5813
- #, no-wrap
- msgid "BASH_SOURCE"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5819
- msgid ""
- "An array variable whose members are the source filenames where the "
- "corresponding shell function names in the @code{FUNCNAME} array variable are "
- "defined. The shell function @code{$@{FUNCNAME[$i]@}} is defined in the file "
- "@code{$@{BASH_SOURCE[$i]@}} and called from @code{$@{BASH_SOURCE[$i+1]@}}"
- msgstr ""
- #. type: item
- #: ./bashref.texi:5820
- #, no-wrap
- msgid "BASH_SUBSHELL"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5827
- msgid ""
- "Incremented by one within each subshell or subshell environment when the "
- "shell begins executing in that environment. The initial value is 0. If "
- "@env{BASH_SUBSHELL} is unset, it loses its special properties, even if it is "
- "subsequently reset."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5828
- #, no-wrap
- msgid "BASH_VERSINFO"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5832
- msgid ""
- "A readonly array variable (@pxref{Arrays}) whose members hold version "
- "information for this instance of Bash. The values assigned to the array "
- "members are as follows:"
- msgstr ""
- #. type: item
- #: ./bashref.texi:5835
- #, no-wrap
- msgid "BASH_VERSINFO[0]"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5837
- msgid "The major version number (the @var{release})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5838
- #, no-wrap
- msgid "BASH_VERSINFO[1]"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5840
- msgid "The minor version number (the @var{version})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5841
- #, no-wrap
- msgid "BASH_VERSINFO[2]"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5843
- msgid "The patch level."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5844
- #, no-wrap
- msgid "BASH_VERSINFO[3]"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5846
- msgid "The build version."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5847
- #, no-wrap
- msgid "BASH_VERSINFO[4]"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5849
- msgid "The release status (e.g., @var{beta1})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5850
- #, no-wrap
- msgid "BASH_VERSINFO[5]"
- msgstr ""
- #. type: table
- #: ./bashref.texi:5852
- msgid "The value of @env{MACHTYPE}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5854
- #, no-wrap
- msgid "BASH_VERSION"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5856
- msgid "The version number of the current instance of Bash."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5857
- #, no-wrap
- msgid "BASH_XTRACEFD"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5870
- msgid ""
- "If set to an integer corresponding to a valid file descriptor, Bash will "
- "write the trace output generated when @samp{set -x} is enabled to that file "
- "descriptor. This allows tracing output to be separated from diagnostic and "
- "error messages. The file descriptor is closed when @code{BASH_XTRACEFD} is "
- "unset or assigned a new value. Unsetting @code{BASH_XTRACEFD} or assigning "
- "it the empty string causes the trace output to be sent to the standard "
- "error. Note that setting @code{BASH_XTRACEFD} to 2 (the standard error file "
- "descriptor) and then unsetting it will result in the standard error being "
- "closed."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5871
- #, no-wrap
- msgid "CHILD_MAX"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5877
- msgid ""
- "Set the number of exited child status values for the shell to remember. "
- "Bash will not allow this value to be decreased below a @sc{posix}-mandated "
- "minimum, and there is a maximum value (currently 8192) that this may not "
- "exceed. The minimum value is system-dependent."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5878
- #, no-wrap
- msgid "COLUMNS"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5884
- msgid ""
- "Used by the @code{select} command to determine the terminal width when "
- "printing selection lists. Automatically set if the @code{checkwinsize} "
- "option is enabled (@pxref{The Shopt Builtin}), or in an interactive shell "
- "upon receipt of a @code{SIGWINCH}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5885
- #, no-wrap
- msgid "COMP_CWORD"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5890
- msgid ""
- "An index into @env{$@{COMP_WORDS@}} of the word containing the current "
- "cursor position. This variable is available only in shell functions invoked "
- "by the programmable completion facilities (@pxref{Programmable Completion})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5891
- #, no-wrap
- msgid "COMP_LINE"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5896
- msgid ""
- "The current command line. This variable is available only in shell "
- "functions and external commands invoked by the programmable completion "
- "facilities (@pxref{Programmable Completion})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5897
- #, no-wrap
- msgid "COMP_POINT"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5905
- msgid ""
- "The index of the current cursor position relative to the beginning of the "
- "current command. If the current cursor position is at the end of the "
- "current command, the value of this variable is equal to "
- "@code{$@{#COMP_LINE@}}. This variable is available only in shell functions "
- "and external commands invoked by the programmable completion facilities "
- "(@pxref{Programmable Completion})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5906
- #, no-wrap
- msgid "COMP_TYPE"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5918
- msgid ""
- "Set to an integer value corresponding to the type of completion attempted "
- "that caused a completion function to be called: @var{TAB}, for normal "
- "completion, @samp{?}, for listing completions after successive tabs, "
- "@samp{!}, for listing alternatives on partial word completion, @samp{@@}, to "
- "list completions if the word is not unmodified, or @samp{%}, for menu "
- "completion. This variable is available only in shell functions and external "
- "commands invoked by the programmable completion facilities "
- "(@pxref{Programmable Completion})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5919
- #, no-wrap
- msgid "COMP_KEY"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5922
- msgid ""
- "The key (or final key of a key sequence) used to invoke the current "
- "completion function."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5923
- #, no-wrap
- msgid "COMP_WORDBREAKS"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5929
- msgid ""
- "The set of characters that the Readline library treats as word separators "
- "when performing word completion. If @env{COMP_WORDBREAKS} is unset, it "
- "loses its special properties, even if it is subsequently reset."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5930
- #, no-wrap
- msgid "COMP_WORDS"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5937
- msgid ""
- "An array variable consisting of the individual words in the current command "
- "line. The line is split into words as Readline would split it, using "
- "@code{COMP_WORDBREAKS} as described above. This variable is available only "
- "in shell functions invoked by the programmable completion facilities "
- "(@pxref{Programmable Completion})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5938
- #, no-wrap
- msgid "COMPREPLY"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5943
- msgid ""
- "An array variable from which Bash reads the possible completions generated "
- "by a shell function invoked by the programmable completion facility "
- "(@pxref{Programmable Completion}). Each array element contains one possible "
- "completion."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5944
- #, no-wrap
- msgid "COPROC"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5947
- msgid ""
- "An array variable created to hold the file descriptors for output from and "
- "input to an unnamed coprocess (@pxref{Coprocesses})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5948
- #, no-wrap
- msgid "DIRSTACK"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5959
- msgid ""
- "An array variable containing the current contents of the directory stack. "
- "Directories appear in the stack in the order they are displayed by the "
- "@code{dirs} builtin. Assigning to members of this array variable may be "
- "used to modify directories already in the stack, but the @code{pushd} and "
- "@code{popd} builtins must be used to add and remove directories. Assignment "
- "to this variable will not change the current directory. If @env{DIRSTACK} "
- "is unset, it loses its special properties, even if it is subsequently reset."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5960
- #, no-wrap
- msgid "EMACS"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5964
- msgid ""
- "If Bash finds this variable in the environment when the shell starts with "
- "value @samp{t}, it assumes that the shell is running in an Emacs shell "
- "buffer and disables line editing."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5965
- #, no-wrap
- msgid "ENV"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5970
- msgid ""
- "Expanded and executed similarlty to @code{BASH_ENV} (@pxref{Bash Startup "
- "Files}) when an interactive shell is invoked in @sc{posix} Mode "
- "(@pxref{Bash POSIX Mode})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5971
- #, no-wrap
- msgid "EPOCHREALTIME"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5980
- msgid ""
- "Each time this parameter is referenced, it expands to the number of seconds "
- "since the Unix Epoch as a floating point value with micro-second granularity "
- "(see the documentation for the C library function @var{time} for the "
- "definition of Epoch). Assignments to @env{EPOCHREALTIME} are ignored. If "
- "@env{EPOCHREALTIME} is unset, it loses its special properties, even if it is "
- "subsequently reset."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5981
- #, no-wrap
- msgid "EPOCHSECONDS"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5989
- msgid ""
- "Each time this parameter is referenced, it expands to the number of seconds "
- "since the Unix Epoch (see the documentation for the C library function "
- "@var{time} for the definition of Epoch). Assignments to @env{EPOCHSECONDS} "
- "are ignored. If @env{EPOCHSECONDS} is unset, it loses its special "
- "properties, even if it is subsequently reset."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5990
- #, no-wrap
- msgid "EUID"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:5993
- msgid ""
- "The numeric effective user id of the current user. This variable is "
- "readonly."
- msgstr ""
- #. type: item
- #: ./bashref.texi:5994
- #, no-wrap
- msgid "EXECIGNORE"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6008
- msgid ""
- "A colon-separated list of shell patterns (@pxref{Pattern Matching}) "
- "defining the list of filenames to be ignored by command search using "
- "@code{PATH}. Files whose full pathnames match one of these patterns are not "
- "considered executable files for the purposes of completion and command "
- "execution via @code{PATH} lookup. This does not affect the behavior of the "
- "@code{[}, @code{test}, and @code{[[} commands. Full pathnames in the "
- "command hash table are not subject to @code{EXECIGNORE}. Use this variable "
- "to ignore shared library files that have the executable bit set, but are not "
- "executable files. The pattern matching honors the setting of the "
- "@code{extglob} shell option."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6009
- #, no-wrap
- msgid "FCEDIT"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6012
- msgid ""
- "The editor used as a default by the @option{-e} option to the @code{fc} "
- "builtin command."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6013
- #, no-wrap
- msgid "FIGNORE"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6020
- msgid ""
- "A colon-separated list of suffixes to ignore when performing filename "
- "completion. A filename whose suffix matches one of the entries in "
- "@env{FIGNORE} is excluded from the list of matched filenames. A sample "
- "value is @samp{.o:~}"
- msgstr ""
- #. type: item
- #: ./bashref.texi:6021
- #, no-wrap
- msgid "FUNCNAME"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6033
- msgid ""
- "An array variable containing the names of all shell functions currently in "
- "the execution call stack. The element with index 0 is the name of any "
- "currently-executing shell function. The bottom-most element (the one with "
- "the highest index) is @code{\"main\"}. This variable exists only when a "
- "shell function is executing. Assignments to @env{FUNCNAME} have no effect. "
- "If @env{FUNCNAME} is unset, it loses its special properties, even if it is "
- "subsequently reset."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6041
- msgid ""
- "This variable can be used with @code{BASH_LINENO} and @code{BASH_SOURCE}. "
- "Each element of @code{FUNCNAME} has corresponding elements in "
- "@code{BASH_LINENO} and @code{BASH_SOURCE} to describe the call stack. For "
- "instance, @code{$@{FUNCNAME[$i]@}} was called from the file "
- "@code{$@{BASH_SOURCE[$i+1]@}} at line number @code{$@{BASH_LINENO[$i]@}}. "
- "The @code{caller} builtin displays the current call stack using this "
- "information."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6042
- #, no-wrap
- msgid "FUNCNEST"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6046
- msgid ""
- "If set to a numeric value greater than 0, defines a maximum function nesting "
- "level. Function invocations that exceed this nesting level will cause the "
- "current command to abort."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6047
- #, no-wrap
- msgid "GLOBIGNORE"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6055
- msgid ""
- "A colon-separated list of patterns defining the set of file names to be "
- "ignored by filename expansion. If a file name matched by a filename "
- "expansion pattern also matches one of the patterns in @env{GLOBIGNORE}, it "
- "is removed from the list of matches. The pattern matching honors the "
- "setting of the @code{extglob} shell option."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6056
- #, no-wrap
- msgid "GROUPS"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6063
- msgid ""
- "An array variable containing the list of groups of which the current user is "
- "a member. Assignments to @env{GROUPS} have no effect. If @env{GROUPS} is "
- "unset, it loses its special properties, even if it is subsequently reset."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6064
- #, no-wrap
- msgid "histchars"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6077
- msgid ""
- "Up to three characters which control history expansion, quick substitution, "
- "and tokenization (@pxref{History Interaction}). The first character is the "
- "@var{history expansion} character, that is, the character which signifies "
- "the start of a history expansion, normally @samp{!}. The second character "
- "is the character which signifies `quick substitution' when seen as the first "
- "character on a line, normally @samp{^}. The optional third character is the "
- "character which indicates that the remainder of the line is a comment when "
- "found as the first character of a word, usually @samp{#}. The history "
- "comment character causes history substitution to be skipped for the "
- "remaining words on the line. It does not necessarily cause the shell parser "
- "to treat the rest of the line as a comment."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6078
- #, no-wrap
- msgid "HISTCMD"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6085
- msgid ""
- "The history number, or index in the history list, of the current command. "
- "Assignments to @env{HISTCMD} are ignored. If @env{HISTCMD} is unset, it "
- "loses its special properties, even if it is subsequently reset."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6086
- #, no-wrap
- msgid "HISTCONTROL"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6105
- msgid ""
- "A colon-separated list of values controlling how commands are saved on the "
- "history list. If the list of values includes @samp{ignorespace}, lines "
- "which begin with a space character are not saved in the history list. A "
- "value of @samp{ignoredups} causes lines which match the previous history "
- "entry to not be saved. A value of @samp{ignoreboth} is shorthand for "
- "@samp{ignorespace} and @samp{ignoredups}. A value of @samp{erasedups} "
- "causes all previous lines matching the current line to be removed from the "
- "history list before that line is saved. Any value not in the above list is "
- "ignored. If @env{HISTCONTROL} is unset, or does not include a valid value, "
- "all lines read by the shell parser are saved on the history list, subject to "
- "the value of @env{HISTIGNORE}. The second and subsequent lines of a "
- "multi-line compound command are not tested, and are added to the history "
- "regardless of the value of @env{HISTCONTROL}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6106
- #, no-wrap
- msgid "HISTFILE"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6109
- msgid ""
- "The name of the file to which the command history is saved. The default "
- "value is @file{~/.bash_history}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6110
- #, no-wrap
- msgid "HISTFILESIZE"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6121
- msgid ""
- "The maximum number of lines contained in the history file. When this "
- "variable is assigned a value, the history file is truncated, if necessary, "
- "to contain no more than that number of lines by removing the oldest "
- "entries. The history file is also truncated to this size after writing it "
- "when a shell exits. If the value is 0, the history file is truncated to "
- "zero size. Non-numeric values and numeric values less than zero inhibit "
- "truncation. The shell sets the default value to the value of @env{HISTSIZE} "
- "after reading any startup files."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6122
- #, no-wrap
- msgid "HISTIGNORE"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6137
- msgid ""
- "A colon-separated list of patterns used to decide which command lines should "
- "be saved on the history list. Each pattern is anchored at the beginning of "
- "the line and must match the complete line (no implicit @samp{*} is "
- "appended). Each pattern is tested against the line after the checks "
- "specified by @env{HISTCONTROL} are applied. In addition to the normal shell "
- "pattern matching characters, @samp{&} matches the previous history line. "
- "@samp{&} may be escaped using a backslash; the backslash is removed before "
- "attempting a match. The second and subsequent lines of a multi-line "
- "compound command are not tested, and are added to the history regardless of "
- "the value of @env{HISTIGNORE}. The pattern matching honors the setting of "
- "the @code{extglob} shell option."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6143
- msgid ""
- "@env{HISTIGNORE} subsumes the function of @env{HISTCONTROL}. A pattern of "
- "@samp{&} is identical to @code{ignoredups}, and a pattern of @samp{[ ]*} is "
- "identical to @code{ignorespace}. Combining these two patterns, separating "
- "them with a colon, provides the functionality of @code{ignoreboth}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6144
- #, no-wrap
- msgid "HISTSIZE"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6150
- msgid ""
- "The maximum number of commands to remember on the history list. If the "
- "value is 0, commands are not saved in the history list. Numeric values less "
- "than zero result in every command being saved on the history list (there is "
- "no limit). The shell sets the default value to 500 after reading any "
- "startup files."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6151
- #, no-wrap
- msgid "HISTTIMEFORMAT"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6159
- msgid ""
- "If this variable is set and not null, its value is used as a format string "
- "for @var{strftime} to print the time stamp associated with each history "
- "entry displayed by the @code{history} builtin. If this variable is set, "
- "time stamps are written to the history file so they may be preserved across "
- "shell sessions. This uses the history comment character to distinguish "
- "timestamps from other history lines."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6160
- #, no-wrap
- msgid "HOSTFILE"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6172
- msgid ""
- "Contains the name of a file in the same format as @file{/etc/hosts} that "
- "should be read when the shell needs to complete a hostname. The list of "
- "possible hostname completions may be changed while the shell is running; the "
- "next time hostname completion is attempted after the value is changed, Bash "
- "adds the contents of the new file to the existing list. If @env{HOSTFILE} "
- "is set, but has no value, or does not name a readable file, Bash attempts to "
- "read @file{/etc/hosts} to obtain the list of possible hostname completions. "
- "When @env{HOSTFILE} is unset, the hostname list is cleared."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6173
- #, no-wrap
- msgid "HOSTNAME"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6175
- msgid "The name of the current host."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6176
- #, no-wrap
- msgid "HOSTTYPE"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6178
- msgid "A string describing the machine Bash is running on."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6179
- #, no-wrap
- msgid "IGNOREEOF"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6188
- msgid ""
- "Controls the action of the shell on receipt of an @code{EOF} character as "
- "the sole input. If set, the value denotes the number of consecutive "
- "@code{EOF} characters that can be read as the first character on an input "
- "line before the shell will exit. If the variable exists but does not have a "
- "numeric value, or has no value, then the default is 10. If the variable "
- "does not exist, then @code{EOF} signifies the end of input to the shell. "
- "This is only in effect for interactive shells."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6189
- #, no-wrap
- msgid "INPUTRC"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6192
- msgid ""
- "The name of the Readline initialization file, overriding the default of "
- "@file{~/.inputrc}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6193
- #, no-wrap
- msgid "INSIDE_EMACS"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6197
- msgid ""
- "If Bash finds this variable in the environment when the shell starts, it "
- "assumes that the shell is running in an Emacs shell buffer and may disable "
- "line editing depending on the value of @env{TERM}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6198
- #, no-wrap
- msgid "LANG"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6201
- msgid ""
- "Used to determine the locale category for any category not specifically "
- "selected with a variable starting with @code{LC_}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6202
- #, no-wrap
- msgid "LC_ALL"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6205
- msgid ""
- "This variable overrides the value of @env{LANG} and any other @code{LC_} "
- "variable specifying a locale category."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6206
- #, no-wrap
- msgid "LC_COLLATE"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6212
- msgid ""
- "This variable determines the collation order used when sorting the results "
- "of filename expansion, and determines the behavior of range expressions, "
- "equivalence classes, and collating sequences within filename expansion and "
- "pattern matching (@pxref{Filename Expansion})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6213
- #, no-wrap
- msgid "LC_CTYPE"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6217
- msgid ""
- "This variable determines the interpretation of characters and the behavior "
- "of character classes within filename expansion and pattern matching "
- "(@pxref{Filename Expansion})."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6221
- msgid ""
- "This variable determines the locale used to translate double-quoted strings "
- "preceded by a @samp{$} (@pxref{Locale Translation})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6222
- #, no-wrap
- msgid "LC_NUMERIC"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6224
- msgid "This variable determines the locale category used for number formatting."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6225
- #, no-wrap
- msgid "LC_TIME"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6228
- msgid ""
- "This variable determines the locale category used for data and time "
- "formatting."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6229
- #, no-wrap
- msgid "LINENO"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6234
- msgid ""
- "The line number in the script or shell function currently executing. If "
- "@env{LINENO} is unset, it loses its special properties, even if it is "
- "subsequently reset."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6235
- #, no-wrap
- msgid "LINES"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6241
- msgid ""
- "Used by the @code{select} command to determine the column length for "
- "printing selection lists. Automatically set if the @code{checkwinsize} "
- "option is enabled (@pxref{The Shopt Builtin}), or in an interactive shell "
- "upon receipt of a @code{SIGWINCH}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6242
- #, no-wrap
- msgid "MACHTYPE"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6245
- msgid ""
- "A string that fully describes the system type on which Bash is executing, in "
- "the standard @sc{gnu} @var{cpu-company-system} format."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6246
- #, no-wrap
- msgid "MAILCHECK"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6253
- msgid ""
- "How often (in seconds) that the shell should check for mail in the files "
- "specified in the @env{MAILPATH} or @env{MAIL} variables. The default is 60 "
- "seconds. When it is time to check for mail, the shell does so before "
- "displaying the primary prompt. If this variable is unset, or set to a value "
- "that is not a number greater than or equal to zero, the shell disables mail "
- "checking."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6254
- #, no-wrap
- msgid "MAPFILE"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6257
- msgid ""
- "An array variable created to hold the text read by the @code{mapfile} "
- "builtin when no variable name is supplied."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6258
- #, no-wrap
- msgid "OLDPWD"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6260
- msgid "The previous working directory as set by the @code{cd} builtin."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6261
- #, no-wrap
- msgid "OPTERR"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6264
- msgid ""
- "If set to the value 1, Bash displays error messages generated by the "
- "@code{getopts} builtin command."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6265
- #, no-wrap
- msgid "OSTYPE"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6267
- msgid "A string describing the operating system Bash is running on."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6268
- #, no-wrap
- msgid "PIPESTATUS"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6273
- msgid ""
- "An array variable (@pxref{Arrays}) containing a list of exit status values "
- "from the processes in the most-recently-executed foreground pipeline (which "
- "may contain only a single command)."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6274
- #, no-wrap
- msgid "POSIXLY_CORRECT"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6280
- msgid ""
- "If this variable is in the environment when Bash starts, the shell enters "
- "@sc{posix} mode (@pxref{Bash POSIX Mode}) before reading the startup files, "
- "as if the @option{--posix} invocation option had been supplied. If it is "
- "set while the shell is running, Bash enables @sc{posix} mode, as if the "
- "command"
- msgstr ""
- #. type: example
- #: ./bashref.texi:6282
- #, no-wrap
- msgid "@code{set -o posix}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6287
- msgid ""
- "had been executed. When the shell enters @sc{posix} mode, it sets this "
- "variable if it was not already set."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6288
- #, no-wrap
- msgid "PPID"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6291
- msgid ""
- "The process @sc{id} of the shell's parent process. This variable is "
- "readonly."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6292
- #, no-wrap
- msgid "PROMPT_COMMAND"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6298
- msgid ""
- "If this variable is set, and is an array, the value of each set element is "
- "interpreted as a command to execute before printing the primary prompt "
- "(@env{$PS1}). If this is set but not an array variable, its value is used "
- "as a command to execute instead."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6299
- #, no-wrap
- msgid "PROMPT_DIRTRIM"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6304
- msgid ""
- "If set to a number greater than zero, the value is used as the number of "
- "trailing directory components to retain when expanding the @code{\\w} and "
- "@code{\\W} prompt string escapes (@pxref{Controlling the Prompt}). "
- "Characters removed are replaced with an ellipsis."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6305
- #, no-wrap
- msgid "PS0"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6309
- msgid ""
- "The value of this parameter is expanded like @env{PS1} and displayed by "
- "interactive shells after reading a command and before the command is "
- "executed."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6310
- #, no-wrap
- msgid "PS3"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6314
- msgid ""
- "The value of this variable is used as the prompt for the @code{select} "
- "command. If this variable is not set, the @code{select} command prompts "
- "with @samp{#? }"
- msgstr ""
- #. type: item
- #: ./bashref.texi:6315
- #, no-wrap
- msgid "PS4"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6322
- msgid ""
- "The value of this parameter is expanded like @var{PS1} and the expanded "
- "value is the prompt printed before the command line is echoed when the "
- "@option{-x} option is set (@pxref{The Set Builtin}). The first character of "
- "the expanded value is replicated multiple times, as necessary, to indicate "
- "multiple levels of indirection. The default is @samp{+ }."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6323
- #, no-wrap
- msgid "PWD"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6325
- msgid "The current working directory as set by the @code{cd} builtin."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6326
- #, no-wrap
- msgid "RANDOM"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6333
- msgid ""
- "Each time this parameter is referenced, it expands to a random integer "
- "between 0 and 32767. Assigning a value to this variable seeds the random "
- "number generator. If @env{RANDOM} is unset, it loses its special "
- "properties, even if it is subsequently reset."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6334
- #, no-wrap
- msgid "READLINE_LINE"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6337
- msgid ""
- "The contents of the Readline line buffer, for use with @samp{bind -x} "
- "(@pxref{Bash Builtins})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6338
- #, no-wrap
- msgid "READLINE_MARK"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6344
- msgid ""
- "The position of the @var{mark} (saved insertion point) in the Readline line "
- "buffer, for use with @samp{bind -x} (@pxref{Bash Builtins}). The characters "
- "between the insertion point and the mark are often called the @var{region}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6345
- #, no-wrap
- msgid "READLINE_POINT"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6348
- msgid ""
- "The position of the insertion point in the Readline line buffer, for use "
- "with @samp{bind -x} (@pxref{Bash Builtins})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6349
- #, no-wrap
- msgid "REPLY"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6351
- msgid "The default variable for the @code{read} builtin."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6352
- #, no-wrap
- msgid "SECONDS"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6363
- msgid ""
- "This variable expands to the number of seconds since the shell was started. "
- "Assignment to this variable resets the count to the value assigned, and the "
- "expanded value becomes the value assigned plus the number of seconds since "
- "the assignment. The number of seconds at shell invocation and the current "
- "time is always determined by querying the system clock. If @env{SECONDS} is "
- "unset, it loses its special properties, even if it is subsequently reset."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6364
- #, no-wrap
- msgid "SHELL"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6368
- msgid ""
- "This environment variable expands to the full pathname to the shell. If it "
- "is not set when the shell starts, Bash assigns to it the full pathname of "
- "the current user's login shell."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6369
- #, no-wrap
- msgid "SHELLOPTS"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6378
- msgid ""
- "A colon-separated list of enabled shell options. Each word in the list is a "
- "valid argument for the @option{-o} option to the @code{set} builtin command "
- "(@pxref{The Set Builtin}). The options appearing in @env{SHELLOPTS} are "
- "those reported as @samp{on} by @samp{set -o}. If this variable is in the "
- "environment when Bash starts up, each shell option in the list will be "
- "enabled before reading any startup files. This variable is readonly."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6379
- #, no-wrap
- msgid "SHLVL"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6382
- msgid ""
- "Incremented by one each time a new instance of Bash is started. This is "
- "intended to be a count of how deeply your Bash shells are nested."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6383
- #, no-wrap
- msgid "SRANDOM"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6393
- msgid ""
- "This variable expands to a 32-bit pseudo-random number each time it is "
- "referenced. The random number generator is not linear on systems that "
- "support @file{/dev/urandom} or @code{arc4random}, so each returned number "
- "has no relationship to the numbers preceding it. The random number "
- "generator cannot be seeded, so assignments to this variable have no effect. "
- "If @env{SRANDOM} is unset, it loses its special properties, even if it is "
- "subsequently reset."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6394
- #, no-wrap
- msgid "TIMEFORMAT"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6403
- msgid ""
- "The value of this parameter is used as a format string specifying how the "
- "timing information for pipelines prefixed with the @code{time} reserved word "
- "should be displayed. The @samp{%} character introduces an escape sequence "
- "that is expanded to a time value or other information. The escape sequences "
- "and their meanings are as follows; the braces denote optional portions."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6406
- #, no-wrap
- msgid "%%"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6408
- msgid "A literal @samp{%}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6409
- #, no-wrap
- msgid "%[@var{p}][l]R"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6411
- msgid "The elapsed time in seconds."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6412
- #, no-wrap
- msgid "%[@var{p}][l]U"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6414
- msgid "The number of CPU seconds spent in user mode."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6415
- #, no-wrap
- msgid "%[@var{p}][l]S"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6417
- msgid "The number of CPU seconds spent in system mode."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6418
- #, no-wrap
- msgid "%P"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6420
- msgid "The CPU percentage, computed as (%U + %S) / %R."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6428
- msgid ""
- "The optional @var{p} is a digit specifying the precision, the number of "
- "fractional digits after a decimal point. A value of 0 causes no decimal "
- "point or fraction to be output. At most three places after the decimal "
- "point may be specified; values of @var{p} greater than 3 are changed to 3. "
- "If @var{p} is not specified, the value 3 is used."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6432
- msgid ""
- "The optional @code{l} specifies a longer format, including minutes, of the "
- "form @var{MM}m@var{SS}.@var{FF}s. The value of @var{p} determines whether "
- "or not the fraction is included."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6434
- msgid "If this variable is not set, Bash acts as if it had the value"
- msgstr ""
- #. type: example
- #: ./bashref.texi:6436
- #, no-wrap
- msgid "@code{$'\\nreal\\t%3lR\\nuser\\t%3lU\\nsys\\t%3lS'}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6439
- msgid ""
- "If the value is null, no timing information is displayed. A trailing "
- "newline is added when the format string is displayed."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6440
- #, no-wrap
- msgid "TMOUT"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6446
- msgid ""
- "If set to a value greater than zero, @code{TMOUT} is treated as the default "
- "timeout for the @code{read} builtin (@pxref{Bash Builtins}). The "
- "@code{select} command (@pxref{Conditional Constructs}) terminates if input "
- "does not arrive after @code{TMOUT} seconds when input is coming from a "
- "terminal."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6453
- msgid ""
- "In an interactive shell, the value is interpreted as the number of seconds "
- "to wait for a line of input after issuing the primary prompt. Bash "
- "terminates after waiting for that number of seconds if a complete line of "
- "input does not arrive."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6454
- #, no-wrap
- msgid "TMPDIR"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6457
- msgid ""
- "If set, Bash uses its value as the name of a directory in which Bash creates "
- "temporary files for the shell's use."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6458
- #, no-wrap
- msgid "UID"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6460
- msgid "The numeric real user id of the current user. This variable is readonly."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6467
- msgid "This chapter describes features unique to Bash."
- msgstr ""
- #. type: section
- #: ./bashref.texi:6485 ./bashref.texi:6487 ./bashref.texi:6488
- #, no-wrap
- msgid "Invoking Bash"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:6485
- msgid "Command line options that you can give to Bash."
- msgstr ""
- #. type: section
- #: ./bashref.texi:6485 ./bashref.texi:6650 ./bashref.texi:6651
- #, no-wrap
- msgid "Bash Startup Files"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:6485
- msgid "When and how Bash executes scripts."
- msgstr ""
- #. type: section
- #: ./bashref.texi:6485 ./bashref.texi:6768 ./bashref.texi:6769
- #, no-wrap
- msgid "Interactive Shells"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:6485
- msgid "What an interactive shell is."
- msgstr ""
- #. type: section
- #: ./bashref.texi:6485 ./bashref.texi:6929 ./bashref.texi:6930
- #, no-wrap
- msgid "Bash Conditional Expressions"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:6485
- msgid "Primitives used in composing expressions for the @code{test} builtin."
- msgstr ""
- #. type: section
- #: ./bashref.texi:6485 ./bashref.texi:7084 ./bashref.texi:7085
- #, no-wrap
- msgid "Shell Arithmetic"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:6485
- msgid "Arithmetic on shell variables."
- msgstr ""
- #. type: section
- #: ./bashref.texi:6485 ./bashref.texi:7194 ./bashref.texi:7195
- #, no-wrap
- msgid "Aliases"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:6485
- msgid "Substituting one command for another."
- msgstr ""
- #. type: section
- #: ./bashref.texi:6485 ./bashref.texi:7255 ./bashref.texi:7256
- #, no-wrap
- msgid "Arrays"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:6485
- msgid "Array Variables."
- msgstr ""
- #. type: section
- #: ./bashref.texi:6485 ./bashref.texi:7409 ./bashref.texi:7410
- #, no-wrap
- msgid "The Directory Stack"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:6485
- msgid "History of visited directories."
- msgstr ""
- #. type: section
- #: ./bashref.texi:6485 ./bashref.texi:7521 ./bashref.texi:7522
- #, no-wrap
- msgid "Controlling the Prompt"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:6485
- msgid "Customizing the various prompt strings."
- msgstr ""
- #. type: section
- #: ./bashref.texi:6485 ./bashref.texi:7612 ./bashref.texi:7613
- #, no-wrap
- msgid "The Restricted Shell"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:6485
- msgid "A more controlled mode of shell execution."
- msgstr ""
- #. type: section
- #: ./bashref.texi:6485 ./bashref.texi:7683 ./bashref.texi:7684
- #, no-wrap
- msgid "Bash POSIX Mode"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:6485
- msgid "Making Bash behave more closely to what the POSIX standard specifies."
- msgstr ""
- #. type: section
- #: ./bashref.texi:6485 ./bashref.texi:8010 ./bashref.texi:8011
- #, no-wrap
- msgid "Shell Compatibility Mode"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:6485
- msgid ""
- "How Bash supports behavior that was present in earlier versions and has "
- "changed."
- msgstr ""
- #. type: example
- #: ./bashref.texi:6497
- #, no-wrap
- msgid ""
- "bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o @var{option}]\n"
- " [-O @var{shopt_option}] [@var{argument} @dots{}]\n"
- "bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @var{option}]\n"
- " [-O @var{shopt_option}] -c @var{string} [@var{argument} @dots{}]\n"
- "bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @var{option}]\n"
- " [-O @var{shopt_option}] [@var{argument} @dots{}]\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6504
- msgid ""
- "All of the single-character options used with the @code{set} builtin "
- "(@pxref{The Set Builtin}) can be used as options when the shell is invoked. "
- "In addition, there are several multi-character options that you can use. "
- "These options must appear on the command line before the single-character "
- "options to be recognized."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6506
- #, no-wrap
- msgid "--debugger"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6511
- msgid ""
- "Arrange for the debugger profile to be executed before the shell starts. "
- "Turns on extended debugging mode (see @ref{The Shopt Builtin} for a "
- "description of the @code{extdebug} option to the @code{shopt} builtin)."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6512
- #, no-wrap
- msgid "--dump-po-strings"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6517
- msgid ""
- "A list of all double-quoted strings preceded by @samp{$} is printed on the "
- "standard output in the @sc{gnu} @code{gettext} PO (portable object) file "
- "format. Equivalent to @option{-D} except for the output format."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6518
- #, no-wrap
- msgid "--dump-strings"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6520
- msgid "Equivalent to @option{-D}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6521 ./bashref.texi:8738
- #, no-wrap
- msgid "--help"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6523
- msgid "Display a usage message on standard output and exit successfully."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6524
- #, no-wrap
- msgid "--init-file @var{filename}"
- msgstr ""
- #. type: itemx
- #: ./bashref.texi:6525
- #, no-wrap
- msgid "--rcfile @var{filename}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6528
- msgid ""
- "Execute commands from @var{filename} (instead of @file{~/.bashrc}) in an "
- "interactive shell."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6529
- #, no-wrap
- msgid "--login"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6531
- msgid "Equivalent to @option{-l}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6532
- #, no-wrap
- msgid "--noediting"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6535
- msgid ""
- "Do not use the @sc{gnu} Readline library (@pxref{Command Line Editing}) to "
- "read command lines when the shell is interactive."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6536
- #, no-wrap
- msgid "--noprofile"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6541
- msgid ""
- "Don't load the system-wide startup file @file{/etc/profile} or any of the "
- "personal initialization files @file{~/.bash_profile}, @file{~/.bash_login}, "
- "or @file{~/.profile} when Bash is invoked as a login shell."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6542
- #, no-wrap
- msgid "--norc"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6546
- msgid ""
- "Don't read the @file{~/.bashrc} initialization file in an interactive "
- "shell. This is on by default if the shell is invoked as @code{sh}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6547
- #, no-wrap
- msgid "--posix"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6553
- msgid ""
- "Change the behavior of Bash where the default operation differs from the "
- "@sc{posix} standard to match the standard. This is intended to make Bash "
- "behave as a strict superset of that standard. @xref{Bash POSIX Mode}, for a "
- "description of the Bash @sc{posix} mode."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6554
- #, no-wrap
- msgid "--restricted"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6556 ./bashref.texi:6595
- msgid "Make the shell a restricted shell (@pxref{The Restricted Shell})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6557
- #, no-wrap
- msgid "--verbose"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6559
- msgid "Equivalent to @option{-v}. Print shell input lines as they're read."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6560 ./bashref.texi:8750
- #, no-wrap
- msgid "--version"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6563
- msgid ""
- "Show version information for this instance of Bash on the standard output "
- "and exit successfully."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6567
- msgid ""
- "There are several single-character options that may be supplied at "
- "invocation which are not available with the @code{set} builtin."
- msgstr ""
- #. type: table
- #: ./bashref.texi:6577
- msgid ""
- "Read and execute commands from the first non-option argument "
- "@var{command_string}, then exit. If there are arguments after the "
- "@var{command_string}, the first argument is assigned to @code{$0} and any "
- "remaining arguments are assigned to the positional parameters. The "
- "assignment to @code{$0} sets the name of the shell, which is used in warning "
- "and error messages."
- msgstr ""
- #. type: table
- #: ./bashref.texi:6581
- msgid ""
- "Force the shell to run interactively. Interactive shells are described in "
- "@ref{Interactive Shells}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:6592
- msgid ""
- "Make this shell act as if it had been directly invoked by login. When the "
- "shell is interactive, this is equivalent to starting a login shell with "
- "@samp{exec -l bash}. When the shell is not interactive, the login shell "
- "startup files will be executed. @samp{exec bash -l} or @samp{exec bash "
- "--login} will replace the current shell with a Bash login shell. @xref{Bash "
- "Startup Files}, for a description of the special behavior of a login shell."
- msgstr ""
- #. type: table
- #: ./bashref.texi:6602
- msgid ""
- "If this option is present, or if no arguments remain after option "
- "processing, then commands are read from the standard input. This option "
- "allows the positional parameters to be set when invoking an interactive "
- "shell or when reading input through a pipe."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6603
- #, no-wrap
- msgid "-D"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6610
- msgid ""
- "A list of all double-quoted strings preceded by @samp{$} is printed on the "
- "standard output. These are the strings that are subject to language "
- "translation when the current locale is not @code{C} or @code{POSIX} "
- "(@pxref{Locale Translation}). This implies the @option{-n} option; no "
- "commands will be executed."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6611
- #, no-wrap
- msgid "[-+]O [@var{shopt_option}]"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6620
- msgid ""
- "@var{shopt_option} is one of the shell options accepted by the @code{shopt} "
- "builtin (@pxref{The Shopt Builtin}). If @var{shopt_option} is present, "
- "@option{-O} sets the value of that option; @option{+O} unsets it. If "
- "@var{shopt_option} is not supplied, the names and values of the shell "
- "options accepted by @code{shopt} are printed on the standard output. If the "
- "invocation option is @option{+O}, the output is displayed in a format that "
- "may be reused as input."
- msgstr ""
- #. type: table
- #: ./bashref.texi:6625
- msgid ""
- "A @code{--} signals the end of options and disables further option "
- "processing. Any arguments after the @code{--} are treated as filenames and "
- "arguments."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:6627
- #, no-wrap
- msgid "login shell"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6630
- msgid ""
- "A @emph{login} shell is one whose first character of argument zero is "
- "@samp{-}, or one invoked with the @option{--login} option."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:6631 ./bashref.texi:6770
- #, no-wrap
- msgid "interactive shell"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6638
- msgid ""
- "An @emph{interactive} shell is one started without non-option arguments, "
- "unless @option{-s} is specified, without specifying the @option{-c} option, "
- "and whose input and output are both connected to terminals (as determined by "
- "@code{isatty(3)}), or one started with the @option{-i} option. "
- "@xref{Interactive Shells}, for more information."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6649
- msgid ""
- "If arguments remain after option processing, and neither the @option{-c} nor "
- "the @option{-s} option has been supplied, the first argument is assumed to "
- "be the name of a file containing shell commands (@pxref{Shell Scripts}). "
- "When Bash is invoked in this fashion, @code{$0} is set to the name of the "
- "file, and the positional parameters are set to the remaining arguments. "
- "Bash reads and executes commands from this file, then exits. Bash's exit "
- "status is the exit status of the last command executed in the script. If no "
- "commands are executed, the exit status is 0."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:6652
- #, no-wrap
- msgid "startup files"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6658
- msgid ""
- "This section describes how Bash executes its startup files. If any of the "
- "files exist but cannot be read, Bash reports an error. Tildes are expanded "
- "in filenames as described above under Tilde Expansion (@pxref{Tilde "
- "Expansion})."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6660
- msgid "Interactive shells are described in @ref{Interactive Shells}."
- msgstr ""
- #. type: subsubheading
- #: ./bashref.texi:6661
- #, no-wrap
- msgid "Invoked as an interactive login shell, or with @option{--login}"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6671
- msgid ""
- "When Bash is invoked as an interactive login shell, or as a non-interactive "
- "shell with the @option{--login} option, it first reads and executes commands "
- "from the file @file{/etc/profile}, if that file exists. After reading that "
- "file, it looks for @file{~/.bash_profile}, @file{~/.bash_login}, and "
- "@file{~/.profile}, in that order, and reads and executes commands from the "
- "first one that exists and is readable. The @option{--noprofile} option may "
- "be used when the shell is started to inhibit this behavior."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6676
- msgid ""
- "When an interactive login shell exits, or a non-interactive login shell "
- "executes the @code{exit} builtin command, Bash reads and executes commands "
- "from the file @file{~/.bash_logout}, if it exists."
- msgstr ""
- #. type: subsubheading
- #: ./bashref.texi:6677
- #, no-wrap
- msgid "Invoked as an interactive non-login shell"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6684
- msgid ""
- "When an interactive shell that is not a login shell is started, Bash reads "
- "and executes commands from @file{~/.bashrc}, if that file exists. This may "
- "be inhibited by using the @option{--norc} option. The @option{--rcfile "
- "@var{file}} option will force Bash to read and execute commands from "
- "@var{file} instead of @file{~/.bashrc}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6686
- msgid "So, typically, your @file{~/.bash_profile} contains the line"
- msgstr ""
- #. type: example
- #: ./bashref.texi:6688
- #, no-wrap
- msgid "@code{if [ -f ~/.bashrc ]; then . ~/.bashrc; fi}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6691
- msgid "after (or before) any login-specific initializations."
- msgstr ""
- #. type: subsubheading
- #: ./bashref.texi:6692
- #, no-wrap
- msgid "Invoked non-interactively"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6699
- msgid ""
- "When Bash is started non-interactively, to run a shell script, for example, "
- "it looks for the variable @env{BASH_ENV} in the environment, expands its "
- "value if it appears there, and uses the expanded value as the name of a file "
- "to read and execute. Bash behaves as if the following command were "
- "executed:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:6701
- #, no-wrap
- msgid "@code{if [ -n \"$BASH_ENV\" ]; then . \"$BASH_ENV\"; fi}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6705
- msgid ""
- "but the value of the @env{PATH} variable is not used to search for the "
- "filename."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6709
- msgid ""
- "As noted above, if a non-interactive shell is invoked with the "
- "@option{--login} option, Bash attempts to read and execute commands from the "
- "login shell startup files."
- msgstr ""
- #. type: subsubheading
- #: ./bashref.texi:6710
- #, no-wrap
- msgid "Invoked with name @code{sh}"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6715
- msgid ""
- "If Bash is invoked with the name @code{sh}, it tries to mimic the startup "
- "behavior of historical versions of @code{sh} as closely as possible, while "
- "conforming to the @sc{posix} standard as well."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6729
- msgid ""
- "When invoked as an interactive login shell, or as a non-interactive shell "
- "with the @option{--login} option, it first attempts to read and execute "
- "commands from @file{/etc/profile} and @file{~/.profile}, in that order. The "
- "@option{--noprofile} option may be used to inhibit this behavior. When "
- "invoked as an interactive shell with the name @code{sh}, Bash looks for the "
- "variable @env{ENV}, expands its value if it is defined, and uses the "
- "expanded value as the name of a file to read and execute. Since a shell "
- "invoked as @code{sh} does not attempt to read and execute commands from any "
- "other startup files, the @option{--rcfile} option has no effect. A "
- "non-interactive shell invoked with the name @code{sh} does not attempt to "
- "read any other startup files."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6732
- msgid ""
- "When invoked as @code{sh}, Bash enters @sc{posix} mode after the startup "
- "files are read."
- msgstr ""
- #. type: subsubheading
- #: ./bashref.texi:6733
- #, no-wrap
- msgid "Invoked in @sc{posix} mode"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6742
- msgid ""
- "When Bash is started in @sc{posix} mode, as with the @option{--posix} "
- "command line option, it follows the @sc{posix} standard for startup files. "
- "In this mode, interactive shells expand the @env{ENV} variable and commands "
- "are read and executed from the file whose name is the expanded value. No "
- "other startup files are read."
- msgstr ""
- #. type: subsubheading
- #: ./bashref.texi:6743
- #, no-wrap
- msgid "Invoked by remote shell daemon"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6756
- msgid ""
- "Bash attempts to determine when it is being run with its standard input "
- "connected to a network connection, as when executed by the remote shell "
- "daemon, usually @code{rshd}, or the secure shell daemon @code{sshd}. If "
- "Bash determines it is being run in this fashion, it reads and executes "
- "commands from @file{~/.bashrc}, if that file exists and is readable. It "
- "will not do this if invoked as @code{sh}. The @option{--norc} option may be "
- "used to inhibit this behavior, and the @option{--rcfile} option may be used "
- "to force another file to be read, but neither @code{rshd} nor @code{sshd} "
- "generally invoke the shell with those options or allow them to be specified."
- msgstr ""
- #. type: subsubheading
- #: ./bashref.texi:6757
- #, no-wrap
- msgid "Invoked with unequal effective and real @sc{uid/gid}s"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6767
- msgid ""
- "If Bash is started with the effective user (group) id not equal to the real "
- "user (group) id, and the @option{-p} option is not supplied, no startup "
- "files are read, shell functions are not inherited from the environment, the "
- "@env{SHELLOPTS}, @env{BASHOPTS}, @env{CDPATH}, and @env{GLOBIGNORE} "
- "variables, if they appear in the environment, are ignored, and the effective "
- "user id is set to the real user id. If the @option{-p} option is supplied "
- "at invocation, the startup behavior is the same, but the effective user id "
- "is not reset."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:6771
- #, no-wrap
- msgid "shell, interactive"
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:6777 ./bashref.texi:6779 ./bashref.texi:6780
- #, no-wrap
- msgid "What is an Interactive Shell?"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:6777
- msgid "What determines whether a shell is Interactive."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:6777 ./bashref.texi:6795 ./bashref.texi:6796
- #, no-wrap
- msgid "Is this Shell Interactive?"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:6777
- msgid "How to tell if a shell is interactive."
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:6777 ./bashref.texi:6822 ./bashref.texi:6823
- #, no-wrap
- msgid "Interactive Shell Behavior"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:6777
- msgid "What changes in a interactive shell?"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6788
- msgid ""
- "An interactive shell is one started without non-option arguments, unless "
- "@option{-s} is specified, without specifying the @option{-c} option, and "
- "whose input and error output are both connected to terminals (as determined "
- "by @code{isatty(3)}), or one started with the @option{-i} option."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6791
- msgid "An interactive shell generally reads from and writes to a user's terminal."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6794
- msgid ""
- "The @option{-s} invocation option may be used to set the positional "
- "parameters when an interactive shell is started."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6802
- msgid ""
- "To determine within a startup script whether or not Bash is running "
- "interactively, test the value of the @samp{-} special parameter. It "
- "contains @code{i} when the shell is interactive. For example:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:6808
- #, no-wrap
- msgid ""
- "case \"$-\" in\n"
- "*i*)\techo This shell is interactive ;;\n"
- "*)\techo This shell is not interactive ;;\n"
- "esac\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6813
- msgid ""
- "Alternatively, startup scripts may examine the variable @env{PS1}; it is "
- "unset in non-interactive shells, and set in interactive shells. Thus:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:6820
- #, no-wrap
- msgid ""
- "if [ -z \"$PS1\" ]; then\n"
- " echo This shell is not interactive\n"
- "else\n"
- " echo This shell is interactive\n"
- "fi\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6827
- msgid ""
- "When the shell is running interactively, it changes its behavior in several "
- "ways."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6831
- msgid ""
- "Startup files are read and executed as described in @ref{Bash Startup "
- "Files}."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6836
- msgid ""
- "Job Control (@pxref{Job Control}) is enabled by default. When job control "
- "is in effect, Bash ignores the keyboard-generated job control signals "
- "@code{SIGTTIN}, @code{SIGTTOU}, and @code{SIGTSTP}."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6845
- msgid ""
- "Bash expands and displays @env{PS1} before reading the first line of a "
- "command, and expands and displays @env{PS2} before reading the second and "
- "subsequent lines of a multi-line command. Bash expands and displays "
- "@env{PS0} after it reads a command but before executing it. See "
- "@ref{Controlling the Prompt}, for a complete list of prompt string escape "
- "sequences."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6850
- msgid ""
- "Bash executes the values of the set elements of the @env{PROMPT_COMMANDS} "
- "array variable as commands before printing the primary prompt, @env{$PS1} "
- "(@pxref{Bash Variables})."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6854
- msgid ""
- "Readline (@pxref{Command Line Editing}) is used to read commands from the "
- "user's terminal."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6859
- msgid ""
- "Bash inspects the value of the @code{ignoreeof} option to @code{set -o} "
- "instead of exiting immediately when it receives an @code{EOF} on its "
- "standard input when reading a command (@pxref{The Set Builtin})."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6866
- msgid ""
- "Command history (@pxref{Bash History Facilities}) and history expansion "
- "(@pxref{History Interaction}) are enabled by default. Bash will save the "
- "command history to the file named by @env{$HISTFILE} when a shell with "
- "history enabled exits."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6869
- msgid "Alias expansion (@pxref{Aliases}) is performed by default."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6873
- msgid "In the absence of any traps, Bash ignores @code{SIGTERM} (@pxref{Signals})."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6878
- msgid ""
- "In the absence of any traps, @code{SIGINT} is caught and handled "
- "(@pxref{Signals}). @code{SIGINT} will interrupt some shell builtins."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6882
- msgid ""
- "An interactive login shell sends a @code{SIGHUP} to all jobs on exit if the "
- "@code{huponexit} shell option has been enabled (@pxref{Signals})."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6886
- msgid ""
- "The @option{-n} invocation option is ignored, and @samp{set -n} has no "
- "effect (@pxref{The Set Builtin})."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6891
- msgid ""
- "Bash will check for mail periodically, depending on the values of the "
- "@env{MAIL}, @env{MAILPATH}, and @env{MAILCHECK} shell variables (@pxref{Bash "
- "Variables})."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6896
- msgid ""
- "Expansion errors due to references to unbound shell variables after "
- "@samp{set -u} has been enabled will not cause the shell to exit (@pxref{The "
- "Set Builtin})."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6901
- msgid ""
- "The shell will not exit on expansion errors caused by @var{var} being unset "
- "or null in @code{$@{@var{var}:?@var{word}@}} expansions (@pxref{Shell "
- "Parameter Expansion})."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6905
- msgid ""
- "Redirection errors encountered by shell builtins will not cause the shell to "
- "exit."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6909
- msgid ""
- "When running in @sc{posix} mode, a special builtin returning an error status "
- "will not cause the shell to exit (@pxref{Bash POSIX Mode})."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6913
- msgid ""
- "A failed @code{exec} will not cause the shell to exit (@pxref{Bourne Shell "
- "Builtins})."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6916
- msgid "Parser syntax errors will not cause the shell to exit."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6921
- msgid ""
- "Simple spelling correction for directory arguments to the @code{cd} builtin "
- "is enabled by default (see the description of the @code{cdspell} option to "
- "the @code{shopt} builtin in @ref{The Shopt Builtin})."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:6926
- msgid ""
- "The shell will check the value of the @env{TMOUT} variable and exit if a "
- "command is not read within the specified number of seconds after printing "
- "@env{$PS1} (@pxref{Bash Variables})."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:6931
- #, no-wrap
- msgid "expressions, conditional"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6938
- msgid ""
- "Conditional expressions are used by the @code{[[} compound command and the "
- "@code{test} and @code{[} builtin commands. The @code{test} and @code{[} "
- "commands determine their behavior based on the number of arguments; see the "
- "descriptions of those commands for any other command-specific actions."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6953
- msgid ""
- "Expressions may be unary or binary, and are formed from the following "
- "primaries. Unary expressions are often used to examine the status of a "
- "file. There are string operators and numeric comparison operators as well. "
- "Bash handles several filenames specially when they are used in expressions. "
- "If the operating system on which Bash is running provides these special "
- "files, Bash will use them; otherwise it will emulate them internally with "
- "this behavior: If the @var{file} argument to one of the primaries is of the "
- "form @file{/dev/fd/@var{N}}, then file descriptor @var{N} is checked. If "
- "the @var{file} argument to one of the primaries is one of @file{/dev/stdin}, "
- "@file{/dev/stdout}, or @file{/dev/stderr}, file descriptor 0, 1, or 2, "
- "respectively, is checked."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6957
- msgid ""
- "When used with @code{[[}, the @samp{<} and @samp{>} operators sort "
- "lexicographically using the current locale. The @code{test} command uses "
- "ASCII ordering."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:6960
- msgid ""
- "Unless otherwise specified, primaries that operate on files follow symbolic "
- "links and operate on the target of the link, rather than the link itself."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6962
- #, no-wrap
- msgid "-a @var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6964 ./bashref.texi:6976
- msgid "True if @var{file} exists."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6965
- #, no-wrap
- msgid "-b @var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6967
- msgid "True if @var{file} exists and is a block special file."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6968
- #, no-wrap
- msgid "-c @var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6970
- msgid "True if @var{file} exists and is a character special file."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6971
- #, no-wrap
- msgid "-d @var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6973
- msgid "True if @var{file} exists and is a directory."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6974
- #, no-wrap
- msgid "-e @var{file}"
- msgstr ""
- #. type: item
- #: ./bashref.texi:6977
- #, no-wrap
- msgid "-f @var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6979
- msgid "True if @var{file} exists and is a regular file."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6980
- #, no-wrap
- msgid "-g @var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6982
- msgid "True if @var{file} exists and its set-group-id bit is set."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6983
- #, no-wrap
- msgid "-h @var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6985 ./bashref.texi:7015
- msgid "True if @var{file} exists and is a symbolic link."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6986
- #, no-wrap
- msgid "-k @var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6988
- msgid "True if @var{file} exists and its \"sticky\" bit is set."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6989
- #, no-wrap
- msgid "-p @var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6991
- msgid "True if @var{file} exists and is a named pipe (FIFO)."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6992
- #, no-wrap
- msgid "-r @var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6994
- msgid "True if @var{file} exists and is readable."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6995
- #, no-wrap
- msgid "-s @var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:6997
- msgid "True if @var{file} exists and has a size greater than zero."
- msgstr ""
- #. type: item
- #: ./bashref.texi:6998
- #, no-wrap
- msgid "-t @var{fd}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7000
- msgid "True if file descriptor @var{fd} is open and refers to a terminal."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7001
- #, no-wrap
- msgid "-u @var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7003
- msgid "True if @var{file} exists and its set-user-id bit is set."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7004
- #, no-wrap
- msgid "-w @var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7006
- msgid "True if @var{file} exists and is writable."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7007
- #, no-wrap
- msgid "-x @var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7009
- msgid "True if @var{file} exists and is executable."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7010
- #, no-wrap
- msgid "-G @var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7012
- msgid "True if @var{file} exists and is owned by the effective group id."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7013
- #, no-wrap
- msgid "-L @var{file}"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7016
- #, no-wrap
- msgid "-N @var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7018
- msgid "True if @var{file} exists and has been modified since it was last read."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7019
- #, no-wrap
- msgid "-O @var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7021
- msgid "True if @var{file} exists and is owned by the effective user id."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7022
- #, no-wrap
- msgid "-S @var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7024
- msgid "True if @var{file} exists and is a socket."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7025
- #, no-wrap
- msgid "@var{file1} -ef @var{file2}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7028
- msgid ""
- "True if @var{file1} and @var{file2} refer to the same device and inode "
- "numbers."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7029
- #, no-wrap
- msgid "@var{file1} -nt @var{file2}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7032
- msgid ""
- "True if @var{file1} is newer (according to modification date) than "
- "@var{file2}, or if @var{file1} exists and @var{file2} does not."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7033
- #, no-wrap
- msgid "@var{file1} -ot @var{file2}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7036
- msgid ""
- "True if @var{file1} is older than @var{file2}, or if @var{file2} exists and "
- "@var{file1} does not."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7037
- #, no-wrap
- msgid "-o @var{optname}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7041
- msgid ""
- "True if the shell option @var{optname} is enabled. The list of options "
- "appears in the description of the @option{-o} option to the @code{set} "
- "builtin (@pxref{The Set Builtin})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7042
- #, no-wrap
- msgid "-v @var{varname}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7044
- msgid "True if the shell variable @var{varname} is set (has been assigned a value)."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7045
- #, no-wrap
- msgid "-R @var{varname}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7047
- msgid "True if the shell variable @var{varname} is set and is a name reference."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7048
- #, no-wrap
- msgid "-z @var{string}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7050
- msgid "True if the length of @var{string} is zero."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7051
- #, no-wrap
- msgid "-n @var{string}"
- msgstr ""
- #. type: var{#1}
- #: ./bashref.texi:7052
- #, no-wrap
- msgid "string"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7054
- msgid "True if the length of @var{string} is non-zero."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7055
- #, no-wrap
- msgid "@var{string1} == @var{string2}"
- msgstr ""
- #. type: itemx
- #: ./bashref.texi:7056
- #, no-wrap
- msgid "@var{string1} = @var{string2}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7060
- msgid ""
- "True if the strings are equal. When used with the @code{[[} command, this "
- "performs pattern matching as described above (@pxref{Conditional "
- "Constructs})."
- msgstr ""
- #. type: table
- #: ./bashref.texi:7062
- msgid ""
- "@samp{=} should be used with the @code{test} command for @sc{posix} "
- "conformance."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7063
- #, no-wrap
- msgid "@var{string1} != @var{string2}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7065
- msgid "True if the strings are not equal."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7066
- #, no-wrap
- msgid "@var{string1} < @var{string2}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7068
- msgid "True if @var{string1} sorts before @var{string2} lexicographically."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7069
- #, no-wrap
- msgid "@var{string1} > @var{string2}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7071
- msgid "True if @var{string1} sorts after @var{string2} lexicographically."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7072
- #, no-wrap
- msgid "@var{arg1} OP @var{arg2}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7082
- msgid ""
- "@code{OP} is one of @samp{-eq}, @samp{-ne}, @samp{-lt}, @samp{-le}, "
- "@samp{-gt}, or @samp{-ge}. These arithmetic binary operators return true if "
- "@var{arg1} is equal to, not equal to, less than, less than or equal to, "
- "greater than, or greater than or equal to @var{arg2}, respectively. "
- "@var{Arg1} and @var{arg2} may be positive or negative integers. When used "
- "with the @code{[[} command, @var{Arg1} and @var{Arg2} are evaluated as "
- "arithmetic expressions (@pxref{Shell Arithmetic})."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:7086
- #, no-wrap
- msgid "arithmetic, shell"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:7087
- #, no-wrap
- msgid "shell arithmetic"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:7088
- #, no-wrap
- msgid "expressions, arithmetic"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:7089
- #, no-wrap
- msgid "evaluation, arithmetic"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:7090
- #, no-wrap
- msgid "arithmetic evaluation"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7095
- msgid ""
- "The shell allows arithmetic expressions to be evaluated, as one of the shell "
- "expansions or by using the @code{((} compound command, the @code{let} "
- "builtin, or the @option{-i} option to the @code{declare} builtin."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7103
- msgid ""
- "Evaluation is done in fixed-width integers with no check for overflow, "
- "though division by 0 is trapped and flagged as an error. The operators and "
- "their precedence, associativity, and values are the same as in the C "
- "language. The following list of operators is grouped into levels of "
- "equal-precedence operators. The levels are listed in order of decreasing "
- "precedence."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7106
- #, no-wrap
- msgid "@var{id}++ @var{id}--"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7108
- msgid "variable post-increment and post-decrement"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7109
- #, no-wrap
- msgid "++@var{id} --@var{id}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7111
- msgid "variable pre-increment and pre-decrement"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7112
- #, no-wrap
- msgid "- +"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7114
- msgid "unary minus and plus"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7115
- #, no-wrap
- msgid "! ~"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7117
- msgid "logical and bitwise negation"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7118
- #, no-wrap
- msgid "**"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7120
- msgid "exponentiation"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7121
- #, no-wrap
- msgid "* / %"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7123
- msgid "multiplication, division, remainder"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7124
- #, no-wrap
- msgid "+ -"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7126
- msgid "addition, subtraction"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7127
- #, no-wrap
- msgid "<< >>"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7129
- msgid "left and right bitwise shifts"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7130
- #, no-wrap
- msgid "<= >= < >"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7132
- msgid "comparison"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7133
- #, no-wrap
- msgid "== !="
- msgstr ""
- #. type: table
- #: ./bashref.texi:7135
- msgid "equality and inequality"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7136
- #, no-wrap
- msgid "&"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7138
- msgid "bitwise AND"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7139
- #, no-wrap
- msgid "^"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7141
- msgid "bitwise exclusive OR"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7142
- #, no-wrap
- msgid "|"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7144
- msgid "bitwise OR"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7145
- #, no-wrap
- msgid "&&"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7147
- msgid "logical AND"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7148
- #, no-wrap
- msgid "||"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7150
- msgid "logical OR"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7151
- #, no-wrap
- msgid "expr ? expr : expr"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7153
- msgid "conditional operator"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7154
- #, no-wrap
- msgid "= *= /= %= += -= <<= >>= &= ^= |="
- msgstr ""
- #. type: table
- #: ./bashref.texi:7156
- msgid "assignment"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7157
- #, no-wrap
- msgid "expr1 , expr2"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7159
- msgid "comma"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7173
- msgid ""
- "Shell variables are allowed as operands; parameter expansion is performed "
- "before the expression is evaluated. Within an expression, shell variables "
- "may also be referenced by name without using the parameter expansion "
- "syntax. A shell variable that is null or unset evaluates to 0 when "
- "referenced by name without using the parameter expansion syntax. The value "
- "of a variable is evaluated as an arithmetic expression when it is "
- "referenced, or when a variable which has been given the @var{integer} "
- "attribute using @samp{declare -i} is assigned a value. A null value "
- "evaluates to 0. A shell variable need not have its @var{integer} attribute "
- "turned on to be used in an expression."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7189
- msgid ""
- "Integer constants follow the C language definition, without suffixes or "
- "character constants. Constants with a leading 0 are interpreted as octal "
- "numbers. A leading @samp{0x} or @samp{0X} denotes hexadecimal. Otherwise, "
- "numbers take the form [@var{base}@code{#}]@var{n}, where the optional "
- "@var{base} is a decimal number between 2 and 64 representing the arithmetic "
- "base, and @var{n} is a number in that base. If @var{base}@code{#} is "
- "omitted, then base 10 is used. When specifying @var{n}, if a non-digit is "
- "required, the digits greater than 9 are represented by the lowercase "
- "letters, the uppercase letters, @samp{@@}, and @samp{_}, in that order. If "
- "@var{base} is less than or equal to 36, lowercase and uppercase letters may "
- "be used interchangeably to represent numbers between 10 and 35."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7193
- msgid ""
- "Operators are evaluated in order of precedence. Sub-expressions in "
- "parentheses are evaluated first and may override the precedence rules above."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:7196
- #, no-wrap
- msgid "alias expansion"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7202
- msgid ""
- "@var{Aliases} allow a string to be substituted for a word when it is used as "
- "the first word of a simple command. The shell maintains a list of aliases "
- "that may be set and unset with the @code{alias} and @code{unalias} builtin "
- "commands."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7220
- msgid ""
- "The first word of each simple command, if unquoted, is checked to see if it "
- "has an alias. If so, that word is replaced by the text of the alias. The "
- "characters @samp{/}, @samp{$}, @samp{`}, @samp{=} and any of the shell "
- "metacharacters or quoting characters listed above may not appear in an alias "
- "name. The replacement text may contain any valid shell input, including "
- "shell metacharacters. The first word of the replacement text is tested for "
- "aliases, but a word that is identical to an alias being expanded is not "
- "expanded a second time. This means that one may alias @code{ls} to "
- "@code{\"ls -F\"}, for instance, and Bash does not try to recursively expand "
- "the replacement text. If the last character of the alias value is a "
- "@var{blank}, then the next command word following the alias is also checked "
- "for alias expansion."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7223
- msgid ""
- "Aliases are created and listed with the @code{alias} command, and removed "
- "with the @code{unalias} command."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7228
- msgid ""
- "There is no mechanism for using arguments in the replacement text, as in "
- "@code{csh}. If arguments are needed, a shell function should be used "
- "(@pxref{Shell Functions})."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7232
- msgid ""
- "Aliases are not expanded when the shell is not interactive, unless the "
- "@code{expand_aliases} shell option is set using @code{shopt} (@pxref{The "
- "Shopt Builtin})."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7252
- msgid ""
- "The rules concerning the definition and use of aliases are somewhat "
- "confusing. Bash always reads at least one complete line of input, and all "
- "lines that make up a compound command, before executing any of the commands "
- "on that line or the compound command. Aliases are expanded when a command "
- "is read, not when it is executed. Therefore, an alias definition appearing "
- "on the same line as another command does not take effect until the next line "
- "of input is read. The commands following the alias definition on that line "
- "are not affected by the new alias. This behavior is also an issue when "
- "functions are executed. Aliases are expanded when a function definition is "
- "read, not when the function is executed, because a function definition is "
- "itself a command. As a consequence, aliases defined in a function are not "
- "available until after that function is executed. To be safe, always put "
- "alias definitions on a separate line, and do not use @code{alias} in "
- "compound commands."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7254
- msgid "For almost every purpose, shell functions are preferred over aliases."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:7257
- #, no-wrap
- msgid "arrays"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7269
- msgid ""
- "Bash provides one-dimensional indexed and associative array variables. Any "
- "variable may be used as an indexed array; the @code{declare} builtin will "
- "explicitly declare an array. There is no maximum limit on the size of an "
- "array, nor any requirement that members be indexed or assigned "
- "contiguously. Indexed arrays are referenced using integers (including "
- "arithmetic expressions (@pxref{Shell Arithmetic})) and are zero-based; "
- "associative arrays use arbitrary strings. Unless otherwise noted, indexed "
- "array indices must be non-negative integers."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7272
- msgid ""
- "An indexed array is created automatically if any variable is assigned to "
- "using the syntax"
- msgstr ""
- #. type: example
- #: ./bashref.texi:7274
- #, no-wrap
- msgid "@var{name}[@var{subscript}]=@var{value}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7280
- msgid ""
- "The @var{subscript} is treated as an arithmetic expression that must "
- "evaluate to a number. To explicitly declare an array, use"
- msgstr ""
- #. type: example
- #: ./bashref.texi:7282
- #, no-wrap
- msgid "declare -a @var{name}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7285
- msgid "The syntax"
- msgstr ""
- #. type: example
- #: ./bashref.texi:7287
- #, no-wrap
- msgid "declare -a @var{name}[@var{subscript}]\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7290
- msgid "is also accepted; the @var{subscript} is ignored."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7293
- msgid "Associative arrays are created using"
- msgstr ""
- #. type: example
- #: ./bashref.texi:7295
- #, no-wrap
- msgid "declare -A @var{name}\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7301
- msgid ""
- "Attributes may be specified for an array variable using the @code{declare} "
- "and @code{readonly} builtins. Each attribute applies to all members of an "
- "array."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7303
- msgid "Arrays are assigned to using compound assignments of the form"
- msgstr ""
- #. type: example
- #: ./bashref.texi:7305
- #, no-wrap
- msgid "@var{name}=(@var{value1} @var{value2} @dots{} )\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7314
- msgid ""
- "where each @var{value} may be of the form "
- "@code{[@var{subscript}]=}@var{string}. Indexed array assignments do not "
- "require anything but @var{string}. When assigning to indexed arrays, if the "
- "optional subscript is supplied, that index is assigned to; otherwise the "
- "index of the element assigned is the last index assigned to by the statement "
- "plus one. Indexing starts at zero."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7317
- msgid ""
- "Each @var{value} in the list undergoes all the shell expansions described "
- "above (@pxref{Shell Expansions})."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7329
- msgid ""
- "When assigning to an associative array, the words in a compound assignment "
- "may be either assignment statements, for which the subscript is required, or "
- "a list of words that is interpreted as a sequence of alternating keys and "
- "values: @var{name}=(@var{key1} @var{value1} @var{key2} @var{value2} @dots{} "
- "). These are treated identically to @var{name}=( [@var{key1}]=@var{value1} "
- "[@var{key2}]=@var{value2} @dots{} ). The first word in the list determines "
- "how the remaining words are interpreted; all assignments in a list must be "
- "of the same type. When using key/value pairs, the keys may not be missing "
- "or empty; a final missing value is treated like the empty string."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7333
- msgid ""
- "This syntax is also accepted by the @code{declare} builtin. Individual "
- "array elements may be assigned to using the "
- "@code{@var{name}[@var{subscript}]=@var{value}} syntax introduced above."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7339
- msgid ""
- "When assigning to an indexed array, if @var{name} is subscripted by a "
- "negative number, that number is interpreted as relative to one greater than "
- "the maximum index of @var{name}, so negative indices count back from the end "
- "of the array, and an index of -1 references the last element."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7369
- msgid ""
- "Any element of an array may be referenced using "
- "@code{$@{@var{name}[@var{subscript}]@}}. The braces are required to avoid "
- "conflicts with the shell's filename expansion operators. If the "
- "@var{subscript} is @samp{@@} or @samp{*}, the word expands to all members of "
- "the array @var{name}. These subscripts differ only when the word appears "
- "within double quotes. If the word is double-quoted, "
- "@code{$@{@var{name}[*]@}} expands to a single word with the value of each "
- "array member separated by the first character of the @env{IFS} variable, and "
- "@code{$@{@var{name}[@@]@}} expands each element of @var{name} to a separate "
- "word. When there are no array members, @code{$@{@var{name}[@@]@}} expands "
- "to nothing. If the double-quoted expansion occurs within a word, the "
- "expansion of the first parameter is joined with the beginning part of the "
- "original word, and the expansion of the last parameter is joined with the "
- "last part of the original word. This is analogous to the expansion of the "
- "special parameters @samp{@@} and @samp{*}. "
- "@code{$@{#@var{name}[@var{subscript}]@}} expands to the length of "
- "@code{$@{@var{name}[@var{subscript}]@}}. If @var{subscript} is @samp{@@} or "
- "@samp{*}, the expansion is the number of elements in the array. If the "
- "@var{subscript} used to reference an element of an indexed array evaluates "
- "to a number less than zero, it is interpreted as relative to one greater "
- "than the maximum index of the array, so negative indices count back from the "
- "end of the array, and an index of -1 refers to the last element."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7374
- msgid ""
- "Referencing an array variable without a subscript is equivalent to "
- "referencing with a subscript of 0. Any reference to a variable using a "
- "valid subscript is legal, and @code{bash} will create an array if necessary."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7377
- msgid ""
- "An array variable is considered set if a subscript has been assigned a "
- "value. The null string is a valid value."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7383
- msgid ""
- "It is possible to obtain the keys (indices) of an array as well as the "
- "values. $@{!@var{name}[@@]@} and $@{!@var{name}[*]@} expand to the indices "
- "assigned in array variable @var{name}. The treatment when in double quotes "
- "is similar to the expansion of the special parameters @samp{@@} and @samp{*} "
- "within double quotes."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7392
- msgid ""
- "The @code{unset} builtin is used to destroy arrays. @code{unset "
- "@var{name}[@var{subscript}]} destroys the array element at index "
- "@var{subscript}. Negative subscripts to indexed arrays are interpreted as "
- "described above. Unsetting the last element of an array variable does not "
- "unset the variable. @code{unset @var{name}}, where @var{name} is an array, "
- "removes the entire array. A subscript of @samp{*} or @samp{@@} also removes "
- "the entire array."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7397
- msgid ""
- "When using a variable name with a subscript as an argument to a command, "
- "such as with @code{unset}, without using the word expansion syntax described "
- "above, the argument is subject to the shell's filename expansion. If "
- "filename expansion is not desired, the argument should be quoted."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7408
- msgid ""
- "The @code{declare}, @code{local}, and @code{readonly} builtins each accept a "
- "@option{-a} option to specify an indexed array and a @option{-A} option to "
- "specify an associative array. If both options are supplied, @option{-A} "
- "takes precedence. The @code{read} builtin accepts a @option{-a} option to "
- "assign a list of words read from the standard input to an array, and can "
- "read values from the standard input into individual array elements. The "
- "@code{set} and @code{declare} builtins display array values in a way that "
- "allows them to be reused as input."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:7411
- #, no-wrap
- msgid "directory stack"
- msgstr ""
- #. type: subsection
- #: ./bashref.texi:7416 ./bashref.texi:7429 ./bashref.texi:7430
- #, no-wrap
- msgid "Directory Stack Builtins"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:7416
- msgid "Bash builtin commands to manipulate the directory stack."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7425
- msgid ""
- "The directory stack is a list of recently-visited directories. The "
- "@code{pushd} builtin adds directories to the stack as it changes the current "
- "directory, and the @code{popd} builtin removes specified directories from "
- "the stack and changes the current directory to the directory removed. The "
- "@code{dirs} builtin displays the contents of the directory stack. The "
- "current directory is always the \"top\" of the directory stack."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7428
- msgid ""
- "The contents of the directory stack are also visible as the value of the "
- "@env{DIRSTACK} shell variable."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:7434 ./bashref.texi:7435
- #, no-wrap
- msgid "dirs"
- msgstr ""
- #. type: example
- #: ./bashref.texi:7438
- #, no-wrap
- msgid "dirs [-clpv] [+@var{N} | -@var{N}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7444
- msgid ""
- "Display the list of currently remembered directories. Directories are added "
- "to the list with the @code{pushd} command; the @code{popd} command removes "
- "directories from the list. The current directory is always the first "
- "directory in the stack."
- msgstr ""
- #. type: table
- #: ./bashref.texi:7448
- msgid "Clears the directory stack by deleting all of the elements."
- msgstr ""
- #. type: table
- #: ./bashref.texi:7451
- msgid ""
- "Produces a listing using full pathnames; the default listing format uses a "
- "tilde to denote the home directory."
- msgstr ""
- #. type: table
- #: ./bashref.texi:7454
- msgid "Causes @code{dirs} to print the directory stack with one entry per line."
- msgstr ""
- #. type: table
- #: ./bashref.texi:7457
- msgid ""
- "Causes @code{dirs} to print the directory stack with one entry per line, "
- "prefixing each entry with its index in the stack."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7457 ./bashref.texi:7483 ./bashref.texi:7506
- #, no-wrap
- msgid "+@var{N}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7461
- msgid ""
- "Displays the @var{N}th directory (counting from the left of the list printed "
- "by @code{dirs} when invoked without options), starting with zero."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7461 ./bashref.texi:7486 ./bashref.texi:7510
- #, no-wrap
- msgid "-@var{N}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7465
- msgid ""
- "Displays the @var{N}th directory (counting from the right of the list "
- "printed by @code{dirs} when invoked without options), starting with zero."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:7467 ./bashref.texi:7468
- #, no-wrap
- msgid "popd"
- msgstr ""
- #. type: example
- #: ./bashref.texi:7471
- #, no-wrap
- msgid "popd [-n] [+@var{N} | -@var{N}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7478
- msgid ""
- "When no arguments are given, @code{popd} removes the top directory from the "
- "stack and performs a @code{cd} to the new top directory. The elements are "
- "numbered from 0 starting at the first directory listed with @code{dirs}; "
- "that is, @code{popd} is equivalent to @code{popd +0}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:7483
- msgid ""
- "Suppresses the normal change of directory when removing directories from the "
- "stack, so that only the stack is manipulated."
- msgstr ""
- #. type: table
- #: ./bashref.texi:7486
- msgid ""
- "Removes the @var{N}th directory (counting from the left of the list printed "
- "by @code{dirs}), starting with zero."
- msgstr ""
- #. type: table
- #: ./bashref.texi:7489
- msgid ""
- "Removes the @var{N}th directory (counting from the right of the list printed "
- "by @code{dirs}), starting with zero."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7491 ./bashref.texi:7492
- #, no-wrap
- msgid "pushd"
- msgstr ""
- #. type: example
- #: ./bashref.texi:7495
- #, no-wrap
- msgid "pushd [-n] [@var{+N} | @var{-N} | @var{dir}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7501
- msgid ""
- "Save the current directory on the top of the directory stack and then "
- "@code{cd} to @var{dir}. With no arguments, @code{pushd} exchanges the top "
- "two directories and makes the new top the current directory."
- msgstr ""
- #. type: table
- #: ./bashref.texi:7506
- msgid ""
- "Suppresses the normal change of directory when rotating or adding "
- "directories to the stack, so that only the stack is manipulated."
- msgstr ""
- #. type: table
- #: ./bashref.texi:7510
- msgid ""
- "Brings the @var{N}th directory (counting from the left of the list printed "
- "by @code{dirs}, starting with zero) to the top of the list by rotating the "
- "stack."
- msgstr ""
- #. type: table
- #: ./bashref.texi:7514
- msgid ""
- "Brings the @var{N}th directory (counting from the right of the list printed "
- "by @code{dirs}, starting with zero) to the top of the list by rotating the "
- "stack."
- msgstr ""
- #. type: var{#1}
- #: ./bashref.texi:7514
- #, no-wrap
- msgid "dir"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7518
- msgid ""
- "Makes @var{dir} be the top of the stack, making it the new current directory "
- "as if it had been supplied as an argument to the @code{cd} builtin."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:7523
- #, no-wrap
- msgid "prompting"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7530
- msgid ""
- "Bash examines the value of the array variable @env{PROMPT_COMMANDS} just "
- "before printing each primary prompt. If any elements in "
- "@env{PROMPT_COMMANDS} are set and non-null, Bash executes each value, in "
- "numeric order, just as if it had been typed on the command line."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7534
- msgid ""
- "In addition, the following table describes the special characters which can "
- "appear in the prompt variables @env{PS0}, @env{PS1}, @env{PS2}, and "
- "@env{PS4}:"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7538
- msgid "A bell character."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7538
- #, no-wrap
- msgid "\\d"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7540
- msgid "The date, in \"Weekday Month Date\" format (e.g., \"Tue May 26\")."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7540
- #, no-wrap
- msgid "\\D@{@var{format}@}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7544
- msgid ""
- "The @var{format} is passed to @code{strftime}(3) and the result is inserted "
- "into the prompt string; an empty @var{format} results in a locale-specific "
- "time representation. The braces are required."
- msgstr ""
- #. type: table
- #: ./bashref.texi:7546
- msgid "An escape character."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7546
- #, no-wrap
- msgid "\\h"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7548
- msgid "The hostname, up to the first `.'."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7548
- #, no-wrap
- msgid "\\H"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7550
- msgid "The hostname."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7550
- #, no-wrap
- msgid "\\j"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7552
- msgid "The number of jobs currently managed by the shell."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7552
- #, no-wrap
- msgid "\\l"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7554
- msgid "The basename of the shell's terminal device name."
- msgstr ""
- #. type: table
- #: ./bashref.texi:7556
- msgid "A newline."
- msgstr ""
- #. type: table
- #: ./bashref.texi:7558
- msgid "A carriage return."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7558
- #, no-wrap
- msgid "\\s"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7561
- msgid ""
- "The name of the shell, the basename of @code{$0} (the portion following the "
- "final slash)."
- msgstr ""
- #. type: table
- #: ./bashref.texi:7563
- msgid "The time, in 24-hour HH:MM:SS format."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7563
- #, no-wrap
- msgid "\\T"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7565
- msgid "The time, in 12-hour HH:MM:SS format."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7565
- #, no-wrap
- msgid "\\@@"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7567
- msgid "The time, in 12-hour am/pm format."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7567
- #, no-wrap
- msgid "\\A"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7569
- msgid "The time, in 24-hour HH:MM format."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7569
- #, no-wrap
- msgid "\\u"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7571
- msgid "The username of the current user."
- msgstr ""
- #. type: table
- #: ./bashref.texi:7573
- msgid "The version of Bash (e.g., 2.00)"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7573
- #, no-wrap
- msgid "\\V"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7575
- msgid "The release of Bash, version + patchlevel (e.g., 2.00.0)"
- msgstr ""
- #. type: item
- #: ./bashref.texi:7575
- #, no-wrap
- msgid "\\w"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7578
- msgid ""
- "The current working directory, with @env{$HOME} abbreviated with a tilde "
- "(uses the @env{$PROMPT_DIRTRIM} variable)."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7578
- #, no-wrap
- msgid "\\W"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7580
- msgid "The basename of @env{$PWD}, with @env{$HOME} abbreviated with a tilde."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7580
- #, no-wrap
- msgid "\\!"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7582
- msgid "The history number of this command."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7582
- #, no-wrap
- msgid "\\#"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7584
- msgid "The command number of this command."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7584
- #, no-wrap
- msgid "\\$"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7586
- msgid "If the effective uid is 0, @code{#}, otherwise @code{$}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:7588
- msgid "The character whose ASCII code is the octal value @var{nnn}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:7590
- msgid "A backslash."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7590
- #, no-wrap
- msgid "\\["
- msgstr ""
- #. type: table
- #: ./bashref.texi:7593
- msgid ""
- "Begin a sequence of non-printing characters. This could be used to embed a "
- "terminal control sequence into the prompt."
- msgstr ""
- #. type: item
- #: ./bashref.texi:7593
- #, no-wrap
- msgid "\\]"
- msgstr ""
- #. type: table
- #: ./bashref.texi:7595
- msgid "End a sequence of non-printing characters."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7603
- msgid ""
- "The command number and the history number are usually different: the history "
- "number of a command is its position in the history list, which may include "
- "commands restored from the history file (@pxref{Bash History Facilities}), "
- "while the command number is the position in the sequence of commands "
- "executed during the current shell session."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7611
- msgid ""
- "After the string is decoded, it is expanded via parameter expansion, command "
- "substitution, arithmetic expansion, and quote removal, subject to the value "
- "of the @code{promptvars} shell option (@pxref{The Shopt Builtin}). This can "
- "have unwanted side effects if escaped portions of the string appear within "
- "command substitution or contain characters special to word expansion."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:7614
- #, no-wrap
- msgid "restricted shell"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7625
- msgid ""
- "If Bash is started with the name @code{rbash}, or the @option{--restricted} "
- "or @option{-r} option is supplied at invocation, the shell becomes "
- "restricted. A restricted shell is used to set up an environment more "
- "controlled than the standard shell. A restricted shell behaves identically "
- "to @code{bash} with the exception that the following are disallowed or not "
- "performed:"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:7629
- msgid "Changing directories with the @code{cd} builtin."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:7633
- msgid ""
- "Setting or unsetting the values of the @env{SHELL}, @env{PATH}, "
- "@env{HISTFILE}, @env{ENV}, or @env{BASH_ENV} variables."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:7635
- msgid "Specifying command names containing slashes."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:7638
- msgid ""
- "Specifying a filename containing a slash as an argument to the @code{.} "
- "builtin command."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:7641
- msgid ""
- "Specifying a filename containing a slash as an argument to the "
- "@code{history} builtin command."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:7644
- msgid ""
- "Specifying a filename containing a slash as an argument to the @option{-p} "
- "option to the @code{hash} builtin command."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:7646
- msgid "Importing function definitions from the shell environment at startup."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:7648
- msgid "Parsing the value of @env{SHELLOPTS} from the shell environment at startup."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:7651
- msgid ""
- "Redirecting output using the @samp{>}, @samp{>|}, @samp{<>}, @samp{>&}, "
- "@samp{&>}, and @samp{>>} redirection operators."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:7653
- msgid "Using the @code{exec} builtin to replace the shell with another command."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:7656
- msgid ""
- "Adding or deleting builtin commands with the @option{-f} and @option{-d} "
- "options to the @code{enable} builtin."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:7658
- msgid "Using the @code{enable} builtin command to enable disabled shell builtins."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:7660
- msgid "Specifying the @option{-p} option to the @code{command} builtin."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:7662
- msgid "Turning off restricted mode with @samp{set +r} or @samp{set +o restricted}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7665
- msgid "These restrictions are enforced after any startup files are read."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7669
- msgid ""
- "When a command that is found to be a shell script is executed (@pxref{Shell "
- "Scripts}), @code{rbash} turns off any restrictions in the shell spawned to "
- "execute the script."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7678
- msgid ""
- "The restricted shell mode is only one component of a useful restricted "
- "environment. It should be accompanied by setting @env{PATH} to a value that "
- "allows execution of only a few verified commands (commands that allow shell "
- "escapes are particularly vulnerable), leaving the user in a non-writable "
- "directory other than his home directory after login, not allowing the "
- "restricted shell to execute shell scripts, and cleaning the environment of "
- "variables that cause some commands to modify their behavior (e.g., "
- "@env{VISUAL} or @env{PAGER})."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7681
- msgid ""
- "Modern systems provide more secure ways to implement a restricted "
- "environment, such as @code{jails}, @code{zones}, or @code{containers}."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:7685
- #, no-wrap
- msgid "POSIX Mode"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7691
- msgid ""
- "Starting Bash with the @option{--posix} command-line option or executing "
- "@samp{set -o posix} while Bash is running will cause Bash to conform more "
- "closely to the @sc{posix} standard by changing the behavior to match that "
- "specified by @sc{posix} in areas where the Bash default differs."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7694
- msgid ""
- "When invoked as @code{sh}, Bash enters @sc{posix} mode after reading the "
- "startup files."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7696
- msgid "The following list is what's changed when `@sc{posix} mode' is in effect:"
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7700
- msgid "Bash ensures that the @env{POSIXLY_CORRECT} variable is set."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7705
- msgid ""
- "When a command in the hash table no longer exists, Bash will re-search "
- "@env{$PATH} to find the new location. This is also available with "
- "@samp{shopt -s checkhash}."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7710
- msgid ""
- "Bash will not insert a command without the execute bit set into the command "
- "hash table, even if it returns it as a (last-ditch) result from a "
- "@env{$PATH} search."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7714
- msgid ""
- "The message printed by the job control code and builtins when a job exits "
- "with a non-zero status is `Done(status)'."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7719
- msgid ""
- "The message printed by the job control code and builtins when a job is "
- "stopped is `Stopped(@var{signame})', where @var{signame} is, for example, "
- "@code{SIGTSTP}."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7722
- msgid "Alias expansion is always enabled, even in non-interactive shells."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7726
- msgid ""
- "Reserved words appearing in a context where reserved words are recognized do "
- "not undergo alias expansion."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7732
- msgid ""
- "The @sc{posix} @env{PS1} and @env{PS2} expansions of @samp{!} to the history "
- "number and @samp{!!} to @samp{!} are enabled, and parameter expansion is "
- "performed on the values of @env{PS1} and @env{PS2} regardless of the setting "
- "of the @code{promptvars} option."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7736
- msgid ""
- "The @sc{posix} startup files are executed (@env{$ENV}) rather than the "
- "normal Bash files."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7740
- msgid ""
- "Tilde expansion is only performed on assignments preceding a command name, "
- "rather than on all assignment statements on the line."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7744
- msgid ""
- "The default history file is @file{~/.sh_history} (this is the default value "
- "of @env{$HISTFILE})."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7748
- msgid ""
- "Redirection operators do not perform filename expansion on the word in the "
- "redirection unless the shell is interactive."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7752
- msgid ""
- "Redirection operators do not perform word splitting on the word in the "
- "redirection."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7758
- msgid ""
- "Function names must be valid shell @code{name}s. That is, they may not "
- "contain characters other than letters, digits, and underscores, and may not "
- "start with a digit. Declaring a function with an invalid name causes a "
- "fatal syntax error in non-interactive shells."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7762
- msgid ""
- "Function names may not be the same as one of the @sc{posix} special "
- "builtins."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7766
- msgid ""
- "@sc{posix} special builtins are found before shell functions during command "
- "lookup."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7770
- msgid ""
- "When printing shell function definitions (e.g., by @code{type}), Bash does "
- "not print the @code{function} keyword."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7775
- msgid ""
- "Literal tildes that appear as the first character in elements of the "
- "@env{PATH} variable are not expanded as described above under @ref{Tilde "
- "Expansion}."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7781
- msgid ""
- "The @code{time} reserved word may be used by itself as a command. When used "
- "in this way, it displays timing statistics for the shell and its completed "
- "children. The @env{TIMEFORMAT} variable controls the format of the timing "
- "information."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7788
- msgid ""
- "When parsing and expanding a $@{@dots{}@} expansion that appears within "
- "double quotes, single quotes are no longer special and cannot be used to "
- "quote a closing brace or other special character, unless the operator is one "
- "of those defined to perform pattern removal. In this case, they do not have "
- "to appear as matched pairs."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7792
- msgid ""
- "The parser does not recognize @code{time} as a reserved word if the next "
- "token begins with a @samp{-}."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7803
- msgid ""
- "The @samp{!} character does not introduce history expansion within a "
- "double-quoted string, even if the @code{histexpand} option is enabled."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7810
- msgid ""
- "If a @sc{posix} special builtin returns an error status, a non-interactive "
- "shell exits. The fatal errors are those listed in the @sc{posix} standard, "
- "and include things like passing incorrect options, redirection errors, "
- "variable assignment errors for assignments preceding the command name, and "
- "so on."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7817
- msgid ""
- "A non-interactive shell exits with an error status if a variable assignment "
- "error occurs when no command name follows the assignment statements. A "
- "variable assignment error occurs, for example, when trying to assign a value "
- "to a readonly variable."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7822
- msgid ""
- "A non-interactive shell exits with an error status if a variable assignment "
- "error occurs in an assignment statement preceding a special builtin, but not "
- "with any other simple command."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7827
- msgid ""
- "A non-interactive shell exits with an error status if the iteration variable "
- "in a @code{for} statement or the selection variable in a @code{select} "
- "statement is a readonly variable."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7831
- msgid ""
- "Non-interactive shells exit if @var{filename} in @code{.} @var{filename} is "
- "not found."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7835
- msgid ""
- "Non-interactive shells exit if a syntax error in an arithmetic expansion "
- "results in an invalid expression."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7838
- msgid "Non-interactive shells exit if a parameter expansion error occurs."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7843
- msgid ""
- "Non-interactive shells exit if there is a syntax error in a script read with "
- "the @code{.} or @code{source} builtins, or in a string processed by the "
- "@code{eval} builtin."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7847
- msgid ""
- "While variable indirection is available, it may not be applied to the "
- "@samp{#} and @samp{?} special parameters."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7852
- msgid ""
- "When expanding the @samp{*} special parameter in a pattern context where the "
- "expansion is double-quoted does not treat the @code{$*} as if it were "
- "double-quoted."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7856
- msgid ""
- "Assignment statements preceding @sc{posix} special builtins persist in the "
- "shell environment after the builtin completes."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7862
- msgid ""
- "The @code{command} builtin does not prevent builtins that take assignment "
- "statements as arguments from expanding them as assignment statements; when "
- "not in @sc{posix} mode, assignment builtins lose their assignment statement "
- "expansion properties when preceded by @code{command}."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7867
- msgid ""
- "The @code{bg} builtin uses the required format to describe each job placed "
- "in the background, which does not include an indication of whether the job "
- "is the current or previous job."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7871
- msgid ""
- "The output of @samp{kill -l} prints all the signal names on a single line, "
- "separated by spaces, without the @samp{SIG} prefix."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7875
- msgid ""
- "The @code{kill} builtin does not accept signal names with a @samp{SIG} "
- "prefix."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7879
- msgid ""
- "The @code{export} and @code{readonly} builtin commands display their output "
- "in the format required by @sc{posix}."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7883
- msgid ""
- "The @code{trap} builtin displays signal names without the leading "
- "@code{SIG}."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7891
- msgid ""
- "The @code{trap} builtin doesn't check the first argument for a possible "
- "signal specification and revert the signal handling to the original "
- "disposition if it is, unless that argument consists solely of digits and is "
- "a valid signal number. If users want to reset the handler for a given "
- "signal to the original disposition, they should use @samp{-} as the first "
- "argument."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7895
- msgid ""
- "@code{trap -p} displays signals whose dispositions are set to SIG_DFL and "
- "those that were ignored when the shell started."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7899
- msgid ""
- "The @code{.} and @code{source} builtins do not search the current directory "
- "for the filename argument if it is not found by searching @env{PATH}."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7907
- msgid ""
- "Enabling @sc{posix} mode has the effect of setting the "
- "@code{inherit_errexit} option, so subshells spawned to execute command "
- "substitutions inherit the value of the @option{-e} option from the parent "
- "shell. When the @code{inherit_errexit} option is not enabled, Bash clears "
- "the @option{-e} option in such subshells."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7913
- msgid ""
- "Enabling @sc{posix} mode has the effect of setting the @code{shift_verbose} "
- "option, so numeric arguments to @code{shift} that exceed the number of "
- "positional parameters will result in an error message."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7918
- msgid ""
- "When the @code{alias} builtin displays alias definitions, it does not "
- "display them with a leading @samp{alias } unless the @option{-p} option is "
- "supplied."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7922
- msgid ""
- "When the @code{set} builtin is invoked without options, it does not display "
- "shell function names and definitions."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7927
- msgid ""
- "When the @code{set} builtin is invoked without options, it displays variable "
- "values without quotes, unless they contain shell metacharacters, even if the "
- "result contains nonprinting characters."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7933
- msgid ""
- "When the @code{cd} builtin is invoked in @var{logical} mode, and the "
- "pathname constructed from @code{$PWD} and the directory name supplied as an "
- "argument does not refer to an existing directory, @code{cd} will fail "
- "instead of falling back to @var{physical} mode."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7940
- msgid ""
- "When the @code{cd} builtin cannot change a directory because the length of "
- "the pathname constructed from @code{$PWD} and the directory name supplied as "
- "an argument exceeds @var{PATH_MAX} when all symbolic links are expanded, "
- "@code{cd} will fail instead of attempting to use only the supplied directory "
- "name."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7945
- msgid ""
- "The @code{pwd} builtin verifies that the value it prints is the same as the "
- "current directory, even if it is not asked to check the file system with the "
- "@option{-P} option."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7949
- msgid ""
- "When listing the history, the @code{fc} builtin does not include an "
- "indication of whether or not a history entry has been modified."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7952
- msgid "The default editor used by @code{fc} is @code{ed}."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7957
- msgid ""
- "The @code{type} and @code{command} builtins will not report a non-executable "
- "file as having been found, though the shell will attempt to execute such a "
- "file if it is the only so-named file found in @code{$PATH}."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7962
- msgid ""
- "The @code{vi} editing mode will invoke the @code{vi} editor directly when "
- "the @samp{v} command is run, instead of checking @code{$VISUAL} and "
- "@code{$EDITOR}."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7967
- msgid ""
- "When the @code{xpg_echo} option is enabled, Bash does not attempt to "
- "interpret any arguments to @code{echo} as options. Each argument is "
- "displayed, after escape characters are converted."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7971
- msgid ""
- "The @code{ulimit} builtin uses a block size of 512 bytes for the @option{-c} "
- "and @option{-f} options."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7976
- msgid ""
- "The arrival of @code{SIGCHLD} when a trap is set on @code{SIGCHLD} does not "
- "interrupt the @code{wait} builtin and cause it to return immediately. The "
- "trap command is run once for each child that exits."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7982
- msgid ""
- "The @code{read} builtin may be interrupted by a signal for which a trap has "
- "been set. If Bash receives a trapped signal while executing @code{read}, "
- "the trap handler executes and @code{read} returns an exit status greater "
- "than 128."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7986
- msgid ""
- "Bash removes an exited background process's status from the list of such "
- "statuses after the @code{wait} builtin is used to obtain it."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:7992
- msgid ""
- "There is other @sc{posix} behavior that Bash does not implement by default "
- "even when in @sc{posix} mode. Specifically:"
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:7999
- msgid ""
- "The @code{fc} builtin checks @code{$EDITOR} as a program to edit history "
- "entries if @code{FCEDIT} is unset, rather than defaulting directly to "
- "@code{ed}. @code{fc} uses @code{ed} if @code{EDITOR} is unset."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:8003
- msgid ""
- "As noted above, Bash requires the @code{xpg_echo} option to be enabled for "
- "the @code{echo} builtin to be fully conformant."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8009
- msgid ""
- "Bash can be configured to be @sc{posix}-conformant by default, by specifying "
- "the @option{--enable-strict-posix-default} to @code{configure} when building "
- "(@pxref{Optional Features})."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:8012
- #, no-wrap
- msgid "Compatibility Level"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:8013
- #, no-wrap
- msgid "Compatibility Mode"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8028
- msgid ""
- "Bash-4.0 introduced the concept of a `shell compatibility level', specified "
- "as a set of options to the shopt builtin (@code{compat31}, @code{compat32}, "
- "@code{compat40}, @code{compat41}, and so on). There is only one current "
- "compatibility level -- each option is mutually exclusive. The compatibility "
- "level is intended to allow users to select behavior from previous versions "
- "that is incompatible with newer versions while they migrate scripts to use "
- "current features and behavior. It's intended to be a temporary solution."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8033
- msgid ""
- "This section does not mention behavior that is standard for a particular "
- "version (e.g., setting @code{compat32} means that quoting the rhs of the "
- "regexp matching operator quotes special regexp characters in the word, which "
- "is default behavior in bash-3.2 and above)."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8046
- msgid ""
- "If a user enables, say, @code{compat32}, it may affect the behavior of other "
- "compatibility levels up to and including the current compatibility level. "
- "The idea is that each compatibility level controls behavior that changed in "
- "that version of Bash, but that behavior may have been present in earlier "
- "versions. For instance, the change to use locale-based comparisons with the "
- "@code{[[} command came in bash-4.1, and earlier versions used ASCII-based "
- "comparisons, so enabling @code{compat32} will enable ASCII-based comparisons "
- "as well. That granularity may not be sufficient for all uses, and as a "
- "result users should employ compatibility levels carefully. Read the "
- "documentation for a particular feature to find out the current behavior."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8052
- msgid ""
- "Bash-4.3 introduced a new shell variable: @env{BASH_COMPAT}. The value "
- "assigned to this variable (a decimal version number like 4.2, or an integer "
- "corresponding to the @code{compat}@var{NN} option, like 42) determines the "
- "compatibility level."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8056
- msgid ""
- "Starting with bash-4.4, Bash has begun deprecating older compatibility "
- "levels. Eventually, the options will be removed in favor of "
- "@env{BASH_COMPAT}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8060
- msgid ""
- "Bash-5.0 is the final version for which there will be an individual shopt "
- "option for the previous version. Users should use @env{BASH_COMPAT} on "
- "bash-5.0 and later versions."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8070
- msgid ""
- "The following table describes the behavior changes controlled by each "
- "compatibility level setting. The @code{compat}@var{NN} tag is used as "
- "shorthand for setting the compatibility level to @var{NN} using one of the "
- "following mechanisms. For versions prior to bash-5.0, the compatibility "
- "level may be set using the corresponding @code{compat}@var{NN} shopt "
- "option. For bash-4.3 and later versions, the @env{BASH_COMPAT} variable is "
- "preferred, and it is required for bash-5.1 and later versions."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:8077
- msgid ""
- "quoting the rhs of the @code{[[} command's regexp matching operator (=~) "
- "has no special effect"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:8087
- msgid ""
- "interrupting a command list such as \"a ; b ; c\" causes the execution of "
- "the next command in the list (in bash-4.0 and later versions, the shell acts "
- "as if it received the interrupt, so interrupting one command in a list "
- "aborts the execution of the entire list)"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:8098
- msgid ""
- "the @samp{<} and @samp{>} operators to the @code{[[} command do not consider "
- "the current locale when comparing strings; they use ASCII ordering. Bash "
- "versions prior to bash-4.1 use ASCII collation and strcmp(3); bash-4.1 and "
- "later use the current locale's collation sequence and strcoll(3)."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:8105
- msgid ""
- "in posix mode, @code{time} may be followed by options and still be "
- "recognized as a reserved word (this is @sc{posix} interpretation 267)"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:8111
- msgid ""
- "in posix mode, the parser requires that an even number of single quotes "
- "occur in the @var{word} portion of a double-quoted $@{@dots{}@} parameter "
- "expansion and treats them specially, so that characters within the single "
- "quotes are considered quoted (this is @sc{posix} interpretation 221)"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:8118
- msgid ""
- "the replacement string in double-quoted pattern substitution does not "
- "undergo quote removal, as it does in versions after bash-4.2"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:8125
- msgid ""
- "in posix mode, single quotes are considered special when expanding the "
- "@var{word} portion of a double-quoted $@{@dots{}@} parameter expansion and "
- "can be used to quote a closing brace or other special character (this is "
- "part of @sc{posix} interpretation 221); in later versions, single quotes are "
- "not special within double-quoted word expansions"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:8134
- msgid ""
- "the shell does not print a warning message if an attempt is made to use a "
- "quoted compound assignment as an argument to declare (declare -a foo='(1 "
- "2)'). Later versions warn that this usage is deprecated"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:8139
- msgid ""
- "word expansion errors are considered non-fatal errors that cause the current "
- "command to fail, even in posix mode (the default behavior is to make them "
- "fatal errors that cause the shell to exit)"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:8144
- msgid ""
- "when executing a shell function, the loop state (while/until/etc.) is not "
- "reset, so @code{break} or @code{continue} in that function will break or "
- "continue loops in the calling context. Bash-4.4 and later reset the loop "
- "state to prevent this"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:8152
- msgid ""
- "the shell sets up the values used by @env{BASH_ARGV} and @env{BASH_ARGC} so "
- "they can expand to the shell's positional parameters even if extended "
- "debugging mode is not enabled"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:8156
- msgid ""
- "a subshell inherits loops from its parent context, so @code{break} or "
- "@code{continue} will cause the subshell to exit. Bash-5.0 and later reset "
- "the loop state to prevent the exit"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:8161
- msgid ""
- "variable assignments preceding builtins like @code{export} and "
- "@code{readonly} that set attributes continue to affect variables with the "
- "same name in the calling environment even if the shell is not in posix mode"
- msgstr ""
- #. type: item
- #: ./bashref.texi:8163
- #, no-wrap
- msgid "compat50 (set using BASH_COMPAT)"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:8171
- msgid ""
- "Bash-5.1 changed the way @code{$RANDOM} is generated to introduce slightly "
- "more randomness. If the shell compatibility level is set to 50 or lower, it "
- "reverts to the method from bash-5.0 and previous versions, so seeding the "
- "random number generator by assigning a value to @env{RANDOM} will produce "
- "the same sequence as in bash-5.0"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:8176
- msgid ""
- "If the command hash table is empty, Bash versions prior to bash-5.1 printed "
- "an informational message to that effect, even when producing output that can "
- "be reused as input. Bash-5.1 suppresses that message when the @option{-l} "
- "option is supplied."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8184
- msgid ""
- "This chapter discusses what job control is, how it works, and how Bash "
- "allows you to access its facilities."
- msgstr ""
- #. type: section
- #: ./bashref.texi:8191 ./bashref.texi:8193 ./bashref.texi:8194
- #, no-wrap
- msgid "Job Control Basics"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:8191
- msgid "How job control works."
- msgstr ""
- #. type: section
- #: ./bashref.texi:8191 ./bashref.texi:8304 ./bashref.texi:8305
- #, no-wrap
- msgid "Job Control Builtins"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:8191
- msgid "Bash builtin commands used to interact with job control."
- msgstr ""
- #. type: section
- #: ./bashref.texi:8191 ./bashref.texi:8464 ./bashref.texi:8465
- #, no-wrap
- msgid "Job Control Variables"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:8191
- msgid "Variables Bash uses to customize job control."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:8196
- #, no-wrap
- msgid "foreground"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:8197
- #, no-wrap
- msgid "background"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:8198
- #, no-wrap
- msgid "suspending jobs"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8206
- msgid ""
- "Job control refers to the ability to selectively stop (suspend) the "
- "execution of processes and continue (resume) their execution at a later "
- "point. A user typically employs this facility via an interactive interface "
- "supplied jointly by the operating system kernel's terminal driver and Bash."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8212
- msgid ""
- "The shell associates a @var{job} with each pipeline. It keeps a table of "
- "currently executing jobs, which may be listed with the @code{jobs} command. "
- "When Bash starts a job asynchronously, it prints a line that looks like:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:8214
- #, no-wrap
- msgid "[1] 25647\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8221
- msgid ""
- "indicating that this job is job number 1 and that the process @sc{id} of the "
- "last process in the pipeline associated with this job is 25647. All of the "
- "processes in a single pipeline are members of the same job. Bash uses the "
- "@var{job} abstraction as the basis for job control."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8237
- msgid ""
- "To facilitate the implementation of the user interface to job control, the "
- "operating system maintains the notion of a current terminal process group "
- "@sc{id}. Members of this process group (processes whose process group "
- "@sc{id} is equal to the current terminal process group @sc{id}) receive "
- "keyboard-generated signals such as @code{SIGINT}. These processes are said "
- "to be in the foreground. Background processes are those whose process group "
- "@sc{id} differs from the terminal's; such processes are immune to "
- "keyboard-generated signals. Only foreground processes are allowed to read "
- "from or, if the user so specifies with @code{stty tostop}, write to the "
- "terminal. Background processes which attempt to read from (write to when "
- "@code{stty tostop} is in effect) the terminal are sent a @code{SIGTTIN} "
- "(@code{SIGTTOU}) signal by the kernel's terminal driver, which, unless "
- "caught, suspends the process."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8251
- msgid ""
- "If the operating system on which Bash is running supports job control, Bash "
- "contains facilities to use it. Typing the @var{suspend} character "
- "(typically @samp{^Z}, Control-Z) while a process is running causes that "
- "process to be stopped and returns control to Bash. Typing the @var{delayed "
- "suspend} character (typically @samp{^Y}, Control-Y) causes the process to be "
- "stopped when it attempts to read input from the terminal, and control to be "
- "returned to Bash. The user then manipulates the state of this job, using "
- "the @code{bg} command to continue it in the background, the @code{fg} "
- "command to continue it in the foreground, or the @code{kill} command to kill "
- "it. A @samp{^Z} takes effect immediately, and has the additional side "
- "effect of causing pending output and typeahead to be discarded."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8254
- msgid ""
- "There are a number of ways to refer to a job in the shell. The character "
- "@samp{%} introduces a job specification (@var{jobspec})."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8267
- msgid ""
- "Job number @code{n} may be referred to as @samp{%n}. The symbols @samp{%%} "
- "and @samp{%+} refer to the shell's notion of the current job, which is the "
- "last job stopped while it was in the foreground or started in the "
- "background. A single @samp{%} (with no accompanying job specification) also "
- "refers to the current job. The previous job may be referenced using "
- "@samp{%-}. If there is only a single job, @samp{%+} and @samp{%-} can both "
- "be used to refer to that job. In output pertaining to jobs (e.g., the "
- "output of the @code{jobs} command), the current job is always flagged with a "
- "@samp{+}, and the previous job with a @samp{-}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8276
- msgid ""
- "A job may also be referred to using a prefix of the name used to start it, "
- "or using a substring that appears in its command line. For example, "
- "@samp{%ce} refers to a stopped job whose command name begins with "
- "@samp{ce}. Using @samp{%?ce}, on the other hand, refers to any job "
- "containing the string @samp{ce} in its command line. If the prefix or "
- "substring matches more than one job, Bash reports an error."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8281
- msgid ""
- "Simply naming a job can be used to bring it into the foreground: @samp{%1} "
- "is a synonym for @samp{fg %1}, bringing job 1 from the background into the "
- "foreground. Similarly, @samp{%1 &} resumes job 1 in the background, "
- "equivalent to @samp{bg %1}"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8290
- msgid ""
- "The shell learns immediately whenever a job changes state. Normally, Bash "
- "waits until it is about to print a prompt before reporting changes in a "
- "job's status so as to not interrupt any other output. If the @option{-b} "
- "option to the @code{set} builtin is enabled, Bash reports such changes "
- "immediately (@pxref{The Set Builtin}). Any trap on @code{SIGCHLD} is "
- "executed for each child process that exits."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8298
- msgid ""
- "If an attempt to exit Bash is made while jobs are stopped, (or running, if "
- "the @code{checkjobs} option is enabled -- see @ref{The Shopt Builtin}), the "
- "shell prints a warning message, and if the @code{checkjobs} option is "
- "enabled, lists the jobs and their statuses. The @code{jobs} command may "
- "then be used to inspect their status. If a second attempt to exit is made "
- "without an intervening command, Bash does not print another warning, and any "
- "stopped jobs are terminated."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8303
- msgid ""
- "When the shell is waiting for a job or process using the @code{wait} "
- "builtin, and job control is enabled, @code{wait} will return when the job "
- "changes state. The @option{-f} option causes @code{wait} to wait until the "
- "job or process terminates before returning."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:8309 ./bashref.texi:8310
- #, no-wrap
- msgid "bg"
- msgstr ""
- #. type: example
- #: ./bashref.texi:8313
- #, no-wrap
- msgid "bg [@var{jobspec} @dots{}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8322
- msgid ""
- "Resume each suspended job @var{jobspec} in the background, as if it had been "
- "started with @samp{&}. If @var{jobspec} is not supplied, the current job is "
- "used. The return status is zero unless it is run when job control is not "
- "enabled, or, when run with job control enabled, any @var{jobspec} was not "
- "found or specifies a job that was started without job control."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:8323 ./bashref.texi:8324
- #, no-wrap
- msgid "fg"
- msgstr ""
- #. type: example
- #: ./bashref.texi:8327
- #, no-wrap
- msgid "fg [@var{jobspec}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8335
- msgid ""
- "Resume the job @var{jobspec} in the foreground and make it the current job. "
- "If @var{jobspec} is not supplied, the current job is used. The return "
- "status is that of the command placed into the foreground, or non-zero if run "
- "when job control is disabled or, when run with job control enabled, "
- "@var{jobspec} does not specify a valid job or @var{jobspec} specifies a job "
- "that was started without job control."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:8336 ./bashref.texi:8337
- #, no-wrap
- msgid "jobs"
- msgstr ""
- #. type: example
- #: ./bashref.texi:8341
- #, no-wrap
- msgid ""
- "jobs [-lnprs] [@var{jobspec}]\n"
- "jobs -x @var{command} [@var{arguments}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8345
- msgid ""
- "The first form lists the active jobs. The options have the following "
- "meanings:"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8349
- msgid "List process @sc{id}s in addition to the normal information."
- msgstr ""
- #. type: table
- #: ./bashref.texi:8353
- msgid ""
- "Display information only about jobs that have changed status since the user "
- "was last notified of their status."
- msgstr ""
- #. type: table
- #: ./bashref.texi:8356
- msgid "List only the process @sc{id} of the job's process group leader."
- msgstr ""
- #. type: table
- #: ./bashref.texi:8359
- msgid "Display only running jobs."
- msgstr ""
- #. type: table
- #: ./bashref.texi:8362
- msgid "Display only stopped jobs."
- msgstr ""
- #. type: table
- #: ./bashref.texi:8368
- msgid ""
- "If @var{jobspec} is given, output is restricted to information about that "
- "job. If @var{jobspec} is not supplied, the status of all jobs is listed."
- msgstr ""
- #. type: table
- #: ./bashref.texi:8373
- msgid ""
- "If the @option{-x} option is supplied, @code{jobs} replaces any "
- "@var{jobspec} found in @var{command} or @var{arguments} with the "
- "corresponding process group @sc{id}, and executes @var{command}, passing it "
- "@var{argument}s, returning its exit status."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:8374 ./bashref.texi:8375
- #, no-wrap
- msgid "kill"
- msgstr ""
- #. type: example
- #: ./bashref.texi:8379
- #, no-wrap
- msgid ""
- "kill [-s @var{sigspec}] [-n @var{signum}] [-@var{sigspec}] @var{jobspec} or "
- "@var{pid}\n"
- "kill -l|-L [@var{exit_status}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8396
- msgid ""
- "Send a signal specified by @var{sigspec} or @var{signum} to the process "
- "named by job specification @var{jobspec} or process @sc{id} @var{pid}. "
- "@var{sigspec} is either a case-insensitive signal name such as @code{SIGINT} "
- "(with or without the @code{SIG} prefix) or a signal number; @var{signum} is "
- "a signal number. If @var{sigspec} and @var{signum} are not present, "
- "@code{SIGTERM} is used. The @option{-l} option lists the signal names. If "
- "any arguments are supplied when @option{-l} is given, the names of the "
- "signals corresponding to the arguments are listed, and the return status is "
- "zero. @var{exit_status} is a number specifying a signal number or the exit "
- "status of a process terminated by a signal. The @option{-L} option is "
- "equivalent to @option{-l}. The return status is zero if at least one signal "
- "was successfully sent, or non-zero if an error occurs or an invalid option "
- "is encountered."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:8397 ./bashref.texi:8398
- #, no-wrap
- msgid "wait"
- msgstr ""
- #. type: example
- #: ./bashref.texi:8401
- #, no-wrap
- msgid "wait [-fn] [-p @var{varname}] [@var{jobspec} or @var{pid} @dots{}]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8430
- msgid ""
- "Wait until the child process specified by each process @sc{id} @var{pid} or "
- "job specification @var{jobspec} exits and return the exit status of the last "
- "command waited for. If a job spec is given, all processes in the job are "
- "waited for. If no arguments are given, @code{wait} waits for all running "
- "background jobs and the last-executed process substitution, if its process "
- "id is the same as @var{$!}, and the return status is zero. If the "
- "@option{-n} option is supplied, @code{wait} waits for a single job from the "
- "list of @var{pids} or @var{jobspecs} or, if no arguments are supplied, any "
- "job, to complete and returns its exit status. If none of the supplied "
- "arguments is a child of the shell, or if no arguments are supplied and the "
- "shell has no unwaited-for children, the exit status is 127. If the "
- "@option{-p} option is supplied, the process or job identifier of the job for "
- "which the exit status is returned is assigned to the variable @var{varname} "
- "named by the option argument. The variable will be unset initially, before "
- "any assignment. This is useful only when the @option{-n} option is "
- "supplied. Supplying the @option{-f} option, when job control is enabled, "
- "forces @code{wait} to wait for each @var{pid} or @var{jobspec} to terminate "
- "before returning its status, intead of returning when it changes status. If "
- "neither @var{jobspec} nor @var{pid} specifies an active child process of the "
- "shell, the return status is 127."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:8431 ./bashref.texi:8432
- #, no-wrap
- msgid "disown"
- msgstr ""
- #. type: example
- #: ./bashref.texi:8435
- #, no-wrap
- msgid "disown [-ar] [-h] [@var{jobspec} @dots{} | @var{pid} @dots{} ]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8447
- msgid ""
- "Without options, remove each @var{jobspec} from the table of active jobs. "
- "If the @option{-h} option is given, the job is not removed from the table, "
- "but is marked so that @code{SIGHUP} is not sent to the job if the shell "
- "receives a @code{SIGHUP}. If @var{jobspec} is not present, and neither the "
- "@option{-a} nor the @option{-r} option is supplied, the current job is "
- "used. If no @var{jobspec} is supplied, the @option{-a} option means to "
- "remove or mark all jobs; the @option{-r} option without a @var{jobspec} "
- "argument restricts operation to running jobs."
- msgstr ""
- #. type: btindex
- #: ./bashref.texi:8448 ./bashref.texi:8449
- #, no-wrap
- msgid "suspend"
- msgstr ""
- #. type: example
- #: ./bashref.texi:8452
- #, no-wrap
- msgid "suspend [-f]\n"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8458
- msgid ""
- "Suspend the execution of this shell until it receives a @code{SIGCONT} "
- "signal. A login shell cannot be suspended; the @option{-f} option can be "
- "used to override this and force the suspension."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8463
- msgid ""
- "When job control is not active, the @code{kill} and @code{wait} builtins do "
- "not accept @var{jobspec} arguments. They must be supplied process @sc{id}s."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8469
- #, no-wrap
- msgid "auto_resume"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8486
- msgid ""
- "This variable controls how the shell interacts with the user and job "
- "control. If this variable exists then single word simple commands without "
- "redirections are treated as candidates for resumption of an existing job. "
- "There is no ambiguity allowed; if there is more than one job beginning with "
- "the string typed, then the most recently accessed job will be selected. The "
- "name of a stopped job, in this context, is the command line used to start "
- "it. If this variable is set to the value @samp{exact}, the string supplied "
- "must match the name of a stopped job exactly; if set to @samp{substring}, "
- "the string supplied needs to match a substring of the name of a stopped "
- "job. The @samp{substring} value provides functionality analogous to the "
- "@samp{%?} job @sc{id} (@pxref{Job Control Basics}). If set to any other "
- "value, the supplied string must be a prefix of a stopped job's name; this "
- "provides functionality analogous to the @samp{%} job @sc{id}."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:8491
- #, no-wrap
- msgid "Readline, how to use"
- msgstr ""
- #. type: include
- #: ./bashref.texi:8492
- #, no-wrap
- msgid "rluser.texi"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:8493
- #, no-wrap
- msgid "History, how to use"
- msgstr ""
- #. type: include
- #: ./bashref.texi:8494
- #, no-wrap
- msgid "hsuser.texi"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8507
- msgid ""
- "This chapter provides basic instructions for installing Bash on the various "
- "supported platforms. The distribution supports the @sc{gnu} operating "
- "systems, nearly every version of Unix, and several non-Unix systems such as "
- "BeOS and Interix. Other independent ports exist for @sc{ms-dos}, @sc{os/2}, "
- "and Windows platforms."
- msgstr ""
- #. type: section
- #: ./bashref.texi:8522 ./bashref.texi:8524 ./bashref.texi:8525
- #, no-wrap
- msgid "Basic Installation"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:8522
- msgid "Installation instructions."
- msgstr ""
- #. type: section
- #: ./bashref.texi:8522 ./bashref.texi:8620 ./bashref.texi:8621
- #, no-wrap
- msgid "Compilers and Options"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:8522
- msgid "How to set special options for various systems."
- msgstr ""
- #. type: section
- #: ./bashref.texi:8522 ./bashref.texi:8642 ./bashref.texi:8643
- #, no-wrap
- msgid "Compiling For Multiple Architectures"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:8522
- msgid ""
- "How to compile Bash for more than one kind of system from the same source "
- "tree."
- msgstr ""
- #. type: section
- #: ./bashref.texi:8522 ./bashref.texi:8679 ./bashref.texi:8680
- #, no-wrap
- msgid "Installation Names"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:8522
- msgid "How to set the various paths used by the installation."
- msgstr ""
- #. type: section
- #: ./bashref.texi:8522 ./bashref.texi:8696 ./bashref.texi:8697
- #, no-wrap
- msgid "Specifying the System Type"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:8522
- msgid "How to configure Bash for a particular system."
- msgstr ""
- #. type: section
- #: ./bashref.texi:8522 ./bashref.texi:8711 ./bashref.texi:8712
- #, no-wrap
- msgid "Sharing Defaults"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:8522
- msgid "How to share default configuration values among GNU programs."
- msgstr ""
- #. type: section
- #: ./bashref.texi:8522 ./bashref.texi:8724 ./bashref.texi:8725
- #, no-wrap
- msgid "Operation Controls"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:8522
- msgid "Options recognized by the configuration program."
- msgstr ""
- #. type: section
- #: ./bashref.texi:8522 ./bashref.texi:8758 ./bashref.texi:8759
- #, no-wrap
- msgid "Optional Features"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:8522
- msgid "How to enable and disable optional features when building Bash."
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:8526
- #, no-wrap
- msgid "installation"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:8527
- #, no-wrap
- msgid "configuration"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:8528
- #, no-wrap
- msgid "Bash installation"
- msgstr ""
- #. type: cindex
- #: ./bashref.texi:8529
- #, no-wrap
- msgid "Bash configuration"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8532
- msgid "These are installation instructions for Bash."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8534
- msgid "The simplest way to compile Bash is:"
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:8542
- msgid ""
- "@code{cd} to the directory containing the source code and type "
- "@samp{./configure} to configure Bash for your system. If you're using "
- "@code{csh} on an old version of System V, you might need to type @samp{sh "
- "./configure} instead to prevent @code{csh} from trying to execute "
- "@code{configure} itself."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:8546
- msgid ""
- "Running @code{configure} takes some time. While running, it prints messages "
- "telling which features it is checking for."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:8550
- msgid ""
- "Type @samp{make} to compile Bash and build the @code{bashbug} bug reporting "
- "script."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:8553
- msgid "Optionally, type @samp{make tests} to run the Bash test suite."
- msgstr ""
- #. type: enumerate
- #: ./bashref.texi:8557
- msgid ""
- "Type @samp{make install} to install @code{bash} and @code{bashbug}. This "
- "will also install the manual pages and Info file."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8575
- msgid ""
- "The @code{configure} shell script attempts to guess correct values for "
- "various system-dependent variables used during compilation. It uses those "
- "values to create a @file{Makefile} in each directory of the package (the top "
- "directory, the @file{builtins}, @file{doc}, and @file{support} directories, "
- "each directory under @file{lib}, and several others). It also creates a "
- "@file{config.h} file containing system-dependent definitions. Finally, it "
- "creates a shell script named @code{config.status} that you can run in the "
- "future to recreate the current configuration, a file @file{config.cache} "
- "that saves the results of its tests to speed up reconfiguring, and a file "
- "@file{config.log} containing compiler output (useful mainly for debugging "
- "@code{configure}). If at some point @file{config.cache} contains results "
- "you don't want to keep, you may remove or edit it."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8578
- msgid ""
- "To find out more about the options and arguments that the @code{configure} "
- "script understands, type"
- msgstr ""
- #. type: example
- #: ./bashref.texi:8581
- #, no-wrap
- msgid "bash-4.2$ ./configure --help\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8585
- msgid "at the Bash prompt in your Bash source directory."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8591
- msgid ""
- "If you want to build Bash in a directory separate from the source directory "
- "-- to build for multiple architectures, for example -- just use the full "
- "path to the configure script. The following commands will build bash in a "
- "directory under @file{/usr/local/build} from the source code in "
- "@file{/usr/local/src/bash-4.4}:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:8597
- #, no-wrap
- msgid ""
- "mkdir /usr/local/build/bash-4.4\n"
- "cd /usr/local/build/bash-4.4\n"
- "bash /usr/local/src/bash-4.4/configure\n"
- "make\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8601
- msgid ""
- "See @ref{Compiling For Multiple Architectures} for more information about "
- "building in a directory separate from the source."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8607
- msgid ""
- "If you need to do unusual things to compile Bash, please try to figure out "
- "how @code{configure} could check whether or not to do them, and mail diffs "
- "or instructions to @email{bash-maintainers@@gnu.org} so they can be "
- "considered for the next release."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8614
- msgid ""
- "The file @file{configure.ac} is used to create @code{configure} by a program "
- "called Autoconf. You only need @file{configure.ac} if you want to change it "
- "or regenerate @code{configure} using a newer version of Autoconf. If you do "
- "this, make sure you are using Autoconf version 2.50 or newer."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8619
- msgid ""
- "You can remove the program binaries and object files from the source code "
- "directory by typing @samp{make clean}. To also remove the files that "
- "@code{configure} created (so you can compile Bash for a different kind of "
- "computer), type @samp{make distclean}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8628
- msgid ""
- "Some systems require unusual options for compilation or linking that the "
- "@code{configure} script does not know about. You can give @code{configure} "
- "initial values for variables by setting them in the environment. Using a "
- "Bourne-compatible shell, you can do that on the command line like this:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:8631
- #, no-wrap
- msgid "CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8634
- msgid "On systems that have the @code{env} program, you can do it like this:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:8637
- #, no-wrap
- msgid "env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8641
- msgid "The configuration process uses GCC to build Bash if it is available."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8657
- msgid ""
- "You can compile Bash for more than one kind of computer at the same time, by "
- "placing the object files for each architecture in their own directory. To "
- "do this, you must use a version of @code{make} that supports the "
- "@code{VPATH} variable, such as GNU @code{make}. @code{cd} to the directory "
- "where you want the object files and executables to go and run the "
- "@code{configure} script from the source directory (@pxref{Basic "
- "Installation}). You may need to supply the @option{--srcdir=PATH} argument "
- "to tell @code{configure} where the source files are. @code{configure} "
- "automatically checks for the source code in the directory that "
- "@code{configure} is in and in `..'."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8663
- msgid ""
- "If you have to use a @code{make} that does not supports the @code{VPATH} "
- "variable, you can compile Bash for one architecture at a time in the source "
- "code directory. After you have installed Bash for one architecture, use "
- "@samp{make distclean} before reconfiguring for another architecture."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8669
- msgid ""
- "Alternatively, if your system supports symbolic links, you can use the "
- "@file{support/mkclone} script to create a build tree which has symbolic "
- "links back to each file in the source directory. Here's an example that "
- "creates a build directory in the current directory from a source directory "
- "@file{/usr/gnu/src/bash-2.0}:"
- msgstr ""
- #. type: example
- #: ./bashref.texi:8672
- #, no-wrap
- msgid "bash /usr/gnu/src/bash-2.0/support/mkclone -s /usr/gnu/src/bash-2.0 .\n"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8678
- msgid ""
- "The @code{mkclone} script requires Bash, so you must have already built Bash "
- "for at least one architecture before you can create build directories for "
- "other architectures."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8688
- msgid ""
- "By default, @samp{make install} will install into @file{/usr/local/bin}, "
- "@file{/usr/local/man}, etc. You can specify an installation prefix other "
- "than @file{/usr/local} by giving @code{configure} the option "
- "@option{--prefix=@var{PATH}}, or by specifying a value for the "
- "@code{DESTDIR} @samp{make} variable when running @samp{make install}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8695
- msgid ""
- "You can specify separate installation prefixes for architecture-specific "
- "files and architecture-independent files. If you give @code{configure} the "
- "option @option{--exec-prefix=@var{PATH}}, @samp{make install} will use "
- "@var{PATH} as the prefix for installing programs and libraries. "
- "Documentation and other data files will still use the regular prefix."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8707
- msgid ""
- "There may be some features @code{configure} can not figure out "
- "automatically, but need to determine by the type of host Bash will run on. "
- "Usually @code{configure} can figure that out, but if it prints a message "
- "saying it can not guess the host type, give it the @option{--host=TYPE} "
- "option. @samp{TYPE} can either be a short name for the system type, such as "
- "@samp{sun4}, or a canonical name with three fields: "
- "@samp{CPU-COMPANY-SYSTEM} (e.g., @samp{i386-unknown-freebsd4.2})."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8710
- msgid ""
- "See the file @file{support/config.sub} for the possible values of each "
- "field."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8723
- msgid ""
- "If you want to set default values for @code{configure} scripts to share, you "
- "can create a site shell script called @code{config.site} that gives default "
- "values for variables like @code{CC}, @code{cache_file}, and @code{prefix}. "
- "@code{configure} looks for @file{PREFIX/share/config.site} if it exists, "
- "then @file{PREFIX/etc/config.site} if it exists. Or, you can set the "
- "@code{CONFIG_SITE} environment variable to the location of the site script. "
- "A warning: the Bash @code{configure} looks for a site script, but not all "
- "@code{configure} scripts do."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8729
- msgid ""
- "@code{configure} recognizes the following options to control how it "
- "operates."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8732
- #, no-wrap
- msgid "--cache-file=@var{file}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8737
- msgid ""
- "Use and save the results of the tests in @var{file} instead of "
- "@file{./config.cache}. Set @var{file} to @file{/dev/null} to disable "
- "caching, for debugging @code{configure}."
- msgstr ""
- #. type: table
- #: ./bashref.texi:8740
- msgid "Print a summary of the options to @code{configure}, and exit."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8741
- #, no-wrap
- msgid "--quiet"
- msgstr ""
- #. type: itemx
- #: ./bashref.texi:8742
- #, no-wrap
- msgid "--silent"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8745
- msgid "Do not print messages saying which checks are being made."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8746
- #, no-wrap
- msgid "--srcdir=@var{dir}"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8749
- msgid ""
- "Look for the Bash source code in directory @var{dir}. Usually "
- "@code{configure} can determine that directory automatically."
- msgstr ""
- #. type: table
- #: ./bashref.texi:8753
- msgid ""
- "Print the version of Autoconf used to generate the @code{configure} script, "
- "and exit."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8757
- msgid ""
- "@code{configure} also accepts some other, not widely used, boilerplate "
- "options. @samp{configure --help} prints the complete list."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8768
- msgid ""
- "The Bash @code{configure} has a number of @option{--enable-@var{feature}} "
- "options, where @var{feature} indicates an optional part of Bash. There are "
- "also several @option{--with-@var{package}} options, where @var{package} is "
- "something like @samp{bash-malloc} or @samp{purify}. To turn off the default "
- "use of a package, use @option{--without-@var{package}}. To configure Bash "
- "without a feature that is enabled by default, use "
- "@option{--disable-@var{feature}}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8771
- msgid ""
- "Here is a complete list of the @option{--enable-} and @option{--with-} "
- "options that the Bash @code{configure} recognizes."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8773
- #, no-wrap
- msgid "--with-afs"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8775
- msgid "Define if you are using the Andrew File System from Transarc."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8776
- #, no-wrap
- msgid "--with-bash-malloc"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8786
- msgid ""
- "Use the Bash version of @code{malloc} in the directory @file{lib/malloc}. "
- "This is not the same @code{malloc} that appears in @sc{gnu} libc, but an "
- "older version originally derived from the 4.2 @sc{bsd} @code{malloc}. This "
- "@code{malloc} is very fast, but wastes some space on each allocation. This "
- "option is enabled by default. The @file{NOTES} file contains a list of "
- "systems for which this should be turned off, and @code{configure} disables "
- "this option automatically for a number of systems."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8787
- #, no-wrap
- msgid "--with-curses"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8791
- msgid ""
- "Use the curses library instead of the termcap library. This should be "
- "supplied if your system has an inadequate or incomplete termcap database."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8792
- #, no-wrap
- msgid "--with-gnu-malloc"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8794
- msgid "A synonym for @code{--with-bash-malloc}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8795
- #, no-wrap
- msgid "--with-installed-readline[=@var{PREFIX}]"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8810
- msgid ""
- "Define this to make Bash link with a locally-installed version of Readline "
- "rather than the version in @file{lib/readline}. This works only with "
- "Readline 5.0 and later versions. If @var{PREFIX} is @code{yes} or not "
- "supplied, @code{configure} uses the values of the make variables "
- "@code{includedir} and @code{libdir}, which are subdirectories of "
- "@code{prefix} by default, to find the installed version of Readline if it is "
- "not in the standard system include and library directories. If @var{PREFIX} "
- "is @code{no}, Bash links with the version in @file{lib/readline}. If "
- "@var{PREFIX} is set to any other value, @code{configure} treats it as a "
- "directory pathname and looks for the installed version of Readline in "
- "subdirectories of that directory (include files in "
- "@var{PREFIX}/@code{include} and the library in @var{PREFIX}/@code{lib})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8811
- #, no-wrap
- msgid "--with-purify"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8814
- msgid ""
- "Define this to use the Purify memory allocation checker from Rational "
- "Software."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8815
- #, no-wrap
- msgid "--enable-minimal-config"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8818
- msgid ""
- "This produces a shell with minimal features, close to the historical Bourne "
- "shell."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8822
- msgid ""
- "There are several @option{--enable-} options that alter how Bash is compiled "
- "and linked, rather than changing run-time features."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8824
- #, no-wrap
- msgid "--enable-largefile"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8829
- msgid ""
- "Enable support for "
- "@uref{http://www.unix.org/version2/whatsnew/lfs20mar.html, large files} if "
- "the operating system requires special compiler options to build programs "
- "which can access large files. This is enabled by default, if the operating "
- "system provides large file support."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8830
- #, no-wrap
- msgid "--enable-profiling"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8833
- msgid ""
- "This builds a Bash binary that produces profiling information to be "
- "processed by @code{gprof} each time it is executed."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8834
- #, no-wrap
- msgid "--enable-static-link"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8837
- msgid ""
- "This causes Bash to be linked statically, if @code{gcc} is being used. This "
- "could be used to build a version to use as root's shell."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8842
- msgid ""
- "The @samp{minimal-config} option can be used to disable all of the following "
- "options, but it is processed first, so individual options may be enabled "
- "using @samp{enable-@var{feature}}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:8848
- msgid ""
- "All of the following options except for @samp{disabled-builtins}, "
- "@samp{direxpand-default}, and @samp{xpg-echo-default} are enabled by "
- "default, unless the operating system does not provide the necessary support."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8850
- #, no-wrap
- msgid "--enable-alias"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8853
- msgid ""
- "Allow alias expansion and include the @code{alias} and @code{unalias} "
- "builtins (@pxref{Aliases})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8854
- #, no-wrap
- msgid "--enable-arith-for-command"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8858
- msgid ""
- "Include support for the alternate form of the @code{for} command that "
- "behaves like the C language @code{for} statement (@pxref{Looping "
- "Constructs})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8859
- #, no-wrap
- msgid "--enable-array-variables"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8862
- msgid "Include support for one-dimensional array shell variables (@pxref{Arrays})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8863
- #, no-wrap
- msgid "--enable-bang-history"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8866
- msgid ""
- "Include support for @code{csh}-like history substitution (@pxref{History "
- "Interaction})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8867
- #, no-wrap
- msgid "--enable-brace-expansion"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8871
- msgid ""
- "Include @code{csh}-like brace expansion ( @code{b@{a,b@}c} @expansion{} "
- "@code{bac bbc} ). See @ref{Brace Expansion}, for a complete description."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8872
- #, no-wrap
- msgid "--enable-casemod-attributes"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8876
- msgid ""
- "Include support for case-modifying attributes in the @code{declare} builtin "
- "and assignment statements. Variables with the @var{uppercase} attribute, "
- "for example, will have their values converted to uppercase upon assignment."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8877
- #, no-wrap
- msgid "--enable-casemod-expansion"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8879
- msgid "Include support for case-modifying word expansions."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8880
- #, no-wrap
- msgid "--enable-command-timing"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8885
- msgid ""
- "Include support for recognizing @code{time} as a reserved word and for "
- "displaying timing statistics for the pipeline following @code{time} "
- "(@pxref{Pipelines}). This allows pipelines as well as shell builtins and "
- "functions to be timed."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8886
- #, no-wrap
- msgid "--enable-cond-command"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8889
- msgid ""
- "Include support for the @code{[[} conditional command. (@pxref{Conditional "
- "Constructs})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8890
- #, no-wrap
- msgid "--enable-cond-regexp"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8894
- msgid ""
- "Include support for matching @sc{posix} regular expressions using the "
- "@samp{=~} binary operator in the @code{[[} conditional command. "
- "(@pxref{Conditional Constructs})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8895
- #, no-wrap
- msgid "--enable-coprocesses"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8898
- msgid ""
- "Include support for coprocesses and the @code{coproc} reserved word "
- "(@pxref{Pipelines})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8899
- #, no-wrap
- msgid "--enable-debugger"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8901
- msgid "Include support for the bash debugger (distributed separately)."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8902
- #, no-wrap
- msgid "--enable-dev-fd-stat-broken"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8907
- msgid ""
- "If calling @code{stat} on /dev/fd/@var{N} returns different results than "
- "calling @code{fstat} on file descriptor @var{N}, supply this option to "
- "enable a workaround. This has implications for conditional commands that "
- "test file attributes."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8908
- #, no-wrap
- msgid "--enable-direxpand-default"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8912
- msgid ""
- "Cause the @code{direxpand} shell option (@pxref{The Shopt Builtin}) to be "
- "enabled by default when the shell starts. It is normally disabled by "
- "default."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8913
- #, no-wrap
- msgid "--enable-directory-stack"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8917
- msgid ""
- "Include support for a @code{csh}-like directory stack and the @code{pushd}, "
- "@code{popd}, and @code{dirs} builtins (@pxref{The Directory Stack})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8918
- #, no-wrap
- msgid "--enable-disabled-builtins"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8923
- msgid ""
- "Allow builtin commands to be invoked via @samp{builtin xxx} even after "
- "@code{xxx} has been disabled using @samp{enable -n xxx}. See @ref{Bash "
- "Builtins}, for details of the @code{builtin} and @code{enable} builtin "
- "commands."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8924
- #, no-wrap
- msgid "--enable-dparen-arithmetic"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8927
- msgid ""
- "Include support for the @code{((@dots{}))} command (@pxref{Conditional "
- "Constructs})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8928
- #, no-wrap
- msgid "--enable-extended-glob"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8931
- msgid ""
- "Include support for the extended pattern matching features described above "
- "under @ref{Pattern Matching}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8932
- #, no-wrap
- msgid "--enable-extended-glob-default"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8935
- msgid ""
- "Set the default value of the @var{extglob} shell option described above "
- "under @ref{The Shopt Builtin} to be enabled."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8936
- #, no-wrap
- msgid "--enable-function-import"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8940
- msgid ""
- "Include support for importing function definitions exported by another "
- "instance of the shell from the environment. This option is enabled by "
- "default."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8941
- #, no-wrap
- msgid "--enable-glob-asciirange-default"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8946
- msgid ""
- "Set the default value of the @var{globasciiranges} shell option described "
- "above under @ref{The Shopt Builtin} to be enabled. This controls the "
- "behavior of character ranges when used in pattern matching bracket "
- "expressions."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8947
- #, no-wrap
- msgid "--enable-help-builtin"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8950
- msgid ""
- "Include the @code{help} builtin, which displays help on shell builtins and "
- "variables (@pxref{Bash Builtins})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8951
- #, no-wrap
- msgid "--enable-history"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8954
- msgid ""
- "Include command history and the @code{fc} and @code{history} builtin "
- "commands (@pxref{Bash History Facilities})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8955
- #, no-wrap
- msgid "--enable-job-control"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8958
- msgid ""
- "This enables the job control features (@pxref{Job Control}), if the "
- "operating system supports them."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8959
- #, no-wrap
- msgid "--enable-multibyte"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8962
- msgid ""
- "This enables support for multibyte characters if the operating system "
- "provides the necessary support."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8963
- #, no-wrap
- msgid "--enable-net-redirections"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8968
- msgid ""
- "This enables the special handling of filenames of the form "
- "@code{/dev/tcp/@var{host}/@var{port}} and "
- "@code{/dev/udp/@var{host}/@var{port}} when used in redirections "
- "(@pxref{Redirections})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8969
- #, no-wrap
- msgid "--enable-process-substitution"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8972
- msgid ""
- "This enables process substitution (@pxref{Process Substitution}) if the "
- "operating system provides the necessary support."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8973
- #, no-wrap
- msgid "--enable-progcomp"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8977
- msgid ""
- "Enable the programmable completion facilities (@pxref{Programmable "
- "Completion}). If Readline is not enabled, this option has no effect."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8978
- #, no-wrap
- msgid "--enable-prompt-string-decoding"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8983
- msgid ""
- "Turn on the interpretation of a number of backslash-escaped characters in "
- "the @env{$PS0}, @env{$PS1}, @env{$PS2}, and @env{$PS4} prompt strings. See "
- "@ref{Controlling the Prompt}, for a complete list of prompt string escape "
- "sequences."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8984
- #, no-wrap
- msgid "--enable-readline"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8987
- msgid ""
- "Include support for command-line editing and history with the Bash version "
- "of the Readline library (@pxref{Command Line Editing})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8988
- #, no-wrap
- msgid "--enable-restricted"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8992
- msgid ""
- "Include support for a @dfn{restricted shell}. If this is enabled, Bash, "
- "when called as @code{rbash}, enters a restricted mode. See @ref{The "
- "Restricted Shell}, for a description of restricted mode."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8993
- #, no-wrap
- msgid "--enable-select"
- msgstr ""
- #. type: table
- #: ./bashref.texi:8996
- msgid ""
- "Include the @code{select} compound command, which allows the generation of "
- "simple menus (@pxref{Conditional Constructs})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:8997
- #, no-wrap
- msgid "--enable-separate-helpfiles"
- msgstr ""
- #. type: table
- #: ./bashref.texi:9000
- msgid ""
- "Use external files for the documentation displayed by the @code{help} "
- "builtin instead of storing the text internally."
- msgstr ""
- #. type: item
- #: ./bashref.texi:9001
- #, no-wrap
- msgid "--enable-single-help-strings"
- msgstr ""
- #. type: table
- #: ./bashref.texi:9006
- msgid ""
- "Store the text displayed by the @code{help} builtin as a single string for "
- "each help topic. This aids in translating the text to different languages. "
- "You may need to disable this if your compiler cannot handle very long string "
- "literals."
- msgstr ""
- #. type: item
- #: ./bashref.texi:9007
- #, no-wrap
- msgid "--enable-strict-posix-default"
- msgstr ""
- #. type: table
- #: ./bashref.texi:9009
- msgid "Make Bash @sc{posix}-conformant by default (@pxref{Bash POSIX Mode})."
- msgstr ""
- #. type: item
- #: ./bashref.texi:9010
- #, no-wrap
- msgid "--enable-usg-echo-default"
- msgstr ""
- #. type: table
- #: ./bashref.texi:9012
- msgid "A synonym for @code{--enable-xpg-echo-default}."
- msgstr ""
- #. type: item
- #: ./bashref.texi:9013
- #, no-wrap
- msgid "--enable-xpg-echo-default"
- msgstr ""
- #. type: table
- #: ./bashref.texi:9021
- msgid ""
- "Make the @code{echo} builtin expand backslash-escaped characters by default, "
- "without requiring the @option{-e} option. This sets the default value of "
- "the @code{xpg_echo} shell option to @code{on}, which makes the Bash "
- "@code{echo} behave more like the version specified in the Single Unix "
- "Specification, version 3. @xref{Bash Builtins}, for a description of the "
- "escape sequences that @code{echo} recognizes."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:9030
- msgid ""
- "The file @file{config-top.h} contains C Preprocessor @samp{#define} "
- "statements for options which are not settable from @code{configure}. Some "
- "of these are not meant to be changed; beware of the consequences if you do. "
- "Read the comments associated with each definition for more information about "
- "its effect."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:9040
- msgid ""
- "Please report all bugs you find in Bash. But first, you should make sure "
- "that it really is a bug, and that it appears in the latest version of Bash. "
- "The latest version of Bash is always available for FTP from "
- "@uref{ftp://ftp.gnu.org/pub/gnu/bash/}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:9047
- msgid ""
- "Once you have determined that a bug actually exists, use the @code{bashbug} "
- "command to submit a bug report. If you have a fix, you are encouraged to "
- "mail that as well! Suggestions and `philosophical' bug reports may be mailed "
- "to @email{bug-bash@@gnu.org} or posted to the Usenet newsgroup "
- "@code{gnu.bash.bug}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:9049
- msgid "All bug reports should include:"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9052
- msgid "The version number of Bash."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9054
- msgid "The hardware and operating system."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9056
- msgid "The compiler used to compile Bash."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9058
- msgid "A description of the bug behaviour."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9061
- msgid ""
- "A short script or `recipe' which exercises the bug and may be used to "
- "reproduce it."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:9066
- msgid ""
- "@code{bashbug} inserts the first three items automatically into the template "
- "it provides for filing a bug report."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:9069
- msgid "Please send all reports concerning this manual to @email{bug-bash@@gnu.org}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:9083
- msgid ""
- "Bash implements essentially the same grammar, parameter and variable "
- "expansion, redirection, and quoting as the Bourne Shell. Bash uses the "
- "@sc{posix} standard as the specification of how these features are to be "
- "implemented. There are some differences between the traditional Bourne "
- "shell and Bash; this section quickly details the differences of "
- "significance. A number of these differences are explained in greater depth "
- "in previous sections. This section uses the version of @code{sh} included "
- "in SVR4.2 (the last version of the historical Bourne shell) as the baseline "
- "reference."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9089
- msgid ""
- "Bash is @sc{posix}-conformant, even where the @sc{posix} specification "
- "differs from traditional @code{sh} behavior (@pxref{Bash POSIX Mode})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9092
- msgid "Bash has multi-character invocation options (@pxref{Invoking Bash})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9096
- msgid ""
- "Bash has command-line editing (@pxref{Command Line Editing}) and the "
- "@code{bind} builtin."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9102
- msgid ""
- "Bash provides a programmable word completion mechanism (@pxref{Programmable "
- "Completion}), and builtin commands @code{complete}, @code{compgen}, and "
- "@code{compopt}, to manipulate it."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9108
- msgid ""
- "Bash has command history (@pxref{Bash History Facilities}) and the "
- "@code{history} and @code{fc} builtins to manipulate it. The Bash history "
- "list maintains timestamp information and uses the value of the "
- "@code{HISTTIMEFORMAT} variable to display it."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9112
- msgid ""
- "Bash implements @code{csh}-like history expansion (@pxref{History "
- "Interaction})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9118
- msgid ""
- "Bash has one-dimensional array variables (@pxref{Arrays}), and the "
- "appropriate variable expansions and assignment syntax to use them. Several "
- "of the Bash builtins take options to act on arrays. Bash provides a number "
- "of built-in array variables."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9123
- msgid ""
- "The @code{$'@dots{}'} quoting syntax, which expands ANSI-C backslash-escaped "
- "characters in the text between the single quotes, is supported "
- "(@pxref{ANSI-C Quoting})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9130
- msgid ""
- "Bash supports the @code{$\"@dots{}\"} quoting syntax to do locale-specific "
- "translation of the characters between the double quotes. The @option{-D}, "
- "@option{--dump-strings}, and @option{--dump-po-strings} invocation options "
- "list the translatable strings found in a script (@pxref{Locale "
- "Translation})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9137
- msgid ""
- "Bash implements the @code{!} keyword to negate the return value of a "
- "pipeline (@pxref{Pipelines}). Very useful when an @code{if} statement needs "
- "to act only if a test fails. The Bash @samp{-o pipefail} option to "
- "@code{set} will cause a pipeline to return a failure status if any command "
- "fails."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9142
- msgid ""
- "Bash has the @code{time} reserved word and command timing "
- "(@pxref{Pipelines}). The display of the timing statistics may be controlled "
- "with the @env{TIMEFORMAT} variable."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9146
- msgid ""
- "Bash implements the @code{for (( @var{expr1} ; @var{expr2} ; @var{expr3} ))} "
- "arithmetic for command, similar to the C language (@pxref{Looping "
- "Constructs})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9150
- msgid ""
- "Bash includes the @code{select} compound command, which allows the "
- "generation of simple menus (@pxref{Conditional Constructs})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9155
- msgid ""
- "Bash includes the @code{[[} compound command, which makes conditional "
- "testing part of the shell grammar (@pxref{Conditional Constructs}), "
- "including optional regular expression matching."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9159
- msgid ""
- "Bash provides optional case-insensitive matching for the @code{case} and "
- "@code{[[} constructs."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9163
- msgid ""
- "Bash includes brace expansion (@pxref{Brace Expansion}) and tilde expansion "
- "(@pxref{Tilde Expansion})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9167
- msgid ""
- "Bash implements command aliases and the @code{alias} and @code{unalias} "
- "builtins (@pxref{Aliases})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9172
- msgid ""
- "Bash provides shell arithmetic, the @code{((} compound command "
- "(@pxref{Conditional Constructs}), and arithmetic expansion (@pxref{Shell "
- "Arithmetic})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9178
- msgid ""
- "Variables present in the shell's initial environment are automatically "
- "exported to child processes. The Bourne shell does not normally do this "
- "unless the variables are explicitly marked using the @code{export} command."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9182
- msgid ""
- "Bash supports the @samp{+=} assignment operator, which appends to the value "
- "of the variable named on the left hand side."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9187
- msgid ""
- "Bash includes the @sc{posix} pattern removal @samp{%}, @samp{#}, @samp{%%} "
- "and @samp{##} expansions to remove leading or trailing substrings from "
- "variable values (@pxref{Shell Parameter Expansion})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9191
- msgid ""
- "The expansion @code{$@{#xx@}}, which returns the length of @code{$@{xx@}}, "
- "is supported (@pxref{Shell Parameter Expansion})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9197
- msgid ""
- "The expansion @code{$@{var:}@var{offset}@code{[:}@var{length}@code{]@}}, "
- "which expands to the substring of @code{var}'s value of length @var{length}, "
- "beginning at @var{offset}, is present (@pxref{Shell Parameter Expansion})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9203
- msgid ""
- "The expansion "
- "@code{$@{var/[/]}@var{pattern}@code{[/}@var{replacement}@code{]@}}, which "
- "matches @var{pattern} and replaces it with @var{replacement} in the value of "
- "@code{var}, is available (@pxref{Shell Parameter Expansion})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9208
- msgid ""
- "The expansion @code{$@{!@var{prefix}*@}} expansion, which expands to the "
- "names of all shell variables whose names begin with @var{prefix}, is "
- "available (@pxref{Shell Parameter Expansion})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9212
- msgid ""
- "Bash has @var{indirect} variable expansion using @code{$@{!word@}} "
- "(@pxref{Shell Parameter Expansion})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9216
- msgid ""
- "Bash can expand positional parameters beyond @code{$9} using "
- "@code{$@{@var{num}@}}."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9222
- msgid ""
- "The @sc{posix} @code{$()} form of command substitution is implemented "
- "(@pxref{Command Substitution}), and preferred to the Bourne shell's "
- "@code{``} (which is also implemented for backwards compatibility)."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9225
- msgid "Bash has process substitution (@pxref{Process Substitution})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9233
- msgid ""
- "Bash automatically assigns variables that provide information about the "
- "current user (@env{UID}, @env{EUID}, and @env{GROUPS}), the current host "
- "(@env{HOSTTYPE}, @env{OSTYPE}, @env{MACHTYPE}, and @env{HOSTNAME}), and the "
- "instance of Bash that is running (@env{BASH}, @env{BASH_VERSION}, and "
- "@env{BASH_VERSINFO}). @xref{Bash Variables}, for details."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9238
- msgid ""
- "The @env{IFS} variable is used to split only the results of expansion, not "
- "all words (@pxref{Word Splitting}). This closes a longstanding shell "
- "security hole."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9243
- msgid ""
- "The filename expansion bracket expression code uses @samp{!} and @samp{^} to "
- "negate the set of characters between the brackets. The Bourne shell uses "
- "only @samp{!}."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9248
- msgid ""
- "Bash implements the full set of @sc{posix} filename expansion operators, "
- "including @var{character classes}, @var{equivalence classes}, and "
- "@var{collating symbols} (@pxref{Filename Expansion})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9252
- msgid ""
- "Bash implements extended pattern matching features when the @code{extglob} "
- "shell option is enabled (@pxref{Pattern Matching})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9256
- msgid ""
- "It is possible to have a variable and a function with the same name; "
- "@code{sh} does not separate the two name spaces."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9261
- msgid ""
- "Bash functions are permitted to have local variables using the @code{local} "
- "builtin, and thus useful recursive functions may be written (@pxref{Bash "
- "Builtins})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9268
- msgid ""
- "Variable assignments preceding commands affect only that command, even "
- "builtins and functions (@pxref{Environment}). In @code{sh}, all variable "
- "assignments preceding commands are global unless the command is executed "
- "from the file system."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9272
- msgid ""
- "Bash performs filename expansion on filenames specified as operands to input "
- "and output redirection operators (@pxref{Redirections})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9278
- msgid ""
- "Bash contains the @samp{<>} redirection operator, allowing a file to be "
- "opened for both reading and writing, and the @samp{&>} redirection operator, "
- "for directing standard output and standard error to the same file "
- "(@pxref{Redirections})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9282
- msgid ""
- "Bash includes the @samp{<<<} redirection operator, allowing a string to be "
- "used as the standard input to a command."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9286
- msgid ""
- "Bash implements the @samp{[n]<&@var{word}} and @samp{[n]>&@var{word}} "
- "redirection operators, which move one file descriptor to another."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9290
- msgid ""
- "Bash treats a number of filenames specially when they are used in "
- "redirection operators (@pxref{Redirections})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9294
- msgid ""
- "Bash can open network connections to arbitrary machines and services with "
- "the redirection operators (@pxref{Redirections})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9299
- msgid ""
- "The @code{noclobber} option is available to avoid overwriting existing files "
- "with output redirection (@pxref{The Set Builtin}). The @samp{>|} "
- "redirection operator may be used to override @code{noclobber}."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9304
- msgid ""
- "The Bash @code{cd} and @code{pwd} builtins (@pxref{Bourne Shell Builtins}) "
- "each take @option{-L} and @option{-P} options to switch between logical and "
- "physical modes."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9309
- msgid ""
- "Bash allows a function to override a builtin with the same name, and "
- "provides access to that builtin's functionality within the function via the "
- "@code{builtin} and @code{command} builtins (@pxref{Bash Builtins})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9313
- msgid ""
- "The @code{command} builtin allows selective disabling of functions when "
- "command lookup is performed (@pxref{Bash Builtins})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9317
- msgid ""
- "Individual builtins may be enabled or disabled using the @code{enable} "
- "builtin (@pxref{Bash Builtins})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9323
- msgid ""
- "The Bash @code{exec} builtin takes additional options that allow users to "
- "control the contents of the environment passed to the executed command, and "
- "what the zeroth argument to the command is to be (@pxref{Bourne Shell "
- "Builtins})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9327
- msgid ""
- "Shell functions may be exported to children via the environment using "
- "@code{export -f} (@pxref{Shell Functions})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9335
- msgid ""
- "The Bash @code{export}, @code{readonly}, and @code{declare} builtins can "
- "take a @option{-f} option to act on shell functions, a @option{-p} option to "
- "display variables with various attributes set in a format that can be used "
- "as shell input, a @option{-n} option to remove various variable attributes, "
- "and @samp{name=value} arguments to set variable attributes and values "
- "simultaneously."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9341
- msgid ""
- "The Bash @code{hash} builtin allows a name to be associated with an "
- "arbitrary filename, even when that filename cannot be found by searching the "
- "@env{$PATH}, using @samp{hash -p} (@pxref{Bourne Shell Builtins})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9345
- msgid ""
- "Bash includes a @code{help} builtin for quick reference to shell facilities "
- "(@pxref{Bash Builtins})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9349
- msgid ""
- "The @code{printf} builtin is available to display formatted output "
- "(@pxref{Bash Builtins})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9365
- msgid ""
- "The Bash @code{read} builtin (@pxref{Bash Builtins}) will read a line "
- "ending in @samp{\\} with the @option{-r} option, and will use the "
- "@env{REPLY} variable as a default if no non-option arguments are supplied. "
- "The Bash @code{read} builtin also accepts a prompt string with the "
- "@option{-p} option and will use Readline to obtain the line when given the "
- "@option{-e} option. The @code{read} builtin also has additional options to "
- "control input: the @option{-s} option will turn off echoing of input "
- "characters as they are read, the @option{-t} option will allow @code{read} "
- "to time out if input does not arrive within a specified number of seconds, "
- "the @option{-n} option will allow reading only a specified number of "
- "characters rather than a full line, and the @option{-d} option will read "
- "until a particular character rather than newline."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9370
- msgid ""
- "The @code{return} builtin may be used to abort execution of scripts executed "
- "with the @code{.} or @code{source} builtins (@pxref{Bourne Shell Builtins})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9375
- msgid ""
- "Bash includes the @code{shopt} builtin, for finer control of shell optional "
- "capabilities (@pxref{The Shopt Builtin}), and allows these options to be set "
- "and unset at shell invocation (@pxref{Invoking Bash})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9379
- msgid ""
- "Bash has much more optional behavior controllable with the @code{set} "
- "builtin (@pxref{The Set Builtin})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9384
- msgid ""
- "The @samp{-x} (@option{xtrace}) option displays commands other than simple "
- "commands when performing an execution trace (@pxref{The Set Builtin})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9389
- msgid ""
- "The @code{test} builtin (@pxref{Bourne Shell Builtins}) is slightly "
- "different, as it implements the @sc{posix} algorithm, which specifies the "
- "behavior based on the number of arguments."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9395
- msgid ""
- "Bash includes the @code{caller} builtin, which displays the context of any "
- "active subroutine call (a shell function or a script executed with the "
- "@code{.} or @code{source} builtins). This supports the bash debugger."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9408
- msgid ""
- "The @code{trap} builtin (@pxref{Bourne Shell Builtins}) allows a "
- "@code{DEBUG} pseudo-signal specification, similar to @code{EXIT}. Commands "
- "specified with a @code{DEBUG} trap are executed before every simple command, "
- "@code{for} command, @code{case} command, @code{select} command, every "
- "arithmetic @code{for} command, and before the first command executes in a "
- "shell function. The @code{DEBUG} trap is not inherited by shell functions "
- "unless the function has been given the @code{trace} attribute or the "
- "@code{functrace} option has been enabled using the @code{shopt} builtin. "
- "The @code{extdebug} shell option has additional effects on the @code{DEBUG} "
- "trap."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9415
- msgid ""
- "The @code{trap} builtin (@pxref{Bourne Shell Builtins}) allows an @code{ERR} "
- "pseudo-signal specification, similar to @code{EXIT} and @code{DEBUG}. "
- "Commands specified with an @code{ERR} trap are executed after a simple "
- "command fails, with a few exceptions. The @code{ERR} trap is not inherited "
- "by shell functions unless the @code{-o errtrace} option to the @code{set} "
- "builtin is enabled."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9425
- msgid ""
- "The @code{trap} builtin (@pxref{Bourne Shell Builtins}) allows a "
- "@code{RETURN} pseudo-signal specification, similar to @code{EXIT} and "
- "@code{DEBUG}. Commands specified with an @code{RETURN} trap are executed "
- "before execution resumes after a shell function or a shell script executed "
- "with @code{.} or @code{source} returns. The @code{RETURN} trap is not "
- "inherited by shell functions unless the function has been given the "
- "@code{trace} attribute or the @code{functrace} option has been enabled using "
- "the @code{shopt} builtin."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9429
- msgid ""
- "The Bash @code{type} builtin is more extensive and gives more information "
- "about the names it finds (@pxref{Bash Builtins})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9434
- msgid ""
- "The Bash @code{umask} builtin permits a @option{-p} option to cause the "
- "output to be displayed in the form of a @code{umask} command that may be "
- "reused as input (@pxref{Bourne Shell Builtins})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9441
- msgid ""
- "Bash implements a @code{csh}-like directory stack, and provides the "
- "@code{pushd}, @code{popd}, and @code{dirs} builtins to manipulate it "
- "(@pxref{The Directory Stack}). Bash also makes the directory stack visible "
- "as the value of the @env{DIRSTACK} shell variable."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9445
- msgid ""
- "Bash interprets special backslash-escaped characters in the prompt strings "
- "when interactive (@pxref{Controlling the Prompt})."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9449
- msgid ""
- "The Bash restricted mode is more useful (@pxref{The Restricted Shell}); the "
- "SVR4.2 shell restricted mode is too limited."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9455
- msgid ""
- "The @code{disown} builtin can remove a job from the internal shell job table "
- "(@pxref{Job Control Builtins}) or suppress the sending of @code{SIGHUP} to a "
- "job when the shell exits as the result of a @code{SIGHUP}."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9459
- msgid ""
- "Bash includes a number of features to support a separate debugger for shell "
- "scripts."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9463
- msgid ""
- "The SVR4.2 shell has two privilege-related builtins (@code{mldmode} and "
- "@code{priv}) not present in Bash."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9466
- msgid "Bash does not have the @code{stop} or @code{newgrp} builtins."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9469
- msgid "Bash does not use the @env{SHACCT} variable or perform shell accounting."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9473
- msgid ""
- "The SVR4.2 @code{sh} uses a @env{TIMEOUT} variable like Bash uses "
- "@env{TMOUT}."
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:9478
- msgid "More features unique to Bash may be found in @ref{Bash Features}."
- msgstr ""
- #. type: appendixsec
- #: ./bashref.texi:9480
- #, no-wrap
- msgid "Implementation Differences From The SVR4.2 Shell"
- msgstr ""
- #. type: Plain text
- #: ./bashref.texi:9484
- msgid ""
- "Since Bash is a completely new implementation, it does not suffer from many "
- "of the limitations of the SVR4.2 shell. For instance:"
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9491
- msgid ""
- "Bash does not fork a subshell when redirecting into or out of a shell "
- "control structure such as an @code{if} or @code{while} statement."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9496
- msgid ""
- "Bash does not allow unbalanced quotes. The SVR4.2 shell will silently "
- "insert a needed closing quote at @code{EOF} under certain circumstances. "
- "This can be the cause of some hard-to-find errors."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9502
- msgid ""
- "The SVR4.2 shell uses a baroque memory management scheme based on trapping "
- "@code{SIGSEGV}. If the shell is started from a process with @code{SIGSEGV} "
- "blocked (e.g., by using the @code{system()} C library function call), it "
- "misbehaves badly."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9509
- msgid ""
- "In a questionable attempt at security, the SVR4.2 shell, when invoked "
- "without the @option{-p} option, will alter its real and effective @sc{uid} "
- "and @sc{gid} if they are less than some magic threshold value, commonly "
- "100. This can lead to unexpected results."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9513
- msgid ""
- "The SVR4.2 shell does not allow users to trap @code{SIGSEGV}, "
- "@code{SIGALRM}, or @code{SIGCHLD}."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9517
- msgid ""
- "The SVR4.2 shell does not allow the @env{IFS}, @env{MAILCHECK}, @env{PATH}, "
- "@env{PS1}, or @env{PS2} variables to be unset."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9521
- msgid "The SVR4.2 shell treats @samp{^} as the undocumented equivalent of @samp{|}."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9527
- msgid ""
- "Bash allows multiple option arguments when it is invoked (@code{-x -v}); the "
- "SVR4.2 shell allows only one option argument (@code{-xv}). In fact, some "
- "versions of the shell dump core if the second argument begins with a "
- "@samp{-}."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9532
- msgid ""
- "The SVR4.2 shell exits a script if any builtin fails; Bash exits a script "
- "only if one of the @sc{posix} special builtins fails, and only for certain "
- "failures, as enumerated in the @sc{posix} standard."
- msgstr ""
- #. type: itemize
- #: ./bashref.texi:9536
- msgid ""
- "The SVR4.2 shell behaves differently when invoked as @code{jsh} (it turns on "
- "job control)."
- msgstr ""
- #. type: include
- #: ./bashref.texi:9541
- #, no-wrap
- msgid "fdl.texi"
- msgstr ""
- #. type: node
- #: ./bashref.texi:9554 ./bashref.texi:9556
- #, no-wrap
- msgid "Builtin Index"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:9554
- msgid "Index of Bash builtin commands."
- msgstr ""
- #. type: node
- #: ./bashref.texi:9554 ./bashref.texi:9560
- #, no-wrap
- msgid "Reserved Word Index"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:9554
- msgid "Index of Bash reserved words."
- msgstr ""
- #. type: node
- #: ./bashref.texi:9554 ./bashref.texi:9564
- #, no-wrap
- msgid "Variable Index"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:9554
- msgid "Quick reference helps you find the variable you want."
- msgstr ""
- #. type: appendixsec
- #: ./bashref.texi:9554 ./bashref.texi:9568 ./bashref.texi:9569
- #, no-wrap
- msgid "Function Index"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:9554
- msgid "Index of bindable Readline functions."
- msgstr ""
- #. type: appendixsec
- #: ./bashref.texi:9554 ./bashref.texi:9572 ./bashref.texi:9573
- #, no-wrap
- msgid "Concept Index"
- msgstr ""
- #. type: menuentry
- #: ./bashref.texi:9554
- msgid "General index for concepts described in this manual."
- msgstr ""
- #. type: appendixsec
- #: ./bashref.texi:9557
- #, no-wrap
- msgid "Index of Shell Builtin Commands"
- msgstr ""
- #. type: appendixsec
- #: ./bashref.texi:9561
- #, no-wrap
- msgid "Index of Shell Reserved Words"
- msgstr ""
- #. type: appendixsec
- #: ./bashref.texi:9565
- #, no-wrap
- msgid "Parameter and Variable Index"
- msgstr ""
|