diff options
Diffstat (limited to 'doc/bashref.ps')
| -rw-r--r-- | doc/bashref.ps | 7493 |
1 files changed, 3803 insertions, 3690 deletions
diff --git a/doc/bashref.ps b/doc/bashref.ps index 7b2de8ce..108332c5 100644 --- a/doc/bashref.ps +++ b/doc/bashref.ps @@ -1,8 +1,8 @@ %!PS-Adobe-2.0 -%%Creator: dvips(k) 5.997 Copyright 2017 Radical Eye Software +%%Creator: dvips(k) 5.998 Copyright 2018 Radical Eye Software %%Title: bashref.dvi -%%CreationDate: Mon Mar 19 13:43:29 2018 -%%Pages: 182 +%%CreationDate: Fri Sep 7 20:15:25 2018 +%%Pages: 183 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%DocumentFonts: CMBX12 CMR10 CMTT10 CMSL10 CMSY10 CMMI12 CMMI10 CMCSC10 @@ -12,7 +12,7 @@ %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi %DVIPSParameters: dpi=600 -%DVIPSSource: TeX output 2018.03.19:0943 +%DVIPSSource: TeX output 2018.09.07:1615 %%BeginProcSet: tex.pro 0 0 %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S @@ -3453,6 +3453,11 @@ end readonly def dup 45 /hyphen put dup 47 /slash put dup 50 /two put +dup 73 /I put +dup 79 /O put +dup 80 /P put +dup 83 /S put +dup 88 /X put dup 97 /a put dup 98 /b put dup 99 /c put @@ -3655,125 +3660,157 @@ BBBDDBCC34B65A7D17B8BE932148C39084A9C71516582BCE25EBF7C1E0D84314 095B1E04CC60718A2DC2BCD99B34202878786A58AE7C2F43D985874AB8A3F204 4DBD4B9240EE96F0487CB687830972BF302F262C6381B2C79773EEB152B712E9 34E8229E0B59788EB9B9FC1AC1E123751D1FF032610410F0847E6B9B9A575306 -53FC00ED82D0BDA8EB008F2380FDBA06D2F8C0210A261508BA95DD600436E0BF -5E8A00CE3C92859961557763D413E79CDD37FDB07131FDC420EF525CC0B5377F -9772D3876DBFDB57FE6275D187832F2B7A635967B201E70B532E85838ED3874B -82B36AB9EAB7DD4D2B5C4140419CA04E87316E802CC93DE6336C22FEBE80C3A5 -D43A0F808E5E6A17F7BCF812FF5EE5AC1959E07F36B24C9192E375FCA3C0A84C -1D1DD2093D4F151B9FEFBA90DB4E94A1D68E49DF5A715A5BE04E7B7D8C384D61 -5DDD71F057FEF51DE7D002AB3BFE0096C47EB3AAC7B89EEEB9E2F9CFC6BCDFD9 -A438C1097D5253E49DC0DE5B6E8F976AE8894914BF8CAB5236C8A3BB2A437CE6 -374D96AFC592F1238357817E1F2836EA763A3C0DEA2DD3F7D758BA61307C21F4 -796A18638504797DD9A5131EC48DB0D23FC9A3E069B2FECA5B36A2260C6FED2E -6EBDE3AED119EDFA96B837C56202ADF7F7747291A43CDDED6EB7DB5B9373CB78 -F6FA0B92BB2C17AD8DA549E878D8DEA681028539E5E2A223E2F9BA4CA09A6FF4 -EA195F1EAE62CC33F2282888962B9032D1C83EC4EDD832866A472426EBA6080A -75E02F39CE0421C5C06B9D593022C23D675D7BE879FCE0B20A9CBB394F9D3815 -9C847518BB8DDBF3A89D699C1FA84E704B02BC85D61ADA5E548CD8DBE269A3E7 -03626A0FEE75E116F95B5D31C73BC852C5FDCF524542BFD9D05D8EB4B2A114E0 -C2FFCE282CBD87D82C1D4E64772B0492068B139B1795E287899CED7791EF5C8F -E77391C51552FF08DAA85BC8B9896CB5C792C3E1C4D44E3CAC1EAEC02E4B986F -E5059463613DD3643F8DCE2264FA66D712A0DACCF86DDAB315393219F5EBD18E -E220AD61CE3C67664615A5F9734421152382E8EA9CBED8269ACFFC37873BA329 -20649A6F684D31BF37194952496E8B962B75B83CEDE72F0DAAB761120B710677 -F3AECF2A67F512F7C423B1DA012D0D0D44F009346C4953447950F514731830D1 -59D01BFF4511CD0257D5ECC2CC4A859E0ED92627F659547C8F137DC0F49F06D6 -02F624EEBDBC779FBECB1816A88F02B3565A9C3D42E919F755F3D80F6FAB681B -585B5A49F62581EDE1D1DF1906007A8926932FE74FA2A94B92026DE9D678EA3B -ABC3C2EE5A3757317AD5F5CD361A511F4019CAF77C46C8FFE4615CD6CFDF7F8C -8CD06F1A2DDBD3BBA03FBBF8DCC898EE71E7D19CDE66971150359310D0BB68B8 -65F3E41D34C8D063A71C27B6C0F27753A9E35D291477858E5B734D72C40C4573 -203C5529340CB56BC00EA0E02B3DB54173E6480D29D957E6735146163980F0A8 -CA4086192E6095F411939DD3FF19854F8F58B39A23D3ABA22BEAE05C4B6B6845 -98968C08559A037DE955F77359FC39249C1149BC4634D10DAABB086A23D9A37A -73A61EAB63BE3B1A8D8E76ED94E731169E892B469056757EC885D8AC4FF50E5C -1D80EFE20E40E26006953C53D765B3BCB4C5396646DB3AEF01F939BD163ADD87 -FEB1E55A73722A0866DEC922EFF8B06AFDF2FC742EB1CA422822BB378310A994 -794062BE62D5BC4D44C25655C902F4FB4FA63CE21E095E4DF3723CFE7D2D961F -10A715B194ED855942588BDA460A28F1B5D849A34D85756CC8CE874E2384AD9F -3A1C348996EA94927BCE9715A8B229C0D7FCC2C07592052796D7BAE23DF895DA -1CF991E912EAC97601FD79F35616A1F23D82647BCB49C360740CF010CA4E8ADF -97A9CAC032D12919CC167CA4C2E6C60EBB4AB87C8F2BDF71E28E91A9BC96056F -5D905902AE964E5336CFDACC8C5CFC5607D75CA5F364AB8E9A65FD372BF15FA9 -0CE1519CD7DBF31F92D2A078754E4BF90F3121F6F698DEC238404EDDD4EEA153 -0335941E4EB8F08DE0104FD8633BE277E9ED26FC65D28FC1D604D8504B2F788A -11E2206ACE8AB33D14CE9D4CFC917008D44AFA2B1877C3D42455593889867784 -7CE696EABDEF95872F065DAFEFAC253F367D47127CE76FCB85BBF0684DD1663C -876E68EC35B21593A10EA5553311880B8EF744014CD1ACFC067FDFD46978BA23 -C86FBA05CEB66E67621680BEE0ABF82364D4E3235A20033437C6B84A71FB34E6 -F8A160AC477A1302B4F98D00FDDB2A35ED9B315700669D9D8A3D254F786316AF -882CAC6555A766281A0836CD45D8CD8245CA69729260D54C11DB43032A0FAC0B -05869ED0A432CEF854FE665BACB0F780C9123B4DA1E1895F8717DDE4A58BD3FD -D214195066D4587463E839EDF667E475BC04EEDAEC41422AC9BC27C238E88318 -7DFFED5D04AAFB1F63AC651B1A4113B7CE9838ABAF75632EDA8B5EE0C8474678 -58898AD595ACD99029DC34EB4BADE834C04444941C3D8280B93951A9E8554EF9 -5F0FAA218DD8224B94807CE2D8DF7E4A5E2B28C44A551DB0708B5D6D5F000B96 -0422A8E953233296B6E5EA698921F1EEEBDF0C5CC72263663895940B4C1EA28E -E0E3AF21698D5430D6495E32E0D5F5E538EF835FBCF4A96DAD8F011B145584EF -1C33809372DF602D1FB3D80A4EAB65897F672642E4317926DF178BAB6F9851C7 -63613B3DB11FF07F9C7582592B620C7767D005D7B0C28AF2D309E6CAC222055F -2C20A58AC1B407641B483D571B9E959A3AE0DEF316EFF7A4514D5313C47AAFBE -82CC583BEB32F20E4C3A5650B58812EF357B68F26882D30A6BBEBDE64E2FD910 -AB8D974CE5C968C7D34390529F4714A9F1D2373DB1D912D418225932541FB250 -9C74346749DE9C5662B1C40437E783A78A283AD6EF43B2C111DEFBEECEB17ED7 -3630AE404B310F1148C82F4969A794D945CA5E1C18F39BB6F9C46EDC8BC3C88B -FAC2116B2338E1AF9C975ECC8474BCA351E3FDF89ED4352FF6A3D6C7EF7A7BDC -DD4B2DA9E7C77F8A6623B670963D2B9B9A80F8445E17B85194AD45E02FF10484 -85E0A700BDE9F574487F9494B424646D48999EA67D469A22B9CB72123F31EA5E -51C07370BFB1C5EDB4ADE75E7111A0116C212920F1362353BF58F33D7E8EE680 -DBF8085B46AFC40ED9FFD7AE756CB267D0F321FDB71F2DD35FBD3003E91E2758 -3DED65748BE5CD0D2D244E8FA187749FED44ED0C71056AD954FCF656DE28E70B -93A79EB4D7BD59E92911EC64EA794732A79B9908B7C6DD42C99BDF07AAA06E07 -5CD6497C489BC56B09E44D22D0FE69521A9BA20ACBFDAB8EE718625711BF479E -512FEC4A8F9EC7CF66D4CC44E2D0EA1235BF17C3D0AD6859385CECA3D4A640B0 -762D325D3A449BF7115CE8469A493C494721D6636BCB9C55ACF1D0F3489E5534 -4A76A8F3E3AD6252D8CBD3EDFDAC890A7B497286241AFE35B2261B66018A1523 -4B9FD31AE07A6CCA6B91A176BC38BC03F97D71F80270E14B83B012FA5270B7B4 -73F889DED2D4BFB24536E495F96BDF408E3840AF1567E9960A4F22F0B749749B -C156336BD7F349F2F82CE54B459462CB7C9846CC090E752DCDC871FF0873076E -8885B0AEF490DB0C9FA98A8FDF84EDFD52AB0F992EEB236A79FB8FB52718EBA6 -E0D586512F81079D468A75336540163B966670B437304F3272CF6E49252662C6 -419E8B2B14D240A1DB0CF6EF14E024F9D8C6882F865D7E007B46DB65E2E6AB1A -22C5F096B255E91CABA7C441A3149FFB4E19BA97E5D43779C2A80208E279A91E -8B8A281C079B819BBB6A5B1A62F34D59B7223D9FBB5F5E96F0D9AFEBD3CE3D57 -A4C4D2345776FCA140EA95242C8AF1EE7B93D2676209B750ABFCFC8CAF50F578 -4C364CF8BC46839A4379624D56B7B917743E9D6A284E7B315D461ED66B262413 -A9AE1741C633A92061DF92AAF78A18586CDCA41248C586F7D272378F9CA76980 -202A391CC9FD46794140F06CC75AF2F4986D690939E083CDF9B96D066B1EC8F3 -DE3B68AC8FAB84970B1A199B3F3AA5BE27ED8119F306CC5F26230C16E9D9FB31 -1EE9D3F5175E4D4D7A8A2945000C37BC73816AEDE6F2AC0F09B788C9988BA69B -82CF336482F490F05725696EB080E460FC03B3E28C1B3613C8E5FE3DEA048D97 -4AC72C9955FDE282FA8C8385B30E3A7EFE247B48B370DCB439FA721BED19AF4C -FDC3D3543A25A4E0273419B6CDD7209FB336C1542BA56257E5D31B70529C12D7 -524617868F4F3B49799322EDF504750D1BAAE307ABC4843704B64ED8AD4996B7 -5193CEA660390527734BF1448AC09998E70FF15BD70F8B6388B0A987CBC783FC -990F7A5EA016EBC024F12BC9812C7C4DD6E991DB89415A49D0B265E453732F4D -2B6BB50E995E719B00DEBE74E7D1E291A739C4EAB39B5A61763DDB65BDA6E1C9 -17C49BF1A76546BE0EDAAA17310AB2D01BDF059B066263C8FFBDA53281C882DA -E2DA35ECE5B4454C8031DBECD8675B60E54261A7D1F70560C6D8CBAB436EF058 -5A0189426AF00AD7EB43FBD13976D8D769ED2639ACBF613A308C941CDB5A632F -F76E14224909A8E7E45B9B5A47BDC9B7B3E3616AEC4DEEAF2899A59B6E144802 -534109EB0E3ECD270E417B2E9CD8D27DE637AC798ED5CCF791061297A0B218A6 -1188C03BAC8DD8DD783BBBF8C4C9AE98E8F1EFC4684CA4BEE6D533458BB229ED -4E31392DC4591DF2D2D07632EBEC0A5FA2C4508C1FD48D56EE871EAF4A84AC07 -A1E34CA2CD81ED369043998A23DD01301D41C582963F07EC3417F09ABF45844E -A74F386BA813F0AC462FE268407B9D2A8813FFCA604C342CE82493DAF631B2B3 -B6D3E9F3398761C4B958569F0D833D27973B07F9DA9D84AC512C284844C04866 -74A325E4ED894F640B8F802097B7C6C4F04BBBC8A7BC6EAECC60EBBF4E676A30 -4A5D0DE4AB45D0C913CCEEB8032D1946A35928BFB0FD76AE324E7E3CEB5B99C9 -0A0A6EBAA6F6D8E4292F9C5408D3859CFDEBFC9413032FA1A6E194C5F616A3D6 -FB0FEB8966534CCC9E6D67DFCA105E8994810D8EE414DAFC80B8A95CAFA254CA -CCAA72B84130B5E485529013A35040074072A8A63B2F4384D976BBFA0A743C5A -0A079A2CD15E598801AD121303CC37A2FD3942776FD1AA0805BED2B646D4D1CD -9DE65CB859735EDC177C5A4D1A54C3E8BE7A91BCA91AB93A9DACAC90204CC207 -8432E95B2C47654DA02EC1664566E2137860F16F798E0A1EFFC819F4304B0FE2 -AA54AFE0AF6CC26D417B0CC9E3F5F6B9BD6DDDE6A2D7FC4C840E4AEF73452D16 -241FF01413DF2125BA3563B3A49EECC8EC4D0BF06283B3C8242F362A546E71B6 -21F3C6DA63882992A14E295926387D66EA6D9F296455276D4FEF0CDC706FBC25 -57169AAF546A1BC72114A3A6DC3A1A76CE001962D771C267864A987188BF6087 -183573E3E9DED10D7023965D29F19C8950B6B9B83E680010995360E54911AAAB -44D07524518EE59F58E49485E885F56FF2CF8D30FC5779770685C305AEC4262C -B8C0C194C26F5E122DF5E4153316C971460C3B3B336C1B72 +53FC00ED82D0BDA8EB008F2380FDBA06D2F8C0210A261508BBB19DFBEC179B30 +7096FFA89BF7951FBACEF0966A91BD315A7E26E57749072B3F38583C06A5F183 +08BFF3CDCD59AC365E3B4C4F34AC30366CF2BD15F19CBCE5F93259A6C4A8CAD5 +0B9186BF146124C758FAEDA8362FE97F209BA5C9FCC5C2A7FC3981F26D28B3A6 +7F1D6C440909613246CF1D25767D45EDC8FE21582D6C4C2C678BB9E98974E303 +402F0394B17CF3F4CCF6940D3ED7668AB6C9DAD83D75B11DD3BBF2619239BED9 +A82B053CDB66086058524A379BA308D5043498471B6B043923A40F6C1BB0B71B +20D261D529E3FCCE19871D097C7A434CE18673A6BE20C67AFA21F48213B6342E +4E069367C51173364B697E890FB9E4FA1E8FE0EE6A8E8176F6ECC5DE736D4272 +3B640EBD341D5DA2B2F64F46339F7612D1CD04D5598F2286A87F83220DB31878 +F7E83F90D003AFE46B3B9103BE3E344FA1025DA3F45D309641C3FDFCB8815C36 +A563F017E5EFE9E9F15262C5F676C8602EF3F7AF6F4EFD60CA78847679729FD1 +C3837760E538338DA5F0EB8B24758E4FCDC922904A2740D145935233DDE03DFD +17610BEE7050CAEEE6C705A22C3BA7FA1EB44D82ECCE837422363147ACE218F2 +DE186AA197D71524186FEB923E2AD093B00AF017AED4BBF997093F5ED44FF286 +124A6256DAB404B36D596739F883F7465E6C0DDDD8970909777818CD73650C3D +8CE623AD60CF2CDAEEEF25B6FE0C7ACA99C3AEC768A4544E0FC120821BA349C1 +986ECB6F6D69ED8B6B3F77465665BA74AD091397F6BBF6F48A1E0974377D4586 +5C3DA4BE5F33CB86CDFDBF253C4D08382BD6D9D92945136DD376CF76ECA37560 +67729573F060DE73497A3B48229E45E17852459096FE82AAEBCF5DDBE92A7F9D +8D1B7F8813106BEB2DEDD4E220717F25FCEA468F8E5B975813C48B30734139D7 +F7D65F4ABF157C7E13C16BF304CECBE2367511BF14030602BFDED6D2D0F40AB9 +5FD1EADCB2FF72F2BA0BA7E726E7C21FB9B4E0B094FDD6FD7912BC389C9C3C62 +57616605E5B8064E1DB19FF9805D872840C9B3F7873FD61951E87BB298B525A7 +30F4E7883EFC51B92A60AA1E5D6565E4F2D349E6083500BB8867977E2BBB0CD5 +7FB86FB5FE38E8A066E102E5326502EF581C9CA461E6A75170AD698EC27839F0 +ECA5AC6ACEB4AA6EF4DD71A0FE4154A1043E38D1923036D998A064082C293B41 +3D2440FB88F1CC166DA6BEE7B0BE62441F3D21BAB31CD80788DD1713D4F7D87F +F130A1DF211A3795A903FEE48EDD3E34F6AB66413AF77418D222B3DC62EC4E9F +B53937B944ADC8E5A90176FBC7EA949E02FE996A8B2F6879F0B4193A47B6FA15 +6A23805F40ACB43D778A4ECA2529054A2EE6D95495F280DE27D04505A5F3ED46 +3F9B87B8F8F4EBE0FB5A36F3038E16F5773181E6FFDF3230B26B41279BC3E29E +02B0A4C6671381E680629DD54FA396BEB597E90CC554F3715D599185F787683A +0C1C1BC30F40205C90398240DF656D5E8E79A4FB9E53ED69E6CCE72A43D675C5 +86EA8939F02CC6359A78314B3662A30F8F48DF1823CD44CB569D3CB9E8F0924B +15B682E9787827EB92F340E548961011152520DF15CEE47994555961414D80FD +6FF51E7F4AD38A7FA670CE31210F1D57FC3B06953D2E098B711B0D354793A804 +61D7ABDD46872F370D14F8EEDE07E9DA2F2F6F5A0B6017FC62D6AE57A5C61D2C +EE55183B80853D1D4D8C08572E9A15F753DBC75A000CFBA6D7B1C04A2FC07E69 +EBF9833C6C76E8DF9345B1C7FB73DA67CF85757621D36EF0D33F392103DE58F3 +C0D7ED8003E2EFDC8383FA42FD054AF7E3025B6CE9A21D7FF94D9E2653498186 +81621CCCF53F7D922007692CFC3E88AADFF7CDDFD85B3A3DF27721B89D0F26CB +34F987919D2B3F1FDF2400528A426010FD67481F336BFED8C546104CFE0DA536 +7E2056AB878E59CEB3D7B836AA794E98F7DC6B3F00B8B803F1D62E8837A27A9F +CDEBB3D8C50E71E146FD39D15071674D0D4A1CC2F7D8E050DDEAA9CDE1A60CC8 +BA54B64C6AB7760439573412C781F04CB5E4C143AD7440819B35AD3872E8A07E +687F96086AB326022E120AE62242CC62982612AF4C7E99C991AF793A24A36E3A +21D30A9E9C475E97645A9141417FB632EE51258A3F7C52C12A5656C7B3BF2D64 +E6887418B020A6FCEA184FE311DD77F8CAAC3E1E8BCA9473E52236582A3AD1EB +6DC2725757EB9E348AF2E31AE4035D0B3A17852673C97EA8E105D2426A28D367 +1BFB95DD775FA2E70E571BDDE80AFC982D9AD1F5E6E2671087262D565C0E3BC0 +EE89D0FF1CBFF7095238CB4A031FCEAE085F0BD31CD2B90DED17D8CBCE81FFF4 +4E77C1848E10BBE71B25B5D323139308D7499C0532F956866B8F056C3BF893E3 +9F029CA58F0B7A029FE944F791C0D644FDA80F1497E9FC7319ABBBDE8B47E9DB +CF6F71E7AB2C8C0AAB6140A5F165F462DB2CF40060DDFF908A52760C9EE72286 +09161743C5F8C342C97CF14F67ED86F2D723FB605BCFC43760B3ABE9C88A549A +8BB4B01D73821FA191D028E44FB2938417485BF4037170D45D2ED840A3838D6A +4C514FD4BFC2818EC64C4725E4F1C7D72CC8D3982BC50C5A4ED5995E17DB6E20 +9350D86CC8FAF93F854ADBCC42E26B85CB15343CEA1AA2DC43E40AA823418D1D +92DD7EBBF041EC62DA9764840D46A414B7EB95B5505147BDC31D40A157FE2B7B +4C641B398A6039F9EFE1E929301E38805C26D1FB0E32212505B1B954C9CAF259 +E440C327D8239B1FE0BD976DE222C38AF2F3FDFB5DEA74954199CBEAC621D611 +30C13591B9C183BAF93DE896C497E461F4CA33455D4B41FD4C77BE7E7A8968B9 +7602BD7B2989667EB31D56C3169BAD6D48D1CC5DBA8819E88A7339CC92D3DD26 +EC81ED5155345321B9DD8BBC25B3A53D95531098CCAEA8617EED83815AE6DB19 +A2E97160B2226B11665020D19F419A851AF73C19785433AE958B68D48D3EAFA3 +77DD833E47592E39F6C5C159595C32CD08DF326BDEAA4BEBA3587F017AFEA9A3 +A3473BD086862E87B5AFEBF06A4419878BDEC99686D125EE11E76AD881E10D0A +F5C18041C26CF62F07B89E7DE6D6691127CCF83F7BC7E7AB501324C2D44C05CB +D0B2754F2AA37FE707C3D2979648BE7FB3C85813E0389FBAB87810BECB5438E2 +9082705FB9BCCC4CC31DACAA5CC95B4876601D8617BC0B0E8F006638DA8545AF +DA33E5D59C056AACE716466544DC0CFDAD5E5EE60F2A68723FB9DD7C107E6C2F +4DD97E89BE2EC827052011B1042C724CEB4968ED5DFA9EAAAF88A4C4160143E9 +0EFADC700B31D030E52609ACCD3F5BF346F642B702C298E11DD837B5FF0615E0 +F5E1239C6A6C8964A575533F9B939C17FC99EB384DC725B2CE842C9331A90D31 +3344936CEEFAD1CF2281FFA21110457F21705DAB57B28C24995C73542396D5C3 +927D082DD0B4C220E0680B547A5E3220A6F506A2A94267B32B26004FEFB5AD1D +7519969EFFDD0540D5BB3F499CBA8ACF8BA23BF054D51271F958CCB03A3E5B46 +E8CA77CE6835B84071916CA149B8BADD510C8226825F3915BE719F1BF30D7640 +4B86BCA2ED6E43CF3DC32861A475B5C555DA7C34B1ACBB71DA16F1D9AC1AC459 +C0A217197561A827F2E625FDE90BE83B718583CB018BAD5A49DFC6FBC573129D +28B466BF5A889FDCE2F5DE2B413BED566E49CA2374BF587F9B6C87F79A286B0C +A13A7770DEF8E0CBDB53F20731E870162E3913581AD2F2893D8D4BD1C3AC473F +66C20BCF90DE4C711D051B6A2D3A5A57C0DE38BC0ABC739E4ACD1E91E156246E +6776B3EA66C3418144EA76297793E67D7C4A75605F612F832CBDCCBE60279236 +7E5E8D59A9C390D31764FBD10A8671BE3628DD9FA203C90B000D8867D56C13D0 +5123366778DFD71829A064EA9CC3CBE9C7E0493307129F99702BC522211BE363 +F9A19038EC98672E3B467BFCCEDCFE7C89865C832E4A0939CD1701D6B2E7D88E +0211CB61AF49A4A7142F3C4142489D11CAC418AEC20A706080B7B81425783794 +A68040FD847CC21F70D67A07867AD6384380DB4021AE764EDD2CB3F963399A4A +81DCBB3488D16096631DC2CB4F419E9049D9A79B4ABD73A8E774A7255B69885E +47D0CE20B65E837CF0EEAD9D373058A6B2569C55BB949C4C566D4607F01D8428 +FFE577130A2F9D401898847307E445D60B8BD6AEB7ED7385108036FF1F4EAE5D +52CDA197065FBD2F70749E38E5A90E313F059B24776F9A749F846788C2AD1439 +CACDC874C20C9BF9A6615C7C897600F2E3BF821E1799E40445E29AA9BD63B91F +61B9AFF3B82634D1454696315961BC8E2D7AE1BE4E5080E721E8DEA53F44B690 +5704CF886FCFC26E2838BE675D1014723E4D56189B5A7E65A3C20A0AC3A0134A +A44CE1A7441BE18660C783BE5813723D0AACD76CF8F076B58CA069FFB73AD779 +47ED97053C750072022CCA6655BD40FD8C55299505F4185CFB01C7C31761A75C +3CDC009FDD666D82C15897007321F13C88D316CC39A262A30DF71F417035A0A6 +691BB4CC99ABA64602D8175999CF835AD999550F90699BC6B8195E5C5DFBF12E +CA83FB05CACA501A66F49E65F5283883EC4827914CB72B9FEF723B010CD58192 +5528BDAA88B52B362B02FB31F32AECF4CBBBD6719187339F8F5A199663F56A26 +A90574A586FEA95BF0A3ED3B4DAA223F5D5FEC7B4782E6DBE7ED76E2575CEE2A +49FFD60D976E6069F98F933F6CCB517220D05C9343AD7E6153EBFB31FC84D40D +582274C484B16742CC4EC64E63A8B8D6E9372FC62976456B78F16184086BD180 +08FBCBCFDF94C777F3905BAE198090AB09C85130C07160FD111DCDA5E095247D +A647ED88D7B75A2265F819D82FDA474FB08C08DB58B6B6B821382BC9A6D5FDF6 +1EFF0CA350A463EF9B651CBF84EDBFE2AC986AF8636D1D9A9963D401CEEEFEBE +BFEBAD3B9DFE073BDC21933323E704182AC95D3D5C85E6E47800AF01B244267F +2B5BC626B5CB796D2EC7A0A9C8878C1FE14ECC924D1E791561073DED0F14F7C3 +B64AC2D28F396A4C9B93DACF026619D3F8BDB54FD04BD9CC183FE4CC7474976A +60320C568E9F3850C21FD2240914E4262B370E6D47367E2B15EC09F377FF2F4C +D46518B529835A89A8FE1A70E24DB827D7BBBD756A50603099BE248B318E8D32 +96CFD61B9710B3A2D60B5027020807951138ECC206C626C3691589935F681851 +779ACB632AC58641E5B59ED49B72A5B3B3CDB2E5D88FBB113C6C4807AA344EA5 +F1B3AB548C7DEFC57DA52F4BCD41CCB04ABA2570DF9758CD55A622C533826EB3 +43F42A28A5A348FC056E974D1BBB4D7213FED3D8C2F862130F299481091D46E2 +2DAABFA91A9F8115DE79D2CABBB7686CC7571251CE6876D8EBE71C9EB45BEDA6 +1F845F7AAB768498557F45F5B94DE6E59BFF0B336D901D4503A0064F64169DD3 +6BF1D67C73C1365924B876F94C7484C8909D567300AC73AA4246D043A301E80E +5E38A79B2090D5548B633FBB39509B346D2E7510FF6F70E54EA642BF2765DBE0 +3495C66A2E9F3DBCBBA5851F0D3764780499D416E002237702C32E492EA02909 +5ADDA6E8FC7314ECE22F586A05FBEA7F35D96CB2D1892AC9A78656C2AAD47182 +9029C3145F208608B4508AFF111EAFBCD37690D07E31ED18AA94C10D62A12844 +C3808AC8DA5CA8F2D99394693E190F6C02AEFC60A637AD8ED2DFEBCEF08EC3D8 +86725D3F852A90FA74F9CAFBC12DD0146EF2A741B9491A43BCA08B9D68765233 +247B74F12712204D2E66AD91F44B392002B57E691D541EC46B0692A963C07496 +1B8BE15305139D77C92580FA06D9C809B263029117B82A0A78ABE9C6DC0F61C3 +A8ECD12138927031B9D1CCF9A7BFCB7F37873249A7CEE6E49998420B4466B06A +448EDC2F4B00C73FEF997171AA4364DC49DD5E3D59F31C9DC29064CBC0503FA4 +0188BAE53D62C5BFAA13835C14536C07547DECFD8DB00B7B9590B69D29733E4C +27B3D020EC1843ECBFD4F1C74D210F7E886407874F52893D5E4D960C311056E5 +AAB46CE02CDB2D14F5BA22AA8AAC05CAF62CA950D6CC279AD6FB80BA1194EA2C +B380CE9D6F03613542860AD8A21D35C300FF5881885B73745A87228642D981B9 +A19DBD36CFDA547468F0259715F564807E1BF59FC29D4ED8F8A394AAC4609C24 +FBE3F169EB8BC230B5788BE64846AA1E4A92EF1DBF768AEEB465025CA94DAB15 +5068385CE16A9995FA5B117AE9B7BC9A21A40EDFECB2CF53E48FDBAAC9B73C73 +D1129088EEB0C16CED9F042A1375A6E28586C7CCF7A7798CC4F14FD6AEBE9341 +DA1222BA55114253A32A7DE2FD81A269D801E61694A7A5549FDF6555F064AE3B +DE3B689D8A89840976988D9AB4E9FA38F6F1F563AD72E769CE32AD3764F86226 +327CF11586E8711493731FCBD0F88A02BDA98D73EBD6AD50BD2E1416E01ED0E4 +618A830F6CA2DA58CA47680F705E026B53063D0DF143C59C06066F4A4F0B4707 +C28414153F1001B54E7C470938B972C249EB2B65782FCD0FE61ECAE1B7459F23 +FD9637BD0DAFBFEC2F1E0C715A21F13B6EAAD1017938169122C459F1BB9B56A9 +6D93C017E2FFCB4F81DBA0933A2F37C42C0673336124F0A696F24A58021D9D77 +AC5E73816149EDD6EA75AC1E485CE60E08B84059CAD12A6D9D4C969F0C9153F7 +DCDDF6DC1D409A14539FF828799AC16339106C783DD589E71274B5CB35A5EA3B +ACEE350AFF93B457C0659CE844783EC57C26BFB35CD43EF81190B9773280878F +6AA50BD9833F4D7DB73A8BE384A08C9A45401E6FC9E1E3ADF70FC5A0BBBA001A +2A5ED51A820ACEF131B5EF9E21EA84945F9D 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -7549,37 +7586,38 @@ TeXDict begin 40258431 52099146 1000 600 600 (bashref.dvi) /CMBX12 rf /Fl 135[42 1[42 1[30 37 38 1[46 46 51 74 23 2[28 1[42 1[42 46 42 1[46 51[33 32[51 12[{}18 90.9091 /CMTI10 rf /Fm 135[56 2[56 1[42 55 1[51 58 56 68 47 2[27 -1[58 49 51 57 54 53 56 46[50 2[50 1[34 45[{}20 90.9091 -/CMCSC10 rf /Fn 197[25 58[{}1 90.9091 /CMMI10 rf /Fo -197[33 58[{}1 119.552 /CMMI12 rf /Fp 134[85 85 1[85 90 -63 64 66 1[90 81 90 134 45 1[49 45 90 81 49 74 90 72 -90 78 10[122 124 112 90 120 3[126 153 97 1[83 60 126 -127 101 106 124 117 115 122 7[81 81 81 81 81 81 81 81 -81 81 35[90 94 11[{}52 143.462 /CMBX12 rf /Fq 200[0 21[91 -17[45 1[91 12[71{}5 90.9091 /CMSY10 rf /Fr 133[40 48 -48 66 48 51 35 36 36 48 51 45 51 76 25 48 28 25 51 45 -28 40 51 40 51 45 7[68 68 93 1[68 66 51 67 1[62 71 68 -83 57 71 1[33 68 71 59 62 69 66 64 68 12[45 45 45 45 -3[30 8[45 21[76 1[51 53 11[{}57 90.9091 /CMSL10 rf /Fs -132[67 1[71 71 97 71 75 52 53 55 1[75 67 75 112 37 71 -41 37 75 67 41 61 75 60 75 65 3[37 1[37 1[102 102 139 -102 103 94 75 100 101 92 101 105 128 81 105 69 50 105 -106 85 88 103 97 96 102 105 64 4[37 67 67 67 67 67 67 -67 67 67 67 1[37 1[37 1[67 5[67 112 1[41 20[75 78 11[{}73 -119.552 /CMBX12 rf /Ft 129[48 48 48 48 48 48 48 48 48 +1[58 49 51 57 54 53 56 8[74 4[56 2[67 77 5[37 22[50 2[50 +1[34 45[{}25 90.9091 /CMCSC10 rf /Fn 197[25 58[{}1 90.9091 +/CMMI10 rf /Fo 197[33 58[{}1 119.552 /CMMI12 rf /Fp 134[85 +85 1[85 90 63 64 66 1[90 81 90 134 45 1[49 45 90 81 49 +74 90 72 90 78 10[122 124 112 90 120 3[126 153 97 1[83 +60 126 127 101 106 124 117 115 122 7[81 81 81 81 81 81 +81 81 81 81 35[90 94 11[{}52 143.462 /CMBX12 rf /Fq 200[0 +21[91 17[45 1[91 12[71{}5 90.9091 /CMSY10 rf /Fr 133[40 +48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28 25 51 +45 28 40 51 40 51 45 7[68 68 93 1[68 66 51 67 1[62 71 +68 83 57 71 1[33 68 71 59 62 69 66 64 68 12[45 45 45 +45 3[30 8[45 21[76 1[51 53 11[{}57 90.9091 /CMSL10 rf +/Fs 132[67 1[71 71 97 71 75 52 53 55 1[75 67 75 112 37 +71 41 37 75 67 41 61 75 60 75 65 3[37 1[37 1[102 102 +139 102 103 94 75 100 101 92 101 105 128 81 105 69 50 +105 106 85 88 103 97 96 102 105 64 4[37 67 67 67 67 67 +67 67 67 67 67 1[37 1[37 1[67 5[67 112 1[41 20[75 78 +11[{}73 119.552 /CMBX12 rf /Ft 129[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 -48 48 48 48 48 48 48 1[48 48 48 48 48 48 48 48 48 48 +48 48 48 48 48 48 48 48 48 48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 -48 48 48 48 48 48 48 48 48 48 48 48 48 33[{}93 90.9091 -/CMTT10 rf /Fu 131[91 45 40 48 48 66 48 51 35 36 36 48 -51 45 51 76 25 48 28 25 51 45 28 40 51 40 51 45 25 2[25 -45 25 56 68 68 93 68 68 66 51 67 71 62 71 68 83 57 71 -47 33 68 71 59 62 69 66 64 68 71 43 1[71 1[25 25 45 45 -45 45 45 45 45 45 45 45 45 25 30 25 1[45 35 35 25 71 -76 45 76 45 25 18[76 51 51 53 11[{}91 90.9091 /CMR10 -rf /Fv 138[108 1[76 79 3[108 1[54 3[108 1[59 88 1[86 -1[94 14[144 4[184 10[138 66[{}13 172.154 /CMBX12 rf end +48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 33[{}93 +90.9091 /CMTT10 rf /Fu 131[91 45 40 48 48 66 48 51 35 +36 36 48 51 45 51 76 25 48 28 25 51 45 28 40 51 40 51 +45 25 2[25 45 25 56 68 68 93 68 68 66 51 67 71 62 71 +68 83 57 71 47 33 68 71 59 62 69 66 64 68 71 43 1[71 +1[25 25 45 45 45 45 45 45 45 45 45 45 45 25 30 25 1[45 +35 35 25 71 76 45 76 45 25 18[76 51 51 53 11[{}91 90.9091 +/CMR10 rf /Fv 138[108 1[76 79 3[108 1[54 3[108 1[59 88 +1[86 1[94 14[144 4[184 10[138 66[{}13 172.154 /CMBX12 +rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi @@ -7596,7 +7634,7 @@ ifelse TeXDict begin 1 0 bop 150 1318 a Fv(Bash)64 b(Reference)j(Man)-5 b(ual)p 150 1385 3600 34 v 2361 1481 a Fu(Reference)31 b(Do)s(cumen)m(tation)i(for)d(Bash)2428 1589 y(Edition)h(5.0,)g(for)f -Ft(Bash)g Fu(V)-8 b(ersion)31 b(5.0.)3285 1697 y(Marc)m(h)g(2018)150 +Ft(Bash)g Fu(V)-8 b(ersion)31 b(5.0.)3252 1697 y(August)f(2018)150 4927 y Fs(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11 b(estern)46 b(Reserv)l(e)g(Univ)l(ersit)l(y)150 5068 y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)-11 @@ -7604,10 +7642,10 @@ b(oundation)p 150 5141 3600 17 v eop end %%Page: 2 2 TeXDict begin 2 1 bop 150 4279 a Fu(This)35 b(text)h(is)g(a)g(brief)f (description)h(of)f(the)h(features)g(that)g(are)g(presen)m(t)g(in)f -(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.0,)c(15)f(Marc)m(h)g -(2018\).)150 4523 y(This)f(is)h(Edition)f(5.0,)i(last)g(up)s(dated)d -(15)j(Marc)m(h)f(2018,)i(of)e Fr(The)f(GNU)h(Bash)g(Reference)g(Man)m -(ual)p Fu(,)h(for)150 4633 y Ft(Bash)p Fu(,)d(V)-8 b(ersion)31 +(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.0,)c(7)e(August)h +(2018\).)150 4523 y(This)g(is)g(Edition)h(5.0,)h(last)f(up)s(dated)e(7) +i(August)f(2018,)j(of)e Fr(The)e(GNU)j(Bash)e(Reference)h(Man)m(ual)p +Fu(,)h(for)150 4633 y Ft(Bash)p Fu(,)c(V)-8 b(ersion)31 b(5.0.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577 4767 y Fq(\015)f Fu(1988{2018)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h @@ -7717,7 +7755,7 @@ h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)38 b Fu(19)399 3863 y(3.4.1)93 b(P)m(ositional)32 b(P)m(arameters)8 b Fn(:)17 b(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)21 b Fu(20)399 3973 y(3.4.2)93 b(Sp)s(ecial)30 +h(:)f(:)h(:)21 b Fu(21)399 3973 y(3.4.2)93 b(Sp)s(ecial)30 b(P)m(arameters)c Fn(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)37 b Fu(21)275 4082 @@ -7728,7 +7766,7 @@ f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f b(Expansion)9 b Fn(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)22 b -Fu(22)399 4301 y(3.5.2)93 b(Tilde)30 b(Expansion)18 b +Fu(23)399 4301 y(3.5.2)93 b(Tilde)30 b(Expansion)18 b Fn(:)d(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)31 b Fu(23)399 4411 y(3.5.3)93 @@ -7741,27 +7779,27 @@ g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)33 b Fu(30)399 4630 y(3.5.5)93 b(Arithmetic)31 b(Expansion)c Fn(:)15 b(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)40 b -Fu(30)399 4740 y(3.5.6)93 b(Pro)s(cess)30 b(Substitution)15 +Fu(31)399 4740 y(3.5.6)93 b(Pro)s(cess)30 b(Substitution)15 b Fn(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)g(:)h(:)28 b Fu(30)399 4849 y(3.5.7)93 b(W)-8 +(:)f(:)g(:)h(:)28 b Fu(31)399 4849 y(3.5.7)93 b(W)-8 b(ord)31 b(Splitting)d Fn(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)41 b Fu(31)399 4959 y(3.5.8)93 b(Filename)32 b(Expansion)22 b Fn(:)14 b(:)h(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)f(:)g(:)35 b Fu(31)524 5068 y(3.5.8.1)93 b(P)m(attern)31 +f(:)h(:)f(:)g(:)35 b Fu(32)524 5068 y(3.5.8.1)93 b(P)m(attern)31 b(Matc)m(hing)14 b Fn(:)k(:)d(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)h(:)27 b Fu(32)399 5178 y(3.5.9)93 +h(:)f(:)g(:)h(:)f(:)h(:)27 b Fu(33)399 5178 y(3.5.9)93 b(Quote)31 b(Remo)m(v)-5 b(al)17 b Fn(:)g(:)e(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)30 -b Fu(33)275 5288 y(3.6)92 b(Redirections)14 b Fn(:)i(:)f(:)g(:)h(:)f(:) +b Fu(34)275 5288 y(3.6)92 b(Redirections)14 b Fn(:)i(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)27 b Fu(33)p +h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)27 b Fu(34)p eop end %%Page: -2 4 TeXDict begin -2 3 bop 3699 -116 a Fu(ii)399 83 y(3.6.1)93 @@ -7774,9 +7812,9 @@ h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)28 b Fu(35)399 302 y(3.6.3)93 b(App)s(ending)28 b(Redirected)k(Output)20 b Fn(:)14 b(:)h(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)33 b Fu(35)399 412 y(3.6.4)93 b(Redirecting)31 b(Standard)e(Output)h +(:)33 b Fu(36)399 412 y(3.6.4)93 b(Redirecting)31 b(Standard)e(Output)h (and)f(Standard)h(Error)16 b Fn(:)e(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)29 -b Fu(35)399 521 y(3.6.5)93 b(App)s(ending)28 b(Standard)i(Output)f(and) +b Fu(36)399 521 y(3.6.5)93 b(App)s(ending)28 b(Standard)i(Output)f(and) h(Standard)f(Error)d Fn(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)40 b Fu(36)399 631 y(3.6.6)93 b(Here)31 b(Do)s(cumen)m(ts)15 b Fn(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) @@ -7785,10 +7823,10 @@ h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h b(Here)31 b(Strings)16 b Fn(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)29 -b Fu(36)399 850 y(3.6.8)93 b(Duplicating)32 b(File)f(Descriptors)25 +b Fu(37)399 850 y(3.6.8)93 b(Duplicating)32 b(File)f(Descriptors)25 b Fn(:)15 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)37 -b Fu(36)399 960 y(3.6.9)93 b(Mo)m(ving)32 b(File)f(Descriptors)d +b Fu(37)399 960 y(3.6.9)93 b(Mo)m(ving)32 b(File)f(Descriptors)d Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) 40 b Fu(37)399 1069 y(3.6.10)93 b(Op)s(ening)29 b(File)j(Descriptors)f @@ -7796,26 +7834,26 @@ Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)41 b Fu(37)275 1179 y(3.7)92 b(Executing)31 b(Commands)24 b Fn(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) -g(:)h(:)f(:)h(:)f(:)g(:)h(:)38 b Fu(37)399 1289 y(3.7.1)93 +g(:)h(:)f(:)h(:)f(:)g(:)h(:)38 b Fu(38)399 1289 y(3.7.1)93 b(Simple)30 b(Command)f(Expansion)11 b Fn(:)k(:)g(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)24 b Fu(37)399 1398 y(3.7.2)93 b(Command)29 +h(:)f(:)g(:)h(:)f(:)24 b Fu(38)399 1398 y(3.7.2)93 b(Command)29 b(Searc)m(h)i(and)f(Execution)15 b Fn(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) 28 b Fu(38)399 1508 y(3.7.3)93 b(Command)29 b(Execution)i(En)m (vironmen)m(t)17 b Fn(:)e(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f -(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)30 b Fu(38)399 +(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)30 b Fu(39)399 1617 y(3.7.4)93 b(En)m(vironmen)m(t)26 b Fn(:)16 b(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h -(:)f(:)g(:)h(:)39 b Fu(39)399 1727 y(3.7.5)93 b(Exit)31 +(:)f(:)g(:)h(:)39 b Fu(40)399 1727 y(3.7.5)93 b(Exit)31 b(Status)16 b Fn(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)29 b Fu(40)399 1836 y(3.7.6)93 b(Signals)23 b Fn(:)15 b(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f (:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)36 b Fu(40)275 +h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)36 b Fu(41)275 1946 y(3.8)92 b(Shell)30 b(Scripts)12 b Fn(:)i(:)i(:)f(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f @@ -8033,66 +8071,66 @@ h(:)f(:)h(:)f(:)g(:)29 b Fu(144)p eop end TeXDict begin -4 5 bop 3677 -116 a Fu(iv)150 83 y Fs(10)135 b(Installing)46 b(Bash)16 b Fo(:)j(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) -f(:)h(:)f(:)29 b Fs(145)275 220 y Fu(10.1)92 b(Basic)32 +f(:)h(:)f(:)29 b Fs(146)275 220 y Fu(10.1)92 b(Basic)32 b(Installation)8 b Fn(:)17 b(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)22 -b Fu(145)275 330 y(10.2)92 b(Compilers)30 b(and)g(Options)17 +b Fu(146)275 330 y(10.2)92 b(Compilers)30 b(and)g(Options)17 b Fn(:)d(:)i(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h -(:)f(:)h(:)f(:)30 b Fu(146)275 439 y(10.3)92 b(Compiling)30 +(:)f(:)h(:)f(:)30 b Fu(147)275 439 y(10.3)92 b(Compiling)30 b(F)-8 b(or)32 b(Multiple)f(Arc)m(hitectures)10 b Fn(:)16 b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f -(:)g(:)h(:)f(:)h(:)f(:)23 b Fu(146)275 549 y(10.4)92 +(:)g(:)h(:)f(:)h(:)f(:)23 b Fu(147)275 549 y(10.4)92 b(Installation)32 b(Names)22 b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:) f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)35 -b Fu(146)275 658 y(10.5)92 b(Sp)s(ecifying)30 b(the)g(System)h(T)m(yp)s +b Fu(147)275 658 y(10.5)92 b(Sp)s(ecifying)30 b(the)g(System)h(T)m(yp)s (e)21 b Fn(:)14 b(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) -h(:)34 b Fu(147)275 768 y(10.6)92 b(Sharing)30 b(Defaults)24 +h(:)34 b Fu(148)275 768 y(10.6)92 b(Sharing)30 b(Defaults)24 b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) -f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)37 b Fu(147)275 +f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)37 b Fu(148)275 878 y(10.7)92 b(Op)s(eration)30 b(Con)m(trols)12 b Fn(:)k(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f -(:)h(:)f(:)25 b Fu(147)275 987 y(10.8)92 b(Optional)31 +(:)h(:)f(:)25 b Fu(148)275 987 y(10.8)92 b(Optional)31 b(F)-8 b(eatures)19 b Fn(:)d(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)32 -b Fu(148)150 1238 y Fs(App)t(endix)44 b(A)119 b(Rep)t(orting)46 +b Fu(149)150 1238 y Fs(App)t(endix)44 b(A)119 b(Rep)t(orting)46 b(Bugs)21 b Fo(:)f(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h -(:)f(:)g(:)h(:)f(:)35 b Fs(153)150 1498 y(App)t(endix)44 +(:)f(:)g(:)h(:)f(:)35 b Fs(154)150 1498 y(App)t(endix)44 b(B)125 b(Ma)7 b(jor)46 b(Di\013erences)g(F)-11 b(rom)284 1639 y(The)45 b(Bourne)f(Shell)35 b Fo(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:) -f(:)g(:)h(:)f(:)h(:)47 b Fs(154)275 1776 y Fu(B.1)92 +f(:)g(:)h(:)f(:)h(:)47 b Fs(155)275 1776 y Fu(B.1)92 b(Implemen)m(tation)31 b(Di\013erences)h(F)-8 b(rom)31 b(The)e(SVR4.2)j(Shell)22 b Fn(:)15 b(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h -(:)35 b Fu(158)150 2027 y Fs(App)t(endix)44 b(C)124 b(GNU)36 +(:)35 b Fu(159)150 2027 y Fs(App)t(endix)44 b(C)124 b(GNU)36 b(F)-11 b(ree)35 b(Do)t(cumen)l(tation)i(License)25 b -Fo(:)20 b(:)29 b Fs(160)150 2305 y(App)t(endix)44 b(D)118 +Fo(:)20 b(:)29 b Fs(161)150 2305 y(App)t(endix)44 b(D)118 b(Indexes)27 b Fo(:)20 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:) h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)40 -b Fs(168)275 2442 y Fu(D.1)92 b(Index)29 b(of)i(Shell)f(Builtin)h +b Fs(169)275 2442 y Fu(D.1)92 b(Index)29 b(of)i(Shell)f(Builtin)h (Commands)23 b Fn(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:) g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)38 -b Fu(168)275 2552 y(D.2)92 b(Index)29 b(of)i(Shell)f(Reserv)m(ed)h(W)-8 +b Fu(169)275 2552 y(D.2)92 b(Index)29 b(of)i(Shell)f(Reserv)m(ed)h(W)-8 b(ords)20 b Fn(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f (:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)34 -b Fu(169)275 2661 y(D.3)92 b(P)m(arameter)31 b(and)f(V)-8 +b Fu(170)275 2661 y(D.3)92 b(P)m(arameter)31 b(and)f(V)-8 b(ariable)32 b(Index)27 b Fn(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g (:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:) -h(:)f(:)g(:)42 b Fu(170)275 2771 y(D.4)92 b(F)-8 b(unction)31 +h(:)f(:)g(:)42 b Fu(171)275 2771 y(D.4)92 b(F)-8 b(unction)31 b(Index)24 b Fn(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h (:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:) f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)38 -b Fu(172)275 2880 y(D.5)92 b(Concept)30 b(Index)15 b +b Fu(173)275 2880 y(D.5)92 b(Concept)30 b(Index)15 b Fn(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h (:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:) h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)29 b -Fu(174)p eop end +Fu(175)p eop end %%Page: 1 7 TeXDict begin 1 6 bop 3705 -116 a Fu(1)150 299 y Fp(1)80 b(In)l(tro)t(duction)150 604 y Fs(1.1)68 b(What)45 b(is)g(Bash?)150 @@ -8241,7 +8279,7 @@ b(and)e(function)h(names.)630 4020 y(Also)31 b(referred)f(to)h(as)f(an) h Ft(identifier)p Fu(.)150 4186 y Ft(operator)96 b Fu(A)38 b Ft(control)28 b(operator)36 b Fu(or)h(a)i Ft(redirection)27 b(operator)p Fu(.)61 b(See)38 b(Section)g(3.6)h([Redirec-)630 -4295 y(tions],)f(page)f(33,)i(for)d(a)g(list)h(of)f(redirection)h(op)s +4295 y(tions],)f(page)f(34,)i(for)d(a)g(list)h(of)f(redirection)h(op)s (erators.)58 b(Op)s(erators)35 b(con)m(tain)j(at)f(least)630 4405 y(one)31 b(unquoted)e Ft(metacharacter)p Fu(.)150 4570 y Ft(process)f(group)630 4680 y Fu(A)i(collection)k(of)c(related)h @@ -8331,13 +8369,13 @@ b(the)h(v)-5 b(arious)40 b(shell)h(expansions)f(\(see)h(Section)g(3.5)g ([Shell)g(Expansions],)h(page)f(22\),)330 4551 y(breaking)35 b(the)g(expanded)g(tok)m(ens)h(in)m(to)g(lists)f(of)g(\014lenames)h (\(see)g(Section)f(3.5.8)i([Filename)g(Ex-)330 4661 y(pansion],)30 -b(page)h(31\))h(and)e(commands)g(and)g(argumen)m(ts.)199 +b(page)h(32\))h(and)e(commands)g(and)g(argumen)m(ts.)199 4807 y(5.)61 b(P)m(erforms)36 b(an)m(y)i(necessary)f(redirections)g -(\(see)h(Section)f(3.6)h([Redirections],)i(page)e(33\))g(and)e(re-)330 +(\(see)h(Section)f(3.6)h([Redirections],)i(page)e(34\))g(and)e(re-)330 4916 y(mo)m(v)m(es)c(the)e(redirection)h(op)s(erators)g(and)f(their)g (op)s(erands)f(from)h(the)h(argumen)m(t)f(list.)199 5062 y(6.)61 b(Executes)31 b(the)g(command)f(\(see)h(Section)g(3.7)h -([Executing)f(Commands],)f(page)h(37\).)199 5208 y(7.)61 +([Executing)f(Commands],)f(page)h(38\).)199 5208 y(7.)61 b(Optionally)40 b(w)m(aits)g(for)f(the)g(command)g(to)h(complete)g(and) f(collects)i(its)f(exit)g(status)f(\(see)h(Sec-)330 5317 y(tion)31 b(3.7.5)h([Exit)f(Status],)g(page)g(40\).)p @@ -8581,7 +8619,7 @@ b(Basic)32 b(Shell)e(F)-8 b(eatures)2292 b(9)275 299 y(Eac)m(h)29 b(command)g(in)g(a)g(pip)s(eline)g(is)g(executed)h(in)e (its)i(o)m(wn)f(subshell,)f(whic)m(h)h(is)g(a)g(separate)h(pro)s(cess) 150 408 y(\(see)g(Section)g(3.7.3)h([Command)e(Execution)h(En)m -(vironmen)m(t],)g(page)g(38\).)41 b(If)29 b(the)g Ft(lastpipe)e +(vironmen)m(t],)g(page)g(39\).)41 b(If)29 b(the)g Ft(lastpipe)e Fu(option)j(is)150 518 y(enabled)35 b(using)g(the)g Ft(shopt)f Fu(builtin)g(\(see)i(Section)g(4.3.2)h([The)e(Shopt)f(Builtin],)j(page) f(65\),)i(the)d(last)150 628 y(elemen)m(t)d(of)e(a)h(pip)s(eline)f(ma)m @@ -8652,7 +8690,7 @@ Fu(Comp)s(ound)29 b(commands)h(are)i(the)f(shell)g(programming)f (op)s(erator)f(and)g(is)g(terminated)g(b)m(y)g(a)g(corresp)s(onding)f (reserv)m(ed)150 5121 y(w)m(ord)i(or)g(op)s(erator.)40 b(An)m(y)26 b(redirections)g(\(see)i(Section)f(3.6)g([Redirections],)h -(page)f(33\))h(asso)s(ciated)f(with)150 5230 y(a)k(comp)s(ound)f +(page)f(34\))h(asso)s(ciated)f(with)150 5230 y(a)k(comp)s(ound)f (command)h(apply)f(to)i(all)g(commands)f(within)f(that)i(comp)s(ound)d (command)i(unless)f(ex-)150 5340 y(plicitly)i(o)m(v)m(erridden.)p eop end @@ -8759,2440 +8797,2462 @@ y(executed.)k(The)34 b(return)g(status)h(is)f(the)h(exit)h(status)f(of) g(the)g(last)g(command)g(executed,)630 2060 y(or)30 b(zero)i(if)e(no)g (condition)h(tested)g(true.)150 2222 y Ft(case)288 b Fu(The)30 b(syn)m(tax)h(of)f(the)h Ft(case)e Fu(command)h(is:)870 -2358 y Ft(case)47 b Fj(word)f Ft(in)h([)h([\(])f Fj(pattern)f -Ft([|)h Fj(pattern)p Ft(]...)m(\))g Fj(command-list)e -Ft(;;]...)h(esac)630 2494 y(case)20 b Fu(will)i(selectiv)m(ely)j -(execute)e(the)e Fr(command-list)k Fu(corresp)s(onding)20 -b(to)i(the)g(\014rst)f Fr(pattern)630 2604 y Fu(that)h(matc)m(hes)h +2358 y Ft(case)47 b Fj(word)f Ft(in)1061 2468 y([)h([\(])g +Fj(pattern)f Ft([|)h Fj(pattern)p Ft(]...)m(\))h Fj(command-list)c +Ft(;;]...)870 2577 y(esac)630 2713 y(case)20 b Fu(will)i(selectiv)m +(ely)j(execute)e(the)e Fr(command-list)k Fu(corresp)s(onding)20 +b(to)i(the)g(\014rst)f Fr(pattern)630 2823 y Fu(that)h(matc)m(hes)h Fr(w)m(ord)p Fu(.)38 b(The)21 b(matc)m(h)h(is)g(p)s(erformed)e (according)j(to)f(the)g(rules)g(describ)s(ed)e(b)s(e-)630 -2713 y(lo)m(w)25 b(in)e(Section)i(3.5.8.1)h([P)m(attern)f(Matc)m -(hing],)i(page)e(32.)39 b(If)23 b(the)h Ft(nocasematch)d -Fu(shell)j(op-)630 2823 y(tion)j(\(see)g(the)f(description)g(of)g +2933 y(lo)m(w)25 b(in)e(Section)i(3.5.8.1)h([P)m(attern)f(Matc)m +(hing],)i(page)e(33.)39 b(If)23 b(the)h Ft(nocasematch)d +Fu(shell)j(op-)630 3042 y(tion)j(\(see)g(the)f(description)g(of)g Ft(shopt)f Fu(in)g(Section)i(4.3.2)h([The)e(Shopt)f(Builtin],)j(page)f -(65\))630 2933 y(is)40 b(enabled,)i(the)e(matc)m(h)h(is)e(p)s(erformed) +(65\))630 3152 y(is)40 b(enabled,)i(the)e(matc)m(h)h(is)e(p)s(erformed) g(without)g(regard)h(to)h(the)f(case)g(of)g(alphab)s(etic)630 -3042 y(c)m(haracters.)48 b(The)32 b(`)p Ft(|)p Fu(')g(is)h(used)e(to)i +3261 y(c)m(haracters.)48 b(The)32 b(`)p Ft(|)p Fu(')g(is)h(used)e(to)i (separate)h(m)m(ultiple)f(patterns,)g(and)f(the)g(`)p -Ft(\))p Fu(')h(op)s(erator)630 3152 y(terminates)f(a)f(pattern)g(list.) +Ft(\))p Fu(')h(op)s(erator)630 3371 y(terminates)f(a)f(pattern)g(list.) 43 b(A)31 b(list)g(of)g(patterns)g(and)f(an)h(asso)s(ciated)h -(command-list)g(is)630 3261 y(kno)m(wn)e(as)g(a)h Fr(clause)p -Fu(.)630 3397 y(Eac)m(h)42 b(clause)g(m)m(ust)f(b)s(e)g(terminated)h +(command-list)g(is)630 3481 y(kno)m(wn)e(as)g(a)h Fr(clause)p +Fu(.)630 3617 y(Eac)m(h)42 b(clause)g(m)m(ust)f(b)s(e)g(terminated)h (with)e(`)p Ft(;;)p Fu(',)45 b(`)p Ft(;&)p Fu(',)f(or)d(`)p Ft(;;&)p Fu('.)73 b(The)41 b Fr(w)m(ord)j Fu(under-)630 -3507 y(go)s(es)35 b(tilde)f(expansion,)h(parameter)g(expansion,)g -(command)f(substitution,)h(arithmetic)630 3617 y(expansion,)g(and)f +3726 y(go)s(es)35 b(tilde)f(expansion,)h(parameter)g(expansion,)g +(command)f(substitution,)h(arithmetic)630 3836 y(expansion,)g(and)f (quote)g(remo)m(v)-5 b(al)36 b(\(see)f(Section)g(3.5.3)h([Shell)e(P)m -(arameter)h(Expansion],)630 3726 y(page)22 b(24\))g(b)s(efore)f(matc)m +(arameter)h(Expansion],)630 3945 y(page)22 b(24\))g(b)s(efore)f(matc)m (hing)h(is)g(attempted.)38 b(Eac)m(h)22 b Fr(pattern)g -Fu(undergo)s(es)e(tilde)i(expansion,)630 3836 y(parameter)31 +Fu(undergo)s(es)e(tilde)i(expansion,)630 4055 y(parameter)31 b(expansion,)f(command)g(substitution,)h(and)f(arithmetic)h(expansion.) -630 3972 y(There)f(ma)m(y)g(b)s(e)f(an)h(arbitrary)g(n)m(um)m(b)s(er)f +630 4191 y(There)f(ma)m(y)g(b)s(e)f(an)h(arbitrary)g(n)m(um)m(b)s(er)f (of)h Ft(case)f Fu(clauses,)i(eac)m(h)g(terminated)g(b)m(y)e(a)i(`)p -Ft(;;)p Fu(',)630 4082 y(`)p Ft(;&)p Fu(',)c(or)e(`)p +Ft(;;)p Fu(',)630 4301 y(`)p Ft(;&)p Fu(',)c(or)e(`)p Ft(;;&)p Fu('.)39 b(The)25 b(\014rst)g(pattern)h(that)g(matc)m(hes)h -(determines)e(the)h(command-list)g(that)630 4191 y(is)35 +(determines)e(the)h(command-list)g(that)630 4410 y(is)35 b(executed.)55 b(It's)35 b(a)g(common)g(idiom)g(to)g(use)g(`)p Ft(*)p Fu(')g(as)g(the)g(\014nal)f(pattern)h(to)h(de\014ne)e(the)630 -4301 y(default)d(case,)g(since)g(that)g(pattern)f(will)h(alw)m(a)m(ys)h -(matc)m(h.)630 4437 y(Here)j(is)g(an)g(example)h(using)e +4520 y(default)d(case,)g(since)g(that)g(pattern)f(will)h(alw)m(a)m(ys)h +(matc)m(h.)630 4656 y(Here)j(is)g(an)g(example)h(using)e Ft(case)g Fu(in)g(a)h(script)g(that)h(could)f(b)s(e)f(used)g(to)h -(describ)s(e)g(one)630 4546 y(in)m(teresting)d(feature)f(of)f(an)g -(animal:)870 4682 y Ft(echo)47 b(-n)g("Enter)f(the)h(name)f(of)i(an)f -(animal:)f(")870 4792 y(read)h(ANIMAL)870 4902 y(echo)g(-n)g("The)f -($ANIMAL)g(has)h(")870 5011 y(case)g($ANIMAL)e(in)965 -5121 y(horse)i(|)g(dog)g(|)h(cat\))e(echo)h(-n)g("four";;)965 -5230 y(man)g(|)h(kangaroo)d(\))j(echo)e(-n)i("two";;)965 -5340 y(*\))g(echo)e(-n)h("an)g(unknown)f(number)g(of";;)p +(describ)s(e)g(one)630 4766 y(in)m(teresting)d(feature)f(of)f(an)g +(animal:)870 4902 y Ft(echo)47 b(-n)g("Enter)f(the)h(name)f(of)i(an)f +(animal:)f(")870 5011 y(read)h(ANIMAL)870 5121 y(echo)g(-n)g("The)f +($ANIMAL)g(has)h(")870 5230 y(case)g($ANIMAL)e(in)965 +5340 y(horse)i(|)g(dog)g(|)h(cat\))e(echo)h(-n)g("four";;)p eop end %%Page: 12 18 TeXDict begin 12 17 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(12)870 299 -y Ft(esac)870 408 y(echo)47 b(")g(legs.")630 560 y Fu(If)25 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(12)965 299 +y Ft(man)47 b(|)h(kangaroo)d(\))j(echo)e(-n)i("two";;)965 +408 y(*\))g(echo)e(-n)h("an)g(unknown)f(number)g(of";;)870 +518 y(esac)870 628 y(echo)h(")g(legs.")630 781 y Fu(If)25 b(the)h(`)p Ft(;;)p Fu(')g(op)s(erator)g(is)g(used,)g(no)g(subsequen)m (t)f(matc)m(hes)i(are)f(attempted)h(after)g(the)f(\014rst)630 -669 y(pattern)g(matc)m(h.)40 b(Using)26 b(`)p Ft(;&)p +891 y(pattern)g(matc)m(h.)40 b(Using)26 b(`)p Ft(;&)p Fu(')f(in)h(place)g(of)g(`)p Ft(;;)p Fu(')g(causes)g(execution)h(to)f -(con)m(tin)m(ue)h(with)f(the)630 779 y Fr(command-list)39 +(con)m(tin)m(ue)h(with)f(the)630 1000 y Fr(command-list)39 b Fu(asso)s(ciated)f(with)e(the)g(next)g(clause,)j(if)d(an)m(y)-8 b(.)59 b(Using)37 b(`)p Ft(;;&)p Fu(')f(in)g(place)h(of)630 -889 y(`)p Ft(;;)p Fu(')30 b(causes)g(the)g(shell)g(to)g(test)h(the)f +1110 y(`)p Ft(;;)p Fu(')30 b(causes)g(the)g(shell)g(to)g(test)h(the)f (patterns)g(in)f(the)h(next)g(clause,)h(if)e(an)m(y)-8 -b(,)31 b(and)f(execute)630 998 y(an)m(y)h(asso)s(ciated)h +b(,)31 b(and)f(execute)630 1219 y(an)m(y)h(asso)s(ciated)h Fr(command-list)h Fu(on)d(a)h(successful)f(matc)m(h.)630 -1129 y(The)c(return)f(status)h(is)g(zero)h(if)f(no)g +1351 y(The)c(return)f(status)h(is)g(zero)h(if)f(no)g Fr(pattern)g Fu(is)g(matc)m(hed.)40 b(Otherwise,)27 b(the)g(return)e -(status)630 1238 y(is)30 b(the)h(exit)g(status)g(of)f(the)h -Fr(command-list)i Fu(executed.)150 1390 y Ft(select)630 -1520 y Fu(The)g Ft(select)f Fu(construct)i(allo)m(ws)h(the)f(easy)g +(status)630 1461 y(is)30 b(the)h(exit)g(status)g(of)f(the)h +Fr(command-list)i Fu(executed.)150 1614 y Ft(select)630 +1745 y Fu(The)g Ft(select)f Fu(construct)i(allo)m(ws)h(the)f(easy)g (generation)h(of)e(men)m(us.)50 b(It)34 b(has)f(almost)i(the)630 -1630 y(same)c(syn)m(tax)g(as)f(the)h Ft(for)e Fu(command:)870 -1760 y Ft(select)46 b Fj(name)h Ft([in)g Fj(words)f Ft(...)o(];)h(do)h -Fj(commands)p Ft(;)d(done)630 1891 y Fu(The)25 b(list)h(of)f(w)m(ords)g +1855 y(same)c(syn)m(tax)g(as)f(the)h Ft(for)e Fu(command:)870 +1987 y Ft(select)46 b Fj(name)h Ft([in)g Fj(words)f Ft(...)o(];)h(do)h +Fj(commands)p Ft(;)d(done)630 2118 y Fu(The)25 b(list)h(of)f(w)m(ords)g (follo)m(wing)i Ft(in)d Fu(is)h(expanded,)h(generating)h(a)e(list)h(of) -g(items.)39 b(The)25 b(set)h(of)630 2000 y(expanded)i(w)m(ords)h(is)g +g(items.)39 b(The)25 b(set)h(of)630 2228 y(expanded)i(w)m(ords)h(is)g (prin)m(ted)f(on)h(the)g(standard)f(error)h(output)f(stream,)i(eac)m(h) -g(preceded)630 2110 y(b)m(y)21 b(a)g(n)m(um)m(b)s(er.)37 +g(preceded)630 2337 y(b)m(y)21 b(a)g(n)m(um)m(b)s(er.)37 b(If)20 b(the)i(`)p Ft(in)30 b Fj(words)p Fu(')20 b(is)h(omitted,)j (the)d(p)s(ositional)h(parameters)g(are)f(prin)m(ted,)630 -2219 y(as)28 b(if)f(`)p Ft(in)j("$@")p Fu(')d(had)f(b)s(een)h(sp)s +2447 y(as)28 b(if)f(`)p Ft(in)j("$@")p Fu(')d(had)f(b)s(een)h(sp)s (eci\014ed.)39 b(The)27 b Ft(PS3)g Fu(prompt)f(is)i(then)f(displa)m(y)m -(ed)h(and)f(a)h(line)630 2329 y(is)h(read)f(from)h(the)f(standard)g +(ed)h(and)f(a)h(line)630 2556 y(is)h(read)f(from)h(the)f(standard)g (input.)39 b(If)29 b(the)g(line)g(consists)g(of)g(a)g(n)m(um)m(b)s(er)e -(corresp)s(onding)630 2438 y(to)36 b(one)f(of)h(the)f(displa)m(y)m(ed)h +(corresp)s(onding)630 2666 y(to)36 b(one)f(of)h(the)f(displa)m(y)m(ed)h (w)m(ords,)g(then)f(the)g(v)-5 b(alue)36 b(of)f Fr(name)40 -b Fu(is)35 b(set)h(to)g(that)g(w)m(ord.)54 b(If)630 2548 +b Fu(is)35 b(set)h(to)g(that)g(w)m(ord.)54 b(If)630 2776 y(the)37 b(line)h(is)f(empt)m(y)-8 b(,)39 b(the)e(w)m(ords)g(and)f (prompt)g(are)i(displa)m(y)m(ed)f(again.)62 b(If)37 b -Ft(EOF)f Fu(is)h(read,)630 2658 y(the)c Ft(select)e Fu(command)i +Ft(EOF)f Fu(is)h(read,)630 2885 y(the)c Ft(select)e Fu(command)i (completes.)50 b(An)m(y)33 b(other)g(v)-5 b(alue)33 b(read)g(causes)g -Fr(name)38 b Fu(to)c(b)s(e)e(set)630 2767 y(to)f(n)m(ull.)41 +Fr(name)38 b Fu(to)c(b)s(e)e(set)630 2995 y(to)f(n)m(ull.)41 b(The)30 b(line)g(read)h(is)f(sa)m(v)m(ed)h(in)g(the)f(v)-5 -b(ariable)31 b Ft(REPLY)p Fu(.)630 2898 y(The)42 b Fr(commands)j +b(ariable)31 b Ft(REPLY)p Fu(.)630 3126 y(The)42 b Fr(commands)j Fu(are)d(executed)h(after)g(eac)m(h)g(selection)h(un)m(til)e(a)h -Ft(break)d Fu(command)i(is)630 3007 y(executed,)32 b(at)f(whic)m(h)f(p) +Ft(break)d Fu(command)i(is)630 3236 y(executed,)32 b(at)f(whic)m(h)f(p) s(oin)m(t)g(the)h Ft(select)d Fu(command)i(completes.)630 -3138 y(Here)39 b(is)g(an)g(example)h(that)f(allo)m(ws)i(the)e(user)f +3367 y(Here)39 b(is)g(an)g(example)h(that)f(allo)m(ws)i(the)e(user)f (to)i(pic)m(k)f(a)g(\014lename)h(from)e(the)h(curren)m(t)630 -3247 y(directory)-8 b(,)32 b(and)d(displa)m(ys)i(the)f(name)h(and)f -(index)f(of)i(the)g(\014le)f(selected.)870 3378 y Ft(select)46 -b(fname)g(in)i(*;)870 3487 y(do)870 3597 y(echo)f(you)g(picked)f -($fname)g(\\\($REPLY\\\))870 3707 y(break;)870 3816 y(done)150 -3968 y(\(\(...)o(\)\))870 4098 y(\(\()h Fj(expression)e -Ft(\)\))630 4228 y Fu(The)33 b(arithmetic)i Fr(expression)f +3477 y(directory)-8 b(,)32 b(and)d(displa)m(ys)i(the)f(name)h(and)f +(index)f(of)i(the)g(\014le)f(selected.)870 3608 y Ft(select)46 +b(fname)g(in)i(*;)870 3718 y(do)870 3828 y(echo)f(you)g(picked)f +($fname)g(\\\($REPLY\\\))870 3937 y(break;)870 4047 y(done)150 +4200 y(\(\(...)o(\)\))870 4332 y(\(\()h Fj(expression)e +Ft(\)\))630 4463 y Fu(The)33 b(arithmetic)i Fr(expression)f Fu(is)f(ev)-5 b(aluated)35 b(according)g(to)f(the)g(rules)f(describ)s -(ed)g(b)s(elo)m(w)630 4338 y(\(see)j(Section)f(6.5)h([Shell)f +(ed)g(b)s(elo)m(w)630 4573 y(\(see)j(Section)f(6.5)h([Shell)f (Arithmetic],)i(page)f(91\).)55 b(If)34 b(the)h(v)-5 -b(alue)35 b(of)g(the)g(expression)g(is)630 4448 y(non-zero,)27 +b(alue)35 b(of)g(the)g(expression)g(is)630 4682 y(non-zero,)27 b(the)f(return)e(status)i(is)g(0;)h(otherwise)f(the)g(return)e(status)i -(is)g(1.)39 b(This)25 b(is)g(exactly)630 4557 y(equiv)-5 -b(alen)m(t)32 b(to)870 4688 y Ft(let)47 b(")p Fj(expression)p -Ft(")630 4818 y Fu(See)25 b(Section)h(4.2)h([Bash)e(Builtins],)i(page)f +(is)g(1.)39 b(This)25 b(is)g(exactly)630 4792 y(equiv)-5 +b(alen)m(t)32 b(to)870 4924 y Ft(let)47 b(")p Fj(expression)p +Ft(")630 5055 y Fu(See)25 b(Section)h(4.2)h([Bash)e(Builtins],)i(page)f (50,)i(for)c(a)i(full)f(description)g(of)g(the)h Ft(let)e -Fu(builtin.)150 4969 y Ft([[...)o(]])870 5100 y([[)47 -b Fj(expression)e Ft(]])630 5230 y Fu(Return)25 b(a)h(status)f(of)h(0)g -(or)g(1)g(dep)s(ending)e(on)h(the)h(ev)-5 b(aluation)27 -b(of)e(the)h(conditional)h(expres-)630 5340 y(sion)j -Fr(expression)p Fu(.)41 b(Expressions)29 b(are)i(comp)s(osed)f(of)g -(the)h(primaries)f(describ)s(ed)f(b)s(elo)m(w)h(in)p -eop end +Fu(builtin.)150 5208 y Ft([[...)o(]])870 5340 y([[)47 +b Fj(expression)e Ft(]])p eop end %%Page: 13 19 TeXDict begin 13 18 bop 150 -116 a Fu(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(13)630 299 -y(Section)36 b(6.4)h([Bash)f(Conditional)g(Expressions],)h(page)f(89.) -57 b(W)-8 b(ord)36 b(splitting)h(and)e(\014le-)630 408 -y(name)d(expansion)g(are)h(not)g(p)s(erformed)d(on)j(the)f(w)m(ords)g -(b)s(et)m(w)m(een)h(the)f Ft([[)g Fu(and)f Ft(]])p Fu(;)i(tilde)630 -518 y(expansion,)e(parameter)g(and)f(v)-5 b(ariable)31 -b(expansion,)g(arithmetic)g(expansion,)g(command)630 -628 y(substitution,)40 b(pro)s(cess)f(substitution,)h(and)e(quote)h +y(Return)25 b(a)h(status)f(of)h(0)g(or)g(1)g(dep)s(ending)e(on)h(the)h +(ev)-5 b(aluation)27 b(of)e(the)h(conditional)h(expres-)630 +408 y(sion)j Fr(expression)p Fu(.)41 b(Expressions)29 +b(are)i(comp)s(osed)f(of)g(the)h(primaries)f(describ)s(ed)f(b)s(elo)m +(w)h(in)630 518 y(Section)36 b(6.4)h([Bash)f(Conditional)g +(Expressions],)h(page)f(89.)57 b(W)-8 b(ord)36 b(splitting)h(and)e +(\014le-)630 628 y(name)d(expansion)g(are)h(not)g(p)s(erformed)d(on)j +(the)f(w)m(ords)g(b)s(et)m(w)m(een)h(the)f Ft([[)g Fu(and)f +Ft(]])p Fu(;)i(tilde)630 737 y(expansion,)e(parameter)g(and)f(v)-5 +b(ariable)31 b(expansion,)g(arithmetic)g(expansion,)g(command)630 +847 y(substitution,)40 b(pro)s(cess)f(substitution,)h(and)e(quote)h (remo)m(v)-5 b(al)40 b(are)f(p)s(erformed.)63 b(Condi-)630 -737 y(tional)32 b(op)s(erators)e(suc)m(h)g(as)h(`)p Ft(-f)p +956 y(tional)32 b(op)s(erators)e(suc)m(h)g(as)h(`)p Ft(-f)p Fu(')f(m)m(ust)g(b)s(e)g(unquoted)g(to)h(b)s(e)e(recognized)j(as)f -(primaries.)630 878 y(When)k(used)f(with)h Ft([[)p Fu(,)h(the)f(`)p +(primaries.)630 1097 y(When)k(used)f(with)h Ft([[)p Fu(,)h(the)f(`)p Ft(<)p Fu(')g(and)g(`)p Ft(>)p Fu(')g(op)s(erators)g(sort)g -(lexicographically)j(using)d(the)630 988 y(curren)m(t)30 -b(lo)s(cale.)630 1129 y(When)22 b(the)h(`)p Ft(==)p Fu(')f(and)g(`)p +(lexicographically)j(using)d(the)630 1207 y(curren)m(t)30 +b(lo)s(cale.)630 1348 y(When)22 b(the)h(`)p Ft(==)p Fu(')f(and)g(`)p Ft(!=)p Fu(')g(op)s(erators)h(are)g(used,)g(the)g(string)f(to)i(the)e -(righ)m(t)h(of)g(the)g(op)s(erator)630 1238 y(is)31 b(considered)g(a)h +(righ)m(t)h(of)g(the)g(op)s(erator)630 1457 y(is)31 b(considered)g(a)h (pattern)f(and)g(matc)m(hed)h(according)g(to)g(the)g(rules)f(describ)s -(ed)f(b)s(elo)m(w)h(in)630 1348 y(Section)d(3.5.8.1)h([P)m(attern)f -(Matc)m(hing],)h(page)f(32,)g(as)f(if)g(the)g Ft(extglob)d -Fu(shell)j(option)g(w)m(ere)630 1457 y(enabled.)46 b(The)31 +(ed)f(b)s(elo)m(w)h(in)630 1567 y(Section)d(3.5.8.1)h([P)m(attern)f +(Matc)m(hing],)h(page)f(33,)g(as)f(if)g(the)g Ft(extglob)d +Fu(shell)j(option)g(w)m(ere)630 1677 y(enabled.)46 b(The)31 b(`)p Ft(=)p Fu(')h(op)s(erator)h(is)f(iden)m(tical)h(to)g(`)p Ft(==)p Fu('.)46 b(If)31 b(the)h Ft(nocasematch)d Fu(shell)j(option)630 -1567 y(\(see)42 b(the)f(description)g(of)h Ft(shopt)d +1786 y(\(see)42 b(the)f(description)g(of)h Ft(shopt)d Fu(in)i(Section)h(4.3.2)h([The)e(Shopt)f(Builtin],)45 -b(page)d(65\))630 1677 y(is)e(enabled,)i(the)e(matc)m(h)h(is)e(p)s +b(page)d(65\))630 1896 y(is)e(enabled,)i(the)e(matc)m(h)h(is)e(p)s (erformed)g(without)g(regard)h(to)h(the)f(case)g(of)g(alphab)s(etic)630 -1786 y(c)m(haracters.)h(The)28 b(return)e(v)-5 b(alue)28 +2005 y(c)m(haracters.)h(The)28 b(return)e(v)-5 b(alue)28 b(is)g(0)g(if)g(the)g(string)g(matc)m(hes)h(\(`)p Ft(==)p -Fu('\))f(or)g(do)s(es)f(not)h(matc)m(h)630 1896 y(\(`)p -Ft(!=)p Fu('\)the)33 b(pattern,)g(and)f(1)g(otherwise.)47 -b(An)m(y)32 b(part)g(of)h(the)f(pattern)g(ma)m(y)h(b)s(e)f(quoted)g(to) -630 2005 y(force)f(the)g(quoted)f(p)s(ortion)g(to)h(b)s(e)f(matc)m(hed) -h(as)g(a)f(string.)630 2146 y(An)j(additional)i(binary)e(op)s(erator,)i +Fu('\))f(or)g(do)s(es)f(not)h(matc)m(h)630 2115 y(\(`)p +Ft(!=)p Fu('\))j(the)f(pattern,)h(and)e(1)i(otherwise.)41 +b(An)m(y)30 b(part)g(of)h(the)f(pattern)g(ma)m(y)h(b)s(e)f(quoted)g(to) +630 2225 y(force)h(the)g(quoted)f(p)s(ortion)g(to)h(b)s(e)f(matc)m(hed) +h(as)g(a)f(string.)630 2365 y(An)j(additional)i(binary)e(op)s(erator,)i (`)p Ft(=~)p Fu(',)g(is)f(a)m(v)-5 b(ailable,)37 b(with)c(the)h(same)g -(precedence)h(as)630 2256 y(`)p Ft(==)p Fu(')29 b(and)f(`)p -Ft(!=)p Fu('.)40 b(When)29 b(it)g(is)g(used,)f(the)h(string)g(to)h(the) -e(righ)m(t)i(of)f(the)g(op)s(erator)g(is)g(consid-)630 -2365 y(ered)34 b(an)g(extended)g(regular)g(expression)g(and)f(matc)m -(hed)i(accordingly)g(\(as)f(in)g Fl(r)-5 b(e)g(gex)11 -b Fu(3\)\).)630 2475 y(The)29 b(return)f(v)-5 b(alue)30 -b(is)g(0)g(if)f(the)h(string)g(matc)m(hes)g(the)g(pattern,)g(and)f(1)h -(otherwise.)41 b(If)29 b(the)630 2585 y(regular)e(expression)g(is)h -(syn)m(tactically)i(incorrect,)f(the)e(conditional)i(expression's)e -(return)630 2694 y(v)-5 b(alue)40 b(is)g(2.)68 b(If)39 -b(the)h Ft(nocasematch)c Fu(shell)k(option)g(\(see)g(the)g(description) -g(of)f Ft(shopt)f Fu(in)630 2804 y(Section)32 b(4.3.2)g([The)f(Shopt)f -(Builtin],)i(page)g(65\))g(is)f(enabled,)g(the)g(matc)m(h)h(is)e(p)s -(erformed)630 2913 y(without)36 b(regard)g(to)h(the)f(case)h(of)f -(alphab)s(etic)h(c)m(haracters.)59 b(An)m(y)36 b(part)g(of)h(the)f -(pattern)630 3023 y(ma)m(y)31 b(b)s(e)f(quoted)h(to)g(force)g(the)g -(quoted)g(p)s(ortion)f(to)h(b)s(e)f(matc)m(hed)h(as)g(a)g(string.)41 -b(Brac)m(k)m(et)630 3133 y(expressions)27 b(in)f(regular)i(expressions) -e(m)m(ust)h(b)s(e)g(treated)h(carefully)-8 b(,)29 b(since)e(normal)g -(quot-)630 3242 y(ing)38 b(c)m(haracters)h(lose)f(their)g(meanings)f(b) -s(et)m(w)m(een)h(brac)m(k)m(ets.)64 b(If)37 b(the)h(pattern)f(is)h -(stored)630 3352 y(in)33 b(a)i(shell)f(v)-5 b(ariable,)35 -b(quoting)f(the)g(v)-5 b(ariable)35 b(expansion)e(forces)i(the)f(en)m -(tire)g(pattern)g(to)630 3461 y(b)s(e)h(matc)m(hed)i(as)f(a)g(string.) -56 b(Substrings)34 b(matc)m(hed)j(b)m(y)f(paren)m(thesized)g(sub)s -(expressions)630 3571 y(within)k(the)g(regular)g(expression)g(are)g(sa) -m(v)m(ed)i(in)d(the)i(arra)m(y)f(v)-5 b(ariable)41 b -Ft(BASH_REMATCH)p Fu(.)630 3680 y(The)30 b(elemen)m(t)i(of)e -Ft(BASH_REMATCH)d Fu(with)j(index)g(0)h(is)g(the)f(p)s(ortion)g(of)h -(the)f(string)h(matc)m(h-)630 3790 y(ing)j(the)g(en)m(tire)g(regular)g -(expression.)50 b(The)34 b(elemen)m(t)h(of)f Ft(BASH_REMATCH)c -Fu(with)j(index)g Fr(n)630 3900 y Fu(is)d(the)h(p)s(ortion)f(of)g(the)h -(string)f(matc)m(hing)i(the)e Fr(n)p Fu(th)g(paren)m(thesized)h(sub)s -(expression.)630 4041 y(F)-8 b(or)28 b(example,)h(the)e(follo)m(wing)i +(precedence)h(as)630 2475 y(`)p Ft(==)p Fu(')g(and)g(`)p +Ft(!=)p Fu('.)55 b(When)35 b(it)g(is)h(used,)f(the)h(string)f(to)h(the) +f(righ)m(t)h(of)f(the)h(op)s(erator)f(is)g(con-)630 2585 +y(sidered)43 b(a)h Fm(POSIX)f Fu(extended)h(regular)g(expression)f(and) +g(matc)m(hed)i(accordingly)f(\(as)630 2694 y(in)d Fl(r)-5 +b(e)g(gex)11 b Fu(3\)\).)76 b(The)41 b(return)f(v)-5 +b(alue)42 b(is)g(0)f(if)h(the)f(string)h(matc)m(hes)g(the)g(pattern,)j +(and)c(1)630 2804 y(otherwise.)59 b(If)35 b(the)i(regular)f(expression) +g(is)g(syn)m(tactically)j(incorrect,)g(the)e(conditional)630 +2913 y(expression's)27 b(return)f(v)-5 b(alue)28 b(is)f(2.)40 +b(If)27 b(the)g Ft(nocasematch)e Fu(shell)i(option)h(\(see)g(the)f +(descrip-)630 3023 y(tion)41 b(of)g Ft(shopt)f Fu(in)h(Section)g(4.3.2) +i([The)e(Shopt)f(Builtin],)k(page)e(65\))g(is)f(enabled,)j(the)630 +3133 y(matc)m(h)36 b(is)f(p)s(erformed)e(without)i(regard)g(to)h(the)f +(case)h(of)f(alphab)s(etic)g(c)m(haracters.)56 b(An)m(y)630 +3242 y(part)25 b(of)h(the)g(pattern)f(ma)m(y)h(b)s(e)f(quoted)h(to)g +(force)g(the)g(quoted)f(p)s(ortion)g(to)i(b)s(e)d(matc)m(hed)j(as)630 +3352 y(a)34 b(string.)49 b(Brac)m(k)m(et)36 b(expressions)c(in)h +(regular)h(expressions)f(m)m(ust)g(b)s(e)f(treated)j(carefully)-8 +b(,)630 3461 y(since)37 b(normal)f(quoting)h(c)m(haracters)g(lose)g +(their)g(meanings)f(b)s(et)m(w)m(een)h(brac)m(k)m(ets.)60 +b(If)36 b(the)630 3571 y(pattern)e(is)g(stored)g(in)f(a)i(shell)f(v)-5 +b(ariable,)36 b(quoting)e(the)g(v)-5 b(ariable)35 b(expansion)e(forces) +i(the)630 3680 y(en)m(tire)30 b(pattern)e(to)i(b)s(e)e(matc)m(hed)h(as) +g(a)g(string.)40 b(Substrings)27 b(matc)m(hed)j(b)m(y)e(paren)m +(thesized)630 3790 y(sub)s(expressions)40 b(within)h(the)g(regular)h +(expression)f(are)h(sa)m(v)m(ed)h(in)e(the)h(arra)m(y)g(v)-5 +b(ariable)630 3900 y Ft(BASH_REMATCH)p Fu(.)56 b(The)37 +b(elemen)m(t)h(of)f Ft(BASH_REMATCH)c Fu(with)j(index)h(0)g(is)g(the)f +(p)s(ortion)h(of)630 4009 y(the)22 b(string)f(matc)m(hing)h(the)g(en)m +(tire)g(regular)g(expression.)37 b(The)21 b(elemen)m(t)i(of)e +Ft(BASH_REMATCH)630 4119 y Fu(with)26 b(index)h Fr(n)f +Fu(is)h(the)g(p)s(ortion)f(of)h(the)g(string)g(matc)m(hing)h(the)f +Fr(n)p Fu(th)f(paren)m(thesized)h(sub)s(ex-)630 4228 +y(pression.)630 4369 y(F)-8 b(or)28 b(example,)h(the)e(follo)m(wing)i (will)e(matc)m(h)h(a)g(line)f(\(stored)h(in)e(the)i(shell)f(v)-5 -b(ariable)28 b Fr(line)5 b Fu(\))28 b(if)630 4150 y(there)22 +b(ariable)28 b Fr(line)5 b Fu(\))28 b(if)630 4479 y(there)22 b(is)g(a)h(sequence)f(of)h(c)m(haracters)g(in)f(the)g(v)-5 b(alue)23 b(consisting)g(of)f(an)m(y)h(n)m(um)m(b)s(er,)f(including)630 -4260 y(zero,)31 b(of)g(space)g(c)m(haracters,)h(zero)f(or)g(one)f +4589 y(zero,)31 b(of)g(space)g(c)m(haracters,)h(zero)f(or)g(one)f (instances)h(of)g(`)p Ft(a)p Fu(',)f(then)g(a)h(`)p Ft(b)p -Fu(':)870 4401 y Ft([[)47 b($line)g(=~)g([[:space:]]*?\(a\)b)c(]])630 -4542 y Fu(That)24 b(means)g(v)-5 b(alues)24 b(lik)m(e)h(`)p +Fu(':)870 4729 y Ft([[)47 b($line)g(=~)g([[:space:]]*?\(a\)b)c(]])630 +4870 y Fu(That)24 b(means)g(v)-5 b(alues)24 b(lik)m(e)h(`)p Ft(aab)p Fu(')e(and)h(`)30 b Ft(aaaaaab)p Fu(')22 b(will)i(matc)m(h,)j -(as)d(will)g(a)g(line)g(con)m(taining)630 4651 y(a)31 +(as)d(will)g(a)g(line)g(con)m(taining)630 4980 y(a)31 b(`)p Ft(b)p Fu(')f(an)m(ywhere)h(in)f(its)g(v)-5 b(alue.)630 -4792 y(Storing)31 b(the)g(regular)g(expression)f(in)h(a)g(shell)g(v)-5 +5121 y(Storing)31 b(the)g(regular)g(expression)f(in)h(a)g(shell)g(v)-5 b(ariable)31 b(is)g(often)g(a)g(useful)f(w)m(a)m(y)i(to)f(a)m(v)m(oid) -630 4902 y(problems)f(with)g(quoting)h(c)m(haracters)i(that)e(are)g(sp) +630 5230 y(problems)f(with)g(quoting)h(c)m(haracters)i(that)e(are)g(sp) s(ecial)g(to)h(the)f(shell.)41 b(It)31 b(is)g(sometimes)630 -5011 y(di\016cult)24 b(to)h(sp)s(ecify)f(a)h(regular)g(expression)f -(literally)i(without)f(using)e(quotes,)k(or)d(to)h(k)m(eep)630 -5121 y(trac)m(k)33 b(of)g(the)f(quoting)g(used)g(b)m(y)g(regular)g +5340 y(di\016cult)24 b(to)h(sp)s(ecify)f(a)h(regular)g(expression)f +(literally)i(without)f(using)e(quotes,)k(or)d(to)h(k)m(eep)p +eop end +%%Page: 14 20 +TeXDict begin 14 19 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(14)630 299 +y(trac)m(k)33 b(of)g(the)f(quoting)g(used)g(b)m(y)g(regular)g (expressions)g(while)g(pa)m(ying)h(atten)m(tion)h(to)f(the)630 -5230 y(shell's)25 b(quote)g(remo)m(v)-5 b(al.)40 b(Using)25 +408 y(shell's)25 b(quote)g(remo)m(v)-5 b(al.)40 b(Using)25 b(a)g(shell)g(v)-5 b(ariable)26 b(to)f(store)g(the)g(pattern)g -(decreases)g(these)630 5340 y(problems.)40 b(F)-8 b(or)31 +(decreases)g(these)630 518 y(problems.)40 b(F)-8 b(or)31 b(example,)g(the)g(follo)m(wing)h(is)e(equiv)-5 b(alen)m(t)32 -b(to)f(the)g(ab)s(o)m(v)m(e:)p eop end -%%Page: 14 20 -TeXDict begin 14 19 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(14)870 299 -y Ft(pattern='[[:space:]]*?\(a)o(\)b')870 408 y([[)47 -b($line)g(=~)g($pattern)e(]])630 543 y Fu(If)28 b(y)m(ou)h(w)m(an)m(t)g -(to)g(matc)m(h)h(a)e(c)m(haracter)j(that's)e(sp)s(ecial)g(to)g(the)g -(regular)f(expression)g(gram-)630 652 y(mar,)g(it)g(has)g(to)g(b)s(e)f -(quoted)h(to)g(remo)m(v)m(e)h(its)f(sp)s(ecial)g(meaning.)40 -b(This)27 b(means)g(that)h(in)g(the)630 762 y(pattern)e(`)p -Ft(xxx.txt)p Fu(',)g(the)h(`)p Ft(.)p Fu(')f(matc)m(hes)i(an)m(y)e(c)m -(haracter)i(in)e(the)h(string)f(\(its)h(usual)f(regular)630 -872 y(expression)g(meaning\),)i(but)e(in)g(the)h(pattern)f(`)p -Ft("xxx.txt")p Fu(')f(it)i(can)g(only)f(matc)m(h)i(a)e(literal)630 -981 y(`)p Ft(.)p Fu('.)56 b(Shell)35 b(programmers)f(should)h(tak)m(e)i -(sp)s(ecial)e(care)i(with)e(bac)m(kslashes,)i(since)f(bac)m(k-)630 -1091 y(slashes)27 b(are)g(used)f(b)s(oth)g(b)m(y)h(the)f(shell)h(and)f -(regular)h(expressions)g(to)g(remo)m(v)m(e)h(the)f(sp)s(ecial)630 -1200 y(meaning)h(from)f(the)h(follo)m(wing)i(c)m(haracter.)41 -b(The)27 b(follo)m(wing)j(t)m(w)m(o)f(sets)f(of)g(commands)g(are)630 -1310 y Fl(not)40 b Fu(equiv)-5 b(alen)m(t:)870 1444 y -Ft(pattern='\\.')870 1663 y([[)47 b(.)h(=~)f($pattern)e(]])870 -1773 y([[)i(.)h(=~)f(\\.)g(]])870 1992 y([[)g(.)h(=~)f("$pattern")e(]]) -870 2102 y([[)i(.)h(=~)f('\\.')f(]])630 2236 y Fu(The)28 -b(\014rst)h(t)m(w)m(o)h(matc)m(hes)g(will)f(succeed,)h(but)f(the)g -(second)g(t)m(w)m(o)h(will)f(not,)h(b)s(ecause)f(in)g(the)630 -2346 y(second)39 b(t)m(w)m(o)i(the)e(bac)m(kslash)h(will)f(b)s(e)g -(part)g(of)g(the)h(pattern)f(to)h(b)s(e)e(matc)m(hed.)68 -b(In)39 b(the)630 2455 y(\014rst)31 b(t)m(w)m(o)h(examples,)h(the)e +b(to)f(the)g(ab)s(o)m(v)m(e:)870 649 y Ft(pattern='[[:space:]]*?\(a)o +(\)b')870 758 y([[)47 b($line)g(=~)g($pattern)e(]])630 +889 y Fu(If)28 b(y)m(ou)h(w)m(an)m(t)g(to)g(matc)m(h)h(a)e(c)m +(haracter)j(that's)e(sp)s(ecial)g(to)g(the)g(regular)f(expression)g +(gram-)630 999 y(mar,)g(it)g(has)g(to)g(b)s(e)f(quoted)h(to)g(remo)m(v) +m(e)h(its)f(sp)s(ecial)g(meaning.)40 b(This)27 b(means)g(that)h(in)g +(the)630 1108 y(pattern)e(`)p Ft(xxx.txt)p Fu(',)g(the)h(`)p +Ft(.)p Fu(')f(matc)m(hes)i(an)m(y)e(c)m(haracter)i(in)e(the)h(string)f +(\(its)h(usual)f(regular)630 1218 y(expression)g(meaning\),)i(but)e(in) +g(the)h(pattern)f(`)p Ft("xxx.txt")p Fu(')f(it)i(can)g(only)f(matc)m(h) +i(a)e(literal)630 1328 y(`)p Ft(.)p Fu('.)56 b(Shell)35 +b(programmers)f(should)h(tak)m(e)i(sp)s(ecial)e(care)i(with)e(bac)m +(kslashes,)i(since)f(bac)m(k-)630 1437 y(slashes)27 b(are)g(used)f(b)s +(oth)g(b)m(y)h(the)f(shell)h(and)f(regular)h(expressions)g(to)g(remo)m +(v)m(e)h(the)f(sp)s(ecial)630 1547 y(meaning)h(from)f(the)h(follo)m +(wing)i(c)m(haracter.)41 b(The)27 b(follo)m(wing)j(t)m(w)m(o)f(sets)f +(of)g(commands)g(are)630 1656 y Fl(not)40 b Fu(equiv)-5 +b(alen)m(t:)870 1787 y Ft(pattern='\\.')870 2006 y([[)47 +b(.)h(=~)f($pattern)e(]])870 2116 y([[)i(.)h(=~)f(\\.)g(]])870 +2335 y([[)g(.)h(=~)f("$pattern")e(]])870 2445 y([[)i(.)h(=~)f('\\.')f +(]])630 2576 y Fu(The)28 b(\014rst)h(t)m(w)m(o)h(matc)m(hes)g(will)f +(succeed,)h(but)f(the)g(second)g(t)m(w)m(o)h(will)f(not,)h(b)s(ecause)f +(in)g(the)630 2685 y(second)39 b(t)m(w)m(o)i(the)e(bac)m(kslash)h(will) +f(b)s(e)g(part)g(of)g(the)h(pattern)f(to)h(b)s(e)e(matc)m(hed.)68 +b(In)39 b(the)630 2795 y(\014rst)31 b(t)m(w)m(o)h(examples,)h(the)e (bac)m(kslash)h(remo)m(v)m(es)h(the)f(sp)s(ecial)g(meaning)f(from)g(`)p -Ft(.)p Fu(',)h(so)g(the)630 2565 y(literal)f(`)p Ft(.)p +Ft(.)p Fu(',)h(so)g(the)630 2904 y(literal)f(`)p Ft(.)p Fu(')e(matc)m(hes.)42 b(If)28 b(the)i(string)f(in)g(the)g(\014rst)g (examples)g(w)m(ere)h(an)m(ything)g(other)f(than)630 -2675 y(`)p Ft(.)p Fu(',)g(sa)m(y)g(`)p Ft(a)p Fu(',)g(the)f(pattern)g +3014 y(`)p Ft(.)p Fu(',)g(sa)m(y)g(`)p Ft(a)p Fu(',)g(the)f(pattern)g (w)m(ould)g(not)h(matc)m(h,)h(b)s(ecause)e(the)g(quoted)g(`)p -Ft(.)p Fu(')h(in)e(the)i(pattern)630 2784 y(loses)i(its)g(sp)s(ecial)g +Ft(.)p Fu(')h(in)e(the)i(pattern)630 3124 y(loses)i(its)g(sp)s(ecial)g (meaning)f(of)h(matc)m(hing)g(an)m(y)g(single)g(c)m(haracter.)630 -2919 y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i(using)f(the)h +3254 y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i(using)f(the)h (follo)m(wing)h(op)s(erators,)g(listed)f(in)f(decreasing)630 -3028 y(order)30 b(of)g(precedence:)630 3187 y Ft(\()g -Fj(expression)e Ft(\))1110 3297 y Fu(Returns)i(the)h(v)-5 +3364 y(order)30 b(of)g(precedence:)630 3516 y Ft(\()g +Fj(expression)e Ft(\))1110 3626 y Fu(Returns)i(the)h(v)-5 b(alue)31 b(of)g Fr(expression)p Fu(.)42 b(This)30 b(ma)m(y)i(b)s(e)e -(used)g(to)i(o)m(v)m(erride)g(the)1110 3406 y(normal)e(precedence)h(of) -g(op)s(erators.)630 3566 y Ft(!)f Fj(expression)1110 -3675 y Fu(T)-8 b(rue)30 b(if)g Fr(expression)g Fu(is)h(false.)630 -3834 y Fj(expression1)c Ft(&&)j Fj(expression2)1110 3944 +(used)g(to)i(o)m(v)m(erride)g(the)1110 3735 y(normal)e(precedence)h(of) +g(op)s(erators.)630 3887 y Ft(!)f Fj(expression)1110 +3997 y Fu(T)-8 b(rue)30 b(if)g Fr(expression)g Fu(is)h(false.)630 +4149 y Fj(expression1)c Ft(&&)j Fj(expression2)1110 4259 y Fu(T)-8 b(rue)30 b(if)g(b)s(oth)g Fr(expression1)38 b Fu(and)29 b Fr(expression2)38 b Fu(are)31 b(true.)630 -4103 y Fj(expression1)c Ft(||)j Fj(expression2)1110 4213 +4411 y Fj(expression1)c Ft(||)j Fj(expression2)1110 4520 y Fu(T)-8 b(rue)30 b(if)g(either)h Fr(expression1)38 b Fu(or)30 b Fr(expression2)38 b Fu(is)30 b(true.)630 -4372 y(The)24 b Ft(&&)h Fu(and)f Ft(||)g Fu(op)s(erators)h(do)g(not)g +4672 y(The)24 b Ft(&&)h Fu(and)f Ft(||)g Fu(op)s(erators)h(do)g(not)g (ev)-5 b(aluate)27 b Fr(expression2)32 b Fu(if)25 b(the)g(v)-5 -b(alue)25 b(of)g Fr(expression1)630 4481 y Fu(is)30 b(su\016cien)m(t)h +b(alue)25 b(of)g Fr(expression1)630 4782 y Fu(is)30 b(su\016cien)m(t)h (to)g(determine)g(the)f(return)g(v)-5 b(alue)31 b(of)f(the)h(en)m(tire) -g(conditional)h(expression.)150 4680 y Fk(3.2.4.3)63 -b(Grouping)43 b(Commands)150 4827 y Fu(Bash)30 b(pro)m(vides)g(t)m(w)m +g(conditional)h(expression.)150 4974 y Fk(3.2.4.3)63 +b(Grouping)43 b(Commands)150 5121 y Fu(Bash)30 b(pro)m(vides)g(t)m(w)m (o)h(w)m(a)m(ys)f(to)h(group)e(a)h(list)g(of)g(commands)f(to)i(b)s(e)e -(executed)h(as)g(a)h(unit.)40 b(When)29 b(com-)150 4937 +(executed)h(as)g(a)h(unit.)40 b(When)29 b(com-)150 5230 y(mands)h(are)i(group)s(ed,)f(redirections)h(ma)m(y)g(b)s(e)e(applied)i (to)g(the)f(en)m(tire)h(command)g(list.)44 b(F)-8 b(or)32 -b(example,)150 5046 y(the)f(output)f(of)g(all)h(the)g(commands)f(in)g -(the)h(list)g(ma)m(y)g(b)s(e)e(redirected)i(to)g(a)g(single)g(stream.) -150 5206 y Ft(\(\))870 5340 y(\()47 b Fj(list)g Ft(\))p +b(example,)150 5340 y(the)f(output)f(of)g(all)h(the)g(commands)f(in)g +(the)h(list)g(ma)m(y)g(b)s(e)e(redirected)i(to)g(a)g(single)g(stream.)p eop end %%Page: 15 21 TeXDict begin 15 20 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(15)630 299 -y(Placing)30 b(a)f(list)g(of)g(commands)f(b)s(et)m(w)m(een)i(paren)m +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(15)150 299 +y Ft(\(\))870 437 y(\()47 b Fj(list)g Ft(\))630 574 y +Fu(Placing)30 b(a)f(list)g(of)g(commands)f(b)s(et)m(w)m(een)i(paren)m (theses)e(causes)i(a)f(subshell)e(en)m(vironmen)m(t)630 -408 y(to)k(b)s(e)e(created)j(\(see)f(Section)g(3.7.3)h([Command)d -(Execution)i(En)m(vironmen)m(t],)g(page)f(38\),)630 518 +684 y(to)k(b)s(e)e(created)j(\(see)f(Section)g(3.7.3)h([Command)d +(Execution)i(En)m(vironmen)m(t],)g(page)f(39\),)630 793 y(and)d(eac)m(h)h(of)g(the)f(commands)g(in)g Fr(list)j Fu(to)f(b)s(e)d(executed)j(in)e(that)h(subshell.)38 b(Since)28 -b(the)f Fr(list)630 628 y Fu(is)i(executed)g(in)f(a)h(subshell,)g(v)-5 +b(the)f Fr(list)630 903 y Fu(is)i(executed)g(in)f(a)h(subshell,)g(v)-5 b(ariable)29 b(assignmen)m(ts)g(do)g(not)g(remain)f(in)g(e\013ect)j -(after)e(the)630 737 y(subshell)g(completes.)150 905 -y Ft({})870 1044 y({)47 b Fj(list)p Ft(;)g(})630 1183 +(after)e(the)630 1013 y(subshell)g(completes.)150 1178 +y Ft({})870 1316 y({)47 b Fj(list)p Ft(;)g(})630 1453 y Fu(Placing)30 b(a)g(list)g(of)g(commands)f(b)s(et)m(w)m(een)h(curly)f (braces)g(causes)h(the)f(list)h(to)g(b)s(e)f(executed)630 -1292 y(in)d(the)h(curren)m(t)g(shell)f(con)m(text.)42 +1563 y(in)d(the)h(curren)m(t)g(shell)f(con)m(text.)42 b(No)27 b(subshell)f(is)g(created.)41 b(The)26 b(semicolon)i(\(or)f -(newline\))630 1402 y(follo)m(wing)32 b Fr(list)h Fu(is)d(required.)275 -1574 y(In)44 b(addition)h(to)h(the)f(creation)i(of)e(a)g(subshell,)j +(newline\))630 1673 y(follo)m(wing)32 b Fr(list)h Fu(is)d(required.)275 +1841 y(In)44 b(addition)h(to)h(the)f(creation)i(of)e(a)g(subshell,)j (there)e(is)f(a)g(subtle)g(di\013erence)h(b)s(et)m(w)m(een)f(these)150 -1683 y(t)m(w)m(o)c(constructs)e(due)g(to)g(historical)i(reasons.)67 +1951 y(t)m(w)m(o)c(constructs)e(due)g(to)g(historical)i(reasons.)67 b(The)39 b(braces)g(are)h Ft(reserved)28 b(words)p Fu(,)40 -b(so)g(they)f(m)m(ust)150 1793 y(b)s(e)d(separated)h(from)f(the)g +b(so)g(they)f(m)m(ust)150 2061 y(b)s(e)d(separated)h(from)f(the)g Fr(list)j Fu(b)m(y)e Ft(blank)p Fu(s)e(or)h(other)h(shell)f(metac)m -(haracters.)62 b(The)36 b(paren)m(theses)h(are)150 1903 +(haracters.)62 b(The)36 b(paren)m(theses)h(are)150 2170 y Ft(operators)p Fu(,)23 b(and)h(are)g(recognized)i(as)e(separate)i (tok)m(ens)f(b)m(y)f(the)g(shell)h(ev)m(en)g(if)f(they)g(are)h(not)f -(separated)150 2012 y(from)30 b(the)g Fr(list)j Fu(b)m(y)e(whitespace.) -275 2155 y(The)e(exit)j(status)e(of)h(b)s(oth)f(of)g(these)h +(separated)150 2280 y(from)30 b(the)g Fr(list)j Fu(b)m(y)e(whitespace.) +275 2421 y(The)e(exit)j(status)e(of)h(b)s(oth)f(of)g(these)h (constructs)g(is)f(the)h(exit)g(status)f(of)h Fr(list)p -Fu(.)150 2363 y Fk(3.2.5)63 b(Copro)s(cesses)150 2510 +Fu(.)150 2626 y Fk(3.2.5)63 b(Copro)s(cesses)150 2773 y Fu(A)37 b Ft(coprocess)c Fu(is)k(a)g(shell)f(command)h(preceded)f(b)m (y)g(the)h Ft(coproc)d Fu(reserv)m(ed)j(w)m(ord.)59 b(A)36 -b(copro)s(cess)h(is)150 2619 y(executed)g(async)m(hronously)g(in)f(a)h +b(copro)s(cess)h(is)150 2883 y(executed)g(async)m(hronously)g(in)f(a)h (subshell,)g(as)g(if)g(the)f(command)h(had)f(b)s(een)f(terminated)i -(with)g(the)150 2729 y(`)p Ft(&)p Fu(')d(con)m(trol)h(op)s(erator,)g +(with)g(the)150 2992 y(`)p Ft(&)p Fu(')d(con)m(trol)h(op)s(erator,)g (with)f(a)g(t)m(w)m(o-w)m(a)m(y)i(pip)s(e)d(established)h(b)s(et)m(w)m -(een)h(the)f(executing)h(shell)f(and)f(the)150 2838 y(copro)s(cess.)275 -2981 y(The)c(format)i(for)f(a)h(copro)s(cess)g(is:)390 -3124 y Ft(coproc)46 b([)p Fj(NAME)p Ft(])g Fj(command)g -Ft([)p Fj(redirections)p Ft(])150 3267 y Fu(This)39 b(creates)j(a)e +(een)h(the)f(executing)h(shell)f(and)f(the)150 3102 y(copro)s(cess.)275 +3243 y(The)c(format)i(for)f(a)h(copro)s(cess)g(is:)390 +3383 y Ft(coproc)46 b([)p Fj(NAME)p Ft(])g Fj(command)g +Ft([)p Fj(redirections)p Ft(])150 3524 y Fu(This)39 b(creates)j(a)e (copro)s(cess)h(named)f Fr(NAME)p Fu(.)70 b(If)40 b Fr(NAME)46 b Fu(is)40 b(not)g(supplied,)i(the)e(default)h(name)f(is)150 -3377 y Fr(COPR)m(OC)p Fu(.)d Fr(NAME)28 b Fu(m)m(ust)23 +3634 y Fr(COPR)m(OC)p Fu(.)d Fr(NAME)28 b Fu(m)m(ust)23 b(not)g(b)s(e)e(supplied)h(if)g Fr(command)k Fu(is)d(a)g(simple)f -(command)g(\(see)i(Section)f(3.2.1)150 3486 y([Simple)39 +(command)g(\(see)i(Section)f(3.2.1)150 3743 y([Simple)39 b(Commands],)h(page)g(8\);)k(otherwise,)e(it)d(is)g(in)m(terpreted)h (as)f(the)g(\014rst)f(w)m(ord)h(of)g(the)g(simple)150 -3596 y(command.)275 3739 y(When)j(the)i(copro)s(cess)f(is)g(executed,) +3853 y(command.)275 3994 y(When)j(the)i(copro)s(cess)f(is)g(executed,) 48 b(the)43 b(shell)g(creates)i(an)e(arra)m(y)g(v)-5 -b(ariable)44 b(\(see)g(Section)g(6.7)150 3849 y([Arra)m(ys],)32 +b(ariable)44 b(\(see)g(Section)g(6.7)150 4103 y([Arra)m(ys],)32 b(page)g(93\))h(named)e Ft(NAME)f Fu(in)h(the)h(con)m(text)h(of)e(the)h (executing)g(shell.)44 b(The)31 b(standard)f(output)150 -3958 y(of)39 b Fr(command)j Fu(is)d(connected)g(via)g(a)g(pip)s(e)f(to) +4213 y(of)39 b Fr(command)j Fu(is)d(connected)g(via)g(a)g(pip)s(e)f(to) i(a)f(\014le)f(descriptor)h(in)f(the)h(executing)h(shell,)h(and)d(that) -150 4068 y(\014le)i(descriptor)h(is)f(assigned)h(to)g +150 4322 y(\014le)i(descriptor)h(is)f(assigned)h(to)g Ft(NAME)p Fu([0].)70 b(The)40 b(standard)f(input)h(of)g -Fr(command)k Fu(is)c(connected)h(via)150 4177 y(a)h(pip)s(e)f(to)i(a)f +Fr(command)k Fu(is)c(connected)h(via)150 4432 y(a)h(pip)s(e)f(to)i(a)f (\014le)g(descriptor)g(in)f(the)h(executing)i(shell,)h(and)c(that)h -(\014le)g(descriptor)g(is)g(assigned)g(to)150 4287 y +(\014le)g(descriptor)g(is)g(assigned)g(to)150 4542 y Ft(NAME)p Fu([1].)69 b(This)39 b(pip)s(e)g(is)h(established)g(b)s (efore)f(an)m(y)h(redirections)h(sp)s(eci\014ed)e(b)m(y)g(the)h -(command)g(\(see)150 4397 y(Section)45 b(3.6)h([Redirections],)k(page) -45 b(33\).)84 b(The)44 b(\014le)h(descriptors)f(can)h(b)s(e)f(utilized) -h(as)g(argumen)m(ts)150 4506 y(to)d(shell)g(commands)f(and)g +(command)g(\(see)150 4651 y(Section)45 b(3.6)h([Redirections],)k(page) +45 b(34\).)84 b(The)44 b(\014le)h(descriptors)f(can)h(b)s(e)f(utilized) +h(as)g(argumen)m(ts)150 4761 y(to)d(shell)g(commands)f(and)g (redirections)h(using)f(standard)g(w)m(ord)g(expansions.)74 -b(Other)41 b(than)g(those)150 4616 y(created)27 b(to)g(execute)g +b(Other)41 b(than)g(those)150 4870 y(created)27 b(to)g(execute)g (command)f(and)f(pro)s(cess)h(substitutions,)h(the)f(\014le)g -(descriptors)g(are)g(not)h(a)m(v)-5 b(ailable)150 4725 -y(in)30 b(subshells.)275 4868 y(The)d(pro)s(cess)h(ID)h(of)f(the)h +(descriptors)g(are)g(not)h(a)m(v)-5 b(ailable)150 4980 +y(in)30 b(subshells.)275 5121 y(The)d(pro)s(cess)h(ID)h(of)f(the)h (shell)f(spa)m(wned)g(to)h(execute)h(the)e(copro)s(cess)h(is)f(a)m(v)-5 -b(ailable)31 b(as)d(the)h(v)-5 b(alue)29 b(of)150 4978 -y(the)k(v)-5 b(ariable)33 b Ft(NAME)p 850 4978 28 4 v +b(ailable)31 b(as)d(the)h(v)-5 b(alue)29 b(of)150 5230 +y(the)k(v)-5 b(ariable)33 b Ft(NAME)p 850 5230 28 4 v 39 w Fu(PID.)g(The)f Ft(wait)f Fu(builtin)h(command)g(ma)m(y)h(b)s(e)f -(used)g(to)h(w)m(ait)h(for)e(the)h(copro)s(cess)150 5087 -y(to)e(terminate.)275 5230 y(Since)20 b(the)g(copro)s(cess)h(is)g -(created)g(as)g(an)f(async)m(hronous)g(command,)i(the)f -Ft(coproc)d Fu(command)i(alw)m(a)m(ys)150 5340 y(returns)29 -b(success.)41 b(The)30 b(return)f(status)i(of)f(a)h(copro)s(cess)g(is)f -(the)h(exit)g(status)g(of)f Fr(command)p Fu(.)p eop end +(used)g(to)h(w)m(ait)h(for)e(the)h(copro)s(cess)150 5340 +y(to)e(terminate.)p eop end %%Page: 16 22 TeXDict begin 16 21 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(16)150 299 -y Fk(3.2.6)63 b(GNU)41 b(P)m(arallel)150 446 y Fu(There)30 -b(are)h(w)m(a)m(ys)g(to)g(run)f(commands)g(in)g(parallel)h(that)h(are)e -(not)h(built)g(in)m(to)g(Bash.)41 b(GNU)31 b(P)m(arallel)i(is)150 -555 y(a)e(to)s(ol)g(to)g(do)f(just)g(that.)275 685 y(GNU)e(P)m -(arallel,)i(as)e(its)g(name)f(suggests,)j(can)d(b)s(e)g(used)g(to)h -(build)f(and)g(run)f(commands)h(in)h(parallel.)150 795 -y(Y)-8 b(ou)41 b(ma)m(y)g(run)e(the)h(same)h(command)f(with)g -(di\013eren)m(t)h(argumen)m(ts,)j(whether)39 b(they)i(are)g -(\014lenames,)150 904 y(usernames,)27 b(hostnames,)h(or)e(lines)h(read) -f(from)h(\014les.)39 b(GNU)27 b(P)m(arallel)i(pro)m(vides)d(shorthand)g -(references)150 1014 y(to)38 b(man)m(y)g(of)g(the)g(most)g(common)g(op) -s(erations)g(\(input)f(lines,)j(v)-5 b(arious)38 b(p)s(ortions)f(of)h -(the)g(input)e(line,)150 1123 y(di\013eren)m(t)f(w)m(a)m(ys)h(to)f(sp)s -(ecify)f(the)h(input)f(source,)i(and)e(so)h(on\).)54 -b(P)m(arallel)36 b(can)f(replace)h Ft(xargs)d Fu(or)i(feed)150 -1233 y(commands)30 b(from)g(its)h(input)e(sources)h(to)i(sev)m(eral)f -(di\013eren)m(t)g(instances)g(of)g(Bash.)275 1363 y(F)-8 -b(or)33 b(a)g(complete)h(description,)g(refer)e(to)i(the)f(GNU)g(P)m -(arallel)i(do)s(cumen)m(tation.)48 b(A)33 b(few)f(examples)150 -1472 y(should)d(pro)m(vide)i(a)g(brief)e(in)m(tro)s(duction)i(to)g(its) -g(use.)275 1602 y(F)-8 b(or)37 b(example,)i(it)e(is)f(easy)h(to)g -(replace)h Ft(xargs)d Fu(to)i(gzip)g(all)g(h)m(tml)g(\014les)f(in)h -(the)f(curren)m(t)g(directory)150 1711 y(and)30 b(its)h(sub)s -(directories:)390 1841 y Ft(find)47 b(.)g(-type)f(f)i(-name)e('*.html') -g(-print)g(|)h(parallel)f(gzip)150 1971 y Fu(If)30 b(y)m(ou)h(need)f -(to)h(protect)h(sp)s(ecial)f(c)m(haracters)g(suc)m(h)g(as)f(newlines)h -(in)f(\014le)g(names,)h(use)f(\014nd's)f Ft(-print0)150 -2080 y Fu(option)i(and)f(parallel's)h Ft(-0)f Fu(option.)275 -2210 y(Y)-8 b(ou)34 b(can)g(use)f(P)m(arallel)j(to)e(mo)m(v)m(e)h -(\014les)f(from)f(the)h(curren)m(t)f(directory)h(when)f(the)h(n)m(um)m -(b)s(er)e(of)i(\014les)150 2320 y(is)c(to)s(o)i(large)f(to)g(pro)s -(cess)f(with)g(one)h Ft(mv)f Fu(in)m(v)m(o)s(cation:)390 -2449 y Ft(ls)47 b(|)h(parallel)d(mv)i({})h(destdir)275 -2579 y Fu(As)28 b(y)m(ou)h(can)g(see,)g(the)g Fi({})g -Fu(is)g(replaced)g(with)f(eac)m(h)i(line)f(read)f(from)g(standard)g -(input.)39 b(While)29 b(using)150 2688 y Ft(ls)g Fu(will)h(w)m(ork)g -(in)f(most)h(instances,)h(it)f(is)g(not)g(su\016cien)m(t)g(to)h(deal)f -(with)f(all)i(\014lenames.)40 b(If)30 b(y)m(ou)g(need)f(to)150 -2798 y(accommo)s(date)j(sp)s(ecial)f(c)m(haracters)h(in)e(\014lenames,) -h(y)m(ou)f(can)h(use)390 2928 y Ft(find)47 b(.)g(-depth)f(1)i(\\!)f -(-name)f('.*')h(-print0)f(|)h(parallel)f(-0)h(mv)g({})g(destdir)150 -3057 y Fu(as)31 b(alluded)f(to)h(ab)s(o)m(v)m(e.)275 -3187 y(This)e(will)i(run)e(as)h(man)m(y)h Ft(mv)e Fu(commands)h(as)h -(there)f(are)h(\014les)f(in)h(the)f(curren)m(t)g(directory)-8 -b(.)42 b(Y)-8 b(ou)31 b(can)150 3297 y(em)m(ulate)h(a)f(parallel)g -Ft(xargs)e Fu(b)m(y)h(adding)g(the)h Ft(-X)f Fu(option:)390 -3426 y Ft(find)47 b(.)g(-depth)f(1)i(\\!)f(-name)f('.*')h(-print0)f(|)h -(parallel)f(-0)h(-X)g(mv)g({})g(destdir)275 3556 y Fu(GNU)31 -b(P)m(arallel)i(can)e(replace)h(certain)g(common)g(idioms)f(that)g(op)s -(erate)h(on)f(lines)g(read)g(from)f(a)i(\014le)150 3665 -y(\(in)e(this)h(case,)g(\014lenames)g(listed)g(one)f(p)s(er)g(line\):) -390 3795 y Ft(while)46 b(IFS=)h(read)g(-r)g(x;)g(do)390 -3905 y(do-something1)d("$x")j("config-$x")390 4014 y(do-something2)d(<) -k("$x")390 4124 y(done)f(<)g(file)g(|)g(process-output)150 -4253 y Fu(with)30 b(a)h(more)f(compact)i(syn)m(tax)f(reminiscen)m(t)g -(of)g(lam)m(b)s(das:)390 4383 y Ft(cat)47 b(list)g(|)g(parallel)f -("do-something1)d({})48 b(config-{})d(;)i(do-something2)e(<)i({}")g(|)g -(process-output)275 4513 y Fu(P)m(arallel)31 b(pro)m(vides)e(a)h -(built-in)g(mec)m(hanism)g(to)g(remo)m(v)m(e)h(\014lename)e -(extensions,)i(whic)m(h)e(lends)g(itself)150 4622 y(to)i(batc)m(h)g -(\014le)g(transformations)f(or)g(renaming:)390 4752 y -Ft(ls)47 b(*.gz)g(|)g(parallel)f(-j+0)g("zcat)h({})g(|)g(bzip2)g -(>{.}.bz2)e(&&)j(rm)f({}")150 4882 y Fu(This)28 b(will)i(recompress)e -(all)i(\014les)f(in)g(the)g(curren)m(t)g(directory)g(with)g(names)g -(ending)f(in)h(.gz)h(using)f(bzip2,)150 4991 y(running)37 -b(one)i(job)f(p)s(er)f(CPU)h(\(-j)p Ft(+)p Fu(0\))i(in)e(parallel.)66 -b(\(W)-8 b(e)40 b(use)e Ft(ls)g Fu(for)h(brevit)m(y)g(here;)j(using)c -Ft(find)g Fu(as)150 5101 y(ab)s(o)m(v)m(e)e(is)g(more)f(robust)f(in)h -(the)h(face)g(of)f(\014lenames)h(con)m(taining)g(unexp)s(ected)f(c)m -(haracters.\))57 b(P)m(arallel)150 5210 y(can)31 b(tak)m(e)h(argumen)m -(ts)e(from)g(the)h(command)f(line;)h(the)f(ab)s(o)m(v)m(e)i(can)f(also) -g(b)s(e)f(written)g(as)390 5340 y Ft(parallel)46 b("zcat)g({})h(|)h -(bzip2)e(>{.}.bz2)f(&&)j(rm)f({}")g(:::)g(*.gz)p eop -end +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(16)275 299 +y(Since)20 b(the)g(copro)s(cess)h(is)g(created)g(as)g(an)f(async)m +(hronous)g(command,)i(the)f Ft(coproc)d Fu(command)i(alw)m(a)m(ys)150 +408 y(returns)29 b(success.)41 b(The)30 b(return)f(status)i(of)f(a)h +(copro)s(cess)g(is)f(the)h(exit)g(status)g(of)f Fr(command)p +Fu(.)150 612 y Fk(3.2.6)63 b(GNU)41 b(P)m(arallel)150 +759 y Fu(There)30 b(are)h(w)m(a)m(ys)g(to)g(run)f(commands)g(in)g +(parallel)h(that)h(are)e(not)h(built)g(in)m(to)g(Bash.)41 +b(GNU)31 b(P)m(arallel)i(is)150 869 y(a)e(to)s(ol)g(to)g(do)f(just)g +(that.)275 1007 y(GNU)e(P)m(arallel,)i(as)e(its)g(name)f(suggests,)j +(can)d(b)s(e)g(used)g(to)h(build)f(and)g(run)f(commands)h(in)h +(parallel.)150 1117 y(Y)-8 b(ou)41 b(ma)m(y)g(run)e(the)h(same)h +(command)f(with)g(di\013eren)m(t)h(argumen)m(ts,)j(whether)39 +b(they)i(are)g(\014lenames,)150 1227 y(usernames,)27 +b(hostnames,)h(or)e(lines)h(read)f(from)h(\014les.)39 +b(GNU)27 b(P)m(arallel)i(pro)m(vides)d(shorthand)g(references)150 +1336 y(to)38 b(man)m(y)g(of)g(the)g(most)g(common)g(op)s(erations)g +(\(input)f(lines,)j(v)-5 b(arious)38 b(p)s(ortions)f(of)h(the)g(input)e +(line,)150 1446 y(di\013eren)m(t)f(w)m(a)m(ys)h(to)f(sp)s(ecify)f(the)h +(input)f(source,)i(and)e(so)h(on\).)54 b(P)m(arallel)36 +b(can)f(replace)h Ft(xargs)d Fu(or)i(feed)150 1555 y(commands)30 +b(from)g(its)h(input)e(sources)h(to)i(sev)m(eral)f(di\013eren)m(t)g +(instances)g(of)g(Bash.)275 1694 y(F)-8 b(or)33 b(a)g(complete)h +(description,)g(refer)e(to)i(the)f(GNU)g(P)m(arallel)i(do)s(cumen)m +(tation.)48 b(A)33 b(few)f(examples)150 1804 y(should)d(pro)m(vide)i(a) +g(brief)e(in)m(tro)s(duction)i(to)g(its)g(use.)275 1943 +y(F)-8 b(or)37 b(example,)i(it)e(is)f(easy)h(to)g(replace)h +Ft(xargs)d Fu(to)i(gzip)g(all)g(h)m(tml)g(\014les)f(in)h(the)f(curren)m +(t)g(directory)150 2052 y(and)30 b(its)h(sub)s(directories:)390 +2191 y Ft(find)47 b(.)g(-type)f(f)i(-name)e('*.html')g(-print)g(|)h +(parallel)f(gzip)150 2330 y Fu(If)30 b(y)m(ou)h(need)f(to)h(protect)h +(sp)s(ecial)f(c)m(haracters)g(suc)m(h)g(as)f(newlines)h(in)f(\014le)g +(names,)h(use)f(\014nd's)f Ft(-print0)150 2439 y Fu(option)i(and)f +(parallel's)h Ft(-0)f Fu(option.)275 2578 y(Y)-8 b(ou)34 +b(can)g(use)f(P)m(arallel)j(to)e(mo)m(v)m(e)h(\014les)f(from)f(the)h +(curren)m(t)f(directory)h(when)f(the)h(n)m(um)m(b)s(er)e(of)i(\014les) +150 2688 y(is)c(to)s(o)i(large)f(to)g(pro)s(cess)f(with)g(one)h +Ft(mv)f Fu(in)m(v)m(o)s(cation:)390 2827 y Ft(ls)47 b(|)h(parallel)d +(mv)i({})h(destdir)275 2965 y Fu(As)28 b(y)m(ou)h(can)g(see,)g(the)g +Fi({})g Fu(is)g(replaced)g(with)f(eac)m(h)i(line)f(read)f(from)g +(standard)g(input.)39 b(While)29 b(using)150 3075 y Ft(ls)g +Fu(will)h(w)m(ork)g(in)f(most)h(instances,)h(it)f(is)g(not)g +(su\016cien)m(t)g(to)h(deal)f(with)f(all)i(\014lenames.)40 +b(If)30 b(y)m(ou)g(need)f(to)150 3185 y(accommo)s(date)j(sp)s(ecial)f +(c)m(haracters)h(in)e(\014lenames,)h(y)m(ou)f(can)h(use)390 +3323 y Ft(find)47 b(.)g(-depth)f(1)i(\\!)f(-name)f('.*')h(-print0)f(|)h +(parallel)f(-0)h(mv)g({})g(destdir)150 3462 y Fu(as)31 +b(alluded)f(to)h(ab)s(o)m(v)m(e.)275 3601 y(This)e(will)i(run)e(as)h +(man)m(y)h Ft(mv)e Fu(commands)h(as)h(there)f(are)h(\014les)f(in)h(the) +f(curren)m(t)g(directory)-8 b(.)42 b(Y)-8 b(ou)31 b(can)150 +3711 y(em)m(ulate)h(a)f(parallel)g Ft(xargs)e Fu(b)m(y)h(adding)g(the)h +Ft(-X)f Fu(option:)390 3850 y Ft(find)47 b(.)g(-depth)f(1)i(\\!)f +(-name)f('.*')h(-print0)f(|)h(parallel)f(-0)h(-X)g(mv)g({})g(destdir) +275 3988 y Fu(GNU)31 b(P)m(arallel)i(can)e(replace)h(certain)g(common)g +(idioms)f(that)g(op)s(erate)h(on)f(lines)g(read)g(from)f(a)i(\014le)150 +4098 y(\(in)e(this)h(case,)g(\014lenames)g(listed)g(one)f(p)s(er)g +(line\):)390 4237 y Ft(while)46 b(IFS=)h(read)g(-r)g(x;)g(do)390 +4346 y(do-something1)d("$x")j("config-$x")390 4456 y(do-something2)d(<) +k("$x")390 4566 y(done)f(<)g(file)g(|)g(process-output)150 +4704 y Fu(with)30 b(a)h(more)f(compact)i(syn)m(tax)f(reminiscen)m(t)g +(of)g(lam)m(b)s(das:)390 4843 y Ft(cat)47 b(list)g(|)g(parallel)f +("do-something1)d({})48 b(config-{})d(;)i(do-something2)e(<)i({}")g(|) +915 4953 y(process-output)275 5092 y Fu(P)m(arallel)31 +b(pro)m(vides)e(a)h(built-in)g(mec)m(hanism)g(to)g(remo)m(v)m(e)h +(\014lename)e(extensions,)i(whic)m(h)e(lends)g(itself)150 +5201 y(to)i(batc)m(h)g(\014le)g(transformations)f(or)g(renaming:)390 +5340 y Ft(ls)47 b(*.gz)g(|)g(parallel)f(-j+0)g("zcat)h({})g(|)g(bzip2)g +(>{.}.bz2)e(&&)j(rm)f({}")p eop end %%Page: 17 23 TeXDict begin 17 22 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(17)275 299 -y(If)24 b(a)i(command)f(generates)h(output,)g(y)m(ou)g(ma)m(y)f(w)m(an) -m(t)h(to)g(preserv)m(e)g(the)f(input)f(order)h(in)g(the)g(output.)150 -408 y(F)-8 b(or)31 b(instance,)g(the)g(follo)m(wing)h(command)390 -543 y Ft({)47 b(echo)g(foss.org.my)e(;)i(echo)g(debian.org;)e(echo)h -(freenetproject.org;)d(})k(|)h(parallel)d(traceroute)150 -677 y Fu(will)31 b(displa)m(y)f(as)h(output)f(the)g(traceroute)i(in)m -(v)m(o)s(cation)h(that)e(\014nishes)e(\014rst.)40 b(Adding)30 -b(the)g Ft(-k)g Fu(option)390 811 y Ft({)47 b(echo)g(foss.org.my)e(;)i -(echo)g(debian.org;)e(echo)h(freenetproject.org;)d(})k(|)h(parallel)d -(-k)i(traceroute)150 945 y Fu(will)31 b(ensure)e(that)i(the)g(output)f -(of)g Ft(traceroute)e(foss.org.my)f Fu(is)k(displa)m(y)m(ed)g(\014rst.) -275 1079 y(Finally)-8 b(,)31 b(P)m(arallel)h(can)e(b)s(e)f(used)g(to)i -(run)d(a)i(sequence)h(of)f(shell)g(commands)f(in)h(parallel,)h(similar) -f(to)150 1189 y(`)p Ft(cat)g(file)f(|)h(bash)p Fu('.)53 -b(It)35 b(is)g(not)g(uncommon)f(to)i(tak)m(e)g(a)f(list)h(of)f -(\014lenames,)h(create)g(a)g(series)f(of)g(shell)150 -1298 y(commands)24 b(to)h(op)s(erate)h(on)e(them,)i(and)e(feed)g(that)h -(list)h(of)e(commands)g(to)i(a)f(shell.)39 b(P)m(arallel)26 -b(can)f(sp)s(eed)150 1408 y(this)30 b(up.)40 b(Assuming)30 -b(that)h Ft(file)e Fu(con)m(tains)i(a)g(list)g(of)g(shell)f(commands,)h -(one)f(p)s(er)g(line,)390 1542 y Ft(parallel)46 b(-j)h(10)g(<)g(file) -150 1676 y Fu(will)37 b(ev)-5 b(aluate)38 b(the)f(commands)f(using)g -(the)h(shell)g(\(since)g(no)f(explicit)i(command)e(is)h(supplied)e(as)i -(an)150 1786 y(argumen)m(t\),)31 b(in)f(blo)s(c)m(ks)h(of)g(ten)f -(shell)h(jobs)f(at)h(a)g(time.)150 2026 y Fs(3.3)68 b(Shell)45 -b(F)-11 b(unctions)150 2185 y Fu(Shell)35 b(functions)h(are)g(a)g(w)m +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(17)150 299 +y(This)28 b(will)i(recompress)e(all)i(\014les)f(in)g(the)g(curren)m(t)g +(directory)g(with)g(names)g(ending)f(in)h(.gz)h(using)f(bzip2,)150 +408 y(running)37 b(one)i(job)f(p)s(er)f(CPU)h(\(-j)p +Ft(+)p Fu(0\))i(in)e(parallel.)66 b(\(W)-8 b(e)40 b(use)e +Ft(ls)g Fu(for)h(brevit)m(y)g(here;)j(using)c Ft(find)g +Fu(as)150 518 y(ab)s(o)m(v)m(e)e(is)g(more)f(robust)f(in)h(the)h(face)g +(of)f(\014lenames)h(con)m(taining)g(unexp)s(ected)f(c)m(haracters.\))57 +b(P)m(arallel)150 628 y(can)31 b(tak)m(e)h(argumen)m(ts)e(from)g(the)h +(command)f(line;)h(the)f(ab)s(o)m(v)m(e)i(can)f(also)g(b)s(e)f(written) +g(as)390 770 y Ft(parallel)46 b("zcat)g({})h(|)h(bzip2)e(>{.}.bz2)f(&&) +j(rm)f({}")g(:::)g(*.gz)275 913 y Fu(If)24 b(a)i(command)f(generates)h +(output,)g(y)m(ou)g(ma)m(y)f(w)m(an)m(t)h(to)g(preserv)m(e)g(the)f +(input)f(order)h(in)g(the)g(output.)150 1023 y(F)-8 b(or)31 +b(instance,)g(the)g(follo)m(wing)h(command)390 1165 y +Ft({)581 1275 y(echo)47 b(foss.org.my)d(;)581 1385 y(echo)j(debian.org) +e(;)581 1494 y(echo)i(freenetproject.org)42 b(;)390 1604 +y(})47 b(|)h(parallel)d(traceroute)150 1747 y Fu(will)31 +b(displa)m(y)f(as)h(output)f(the)g(traceroute)i(in)m(v)m(o)s(cation)h +(that)e(\014nishes)e(\014rst.)40 b(Adding)30 b(the)g +Ft(-k)g Fu(option)390 1889 y Ft({)581 1999 y(echo)47 +b(foss.org.my)d(;)581 2108 y(echo)j(debian.org)e(;)581 +2218 y(echo)i(freenetproject.org)42 b(;)390 2328 y(})47 +b(|)h(parallel)d(-k)j(traceroute)150 2470 y Fu(will)31 +b(ensure)e(that)i(the)g(output)f(of)g Ft(traceroute)e(foss.org.my)f +Fu(is)k(displa)m(y)m(ed)g(\014rst.)275 2613 y(Finally)-8 +b(,)31 b(P)m(arallel)h(can)e(b)s(e)f(used)g(to)i(run)d(a)i(sequence)h +(of)f(shell)g(commands)f(in)h(parallel,)h(similar)f(to)150 +2723 y(`)p Ft(cat)g(file)f(|)h(bash)p Fu('.)53 b(It)35 +b(is)g(not)g(uncommon)f(to)i(tak)m(e)g(a)f(list)h(of)f(\014lenames,)h +(create)g(a)g(series)f(of)g(shell)150 2832 y(commands)24 +b(to)h(op)s(erate)h(on)e(them,)i(and)e(feed)g(that)h(list)h(of)e +(commands)g(to)i(a)f(shell.)39 b(P)m(arallel)26 b(can)f(sp)s(eed)150 +2942 y(this)30 b(up.)40 b(Assuming)30 b(that)h Ft(file)e +Fu(con)m(tains)i(a)g(list)g(of)g(shell)f(commands,)h(one)f(p)s(er)g +(line,)390 3085 y Ft(parallel)46 b(-j)h(10)g(<)g(file)150 +3227 y Fu(will)37 b(ev)-5 b(aluate)38 b(the)f(commands)f(using)g(the)h +(shell)g(\(since)g(no)f(explicit)i(command)e(is)h(supplied)e(as)i(an) +150 3337 y(argumen)m(t\),)31 b(in)f(blo)s(c)m(ks)h(of)g(ten)f(shell)h +(jobs)f(at)h(a)g(time.)150 3590 y Fs(3.3)68 b(Shell)45 +b(F)-11 b(unctions)150 3750 y Fu(Shell)35 b(functions)h(are)g(a)g(w)m (a)m(y)g(to)h(group)e(commands)g(for)h(later)g(execution)h(using)e(a)h -(single)g(name)g(for)150 2295 y(the)f(group.)55 b(They)35 +(single)g(name)g(for)150 3859 y(the)f(group.)55 b(They)35 b(are)g(executed)h(just)f(lik)m(e)h(a)g Ft(")p Fu(regular)p Ft(")f Fu(command.)54 b(When)35 b(the)h(name)f(of)g(a)h(shell)150 -2404 y(function)j(is)g(used)f(as)h(a)h(simple)f(command)g(name,)i(the)e +3969 y(function)j(is)g(used)f(as)h(a)h(simple)f(command)g(name,)i(the)e (list)h(of)f(commands)g(asso)s(ciated)i(with)d(that)150 -2514 y(function)25 b(name)h(is)g(executed.)40 b(Shell)25 +4078 y(function)25 b(name)h(is)g(executed.)40 b(Shell)25 b(functions)g(are)i(executed)f(in)f(the)h(curren)m(t)g(shell)g(con)m -(text;)j(no)c(new)150 2623 y(pro)s(cess)30 b(is)g(created)i(to)f(in)m -(terpret)g(them.)275 2757 y(F)-8 b(unctions)30 b(are)h(declared)g -(using)f(this)g(syn)m(tax:)390 2892 y Fj(name)47 b Ft(\(\))g +(text;)j(no)c(new)150 4188 y(pro)s(cess)30 b(is)g(created)i(to)f(in)m +(terpret)g(them.)275 4331 y(F)-8 b(unctions)30 b(are)h(declared)g +(using)f(this)g(syn)m(tax:)390 4473 y Fj(name)47 b Ft(\(\))g Fj(compound-command)c Ft([)48 b Fj(redirections)c Ft(])275 -3026 y Fu(or)390 3160 y Ft(function)i Fj(name)g Ft([\(\)])h +4616 y Fu(or)390 4759 y Ft(function)i Fj(name)g Ft([\(\)])h Fj(compound-command)c Ft([)48 b Fj(redirections)c Ft(])275 -3294 y Fu(This)31 b(de\014nes)h(a)h(shell)g(function)g(named)f +4902 y Fu(This)31 b(de\014nes)h(a)h(shell)g(function)g(named)f Fr(name)p Fu(.)48 b(The)32 b(reserv)m(ed)h(w)m(ord)f -Ft(function)f Fu(is)h(optional.)49 b(If)150 3403 y(the)39 +Ft(function)f Fu(is)h(optional.)49 b(If)150 5011 y(the)39 b Ft(function)f Fu(reserv)m(ed)h(w)m(ord)g(is)g(supplied,)i(the)e (paren)m(theses)h(are)f(optional.)69 b(The)39 b Fr(b)s(o)s(dy)45 -b Fu(of)40 b(the)150 3513 y(function)h(is)h(the)g(comp)s(ound)e +b Fu(of)40 b(the)150 5121 y(function)h(is)h(the)g(comp)s(ound)e (command)h Fr(comp)s(ound-command)j Fu(\(see)e(Section)h(3.2.4)g([Comp) -s(ound)150 3623 y(Commands],)33 b(page)h(9\).)49 b(That)33 +s(ound)150 5230 y(Commands],)33 b(page)h(9\).)49 b(That)33 b(command)f(is)h(usually)g(a)g Fr(list)j Fu(enclosed)e(b)s(et)m(w)m (een)f Fi({)h Fu(and)e Fi(})p Fu(,)i(but)e(ma)m(y)150 -3732 y(b)s(e)39 b(an)m(y)h(comp)s(ound)e(command)i(listed)g(ab)s(o)m(v) +5340 y(b)s(e)39 b(an)m(y)h(comp)s(ound)e(command)i(listed)g(ab)s(o)m(v) m(e,)j(with)d(one)g(exception:)60 b(If)39 b(the)h Ft(function)e -Fu(reserv)m(ed)150 3842 y(w)m(ord)g(is)g(used,)h(but)f(the)g(paren)m -(theses)h(are)f(not)h(supplied,)g(the)f(braces)g(are)h(required.)63 -b Fr(comp)s(ound-)150 3951 y(command)39 b Fu(is)c(executed)h(whenev)m -(er)f Fr(name)41 b Fu(is)35 b(sp)s(eci\014ed)g(as)g(the)h(name)f(of)h -(a)f(command.)56 b(When)35 b(the)150 4061 y(shell)d(is)h(in)f -Fm(posix)f Fu(mo)s(de)h(\(see)h(Section)g(6.11)h([Bash)f(POSIX)e(Mo)s -(de],)j(page)f(98\),)h Fr(name)j Fu(ma)m(y)c(not)g(b)s(e)150 -4171 y(the)k(same)g(as)g(one)g(of)g(the)f(sp)s(ecial)i(builtins)e -(\(see)h(Section)h(4.4)g([Sp)s(ecial)f(Builtins],)i(page)e(71\).)61 -b(An)m(y)150 4280 y(redirections)32 b(\(see)g(Section)h(3.6)f -([Redirections],)i(page)e(33\))h(asso)s(ciated)g(with)e(the)h(shell)f -(function)h(are)150 4390 y(p)s(erformed)d(when)g(the)i(function)f(is)g -(executed.)275 4524 y(A)44 b(function)g(de\014nition)h(ma)m(y)g(b)s(e)f -(deleted)h(using)f(the)h Ft(-f)f Fu(option)h(to)g(the)g -Ft(unset)e Fu(builtin)h(\(see)150 4633 y(Section)31 b(4.1)h([Bourne)e -(Shell)g(Builtins],)h(page)h(43\).)275 4768 y(The)26 -b(exit)i(status)g(of)f(a)h(function)f(de\014nition)g(is)g(zero)h -(unless)f(a)g(syn)m(tax)h(error)f(o)s(ccurs)g(or)g(a)h(readonly)150 -4877 y(function)k(with)f(the)i(same)f(name)g(already)h(exists.)46 -b(When)32 b(executed,)h(the)f(exit)h(status)g(of)f(a)g(function)150 -4987 y(is)e(the)h(exit)g(status)g(of)f(the)h(last)g(command)f(executed) -i(in)e(the)g(b)s(o)s(dy)-8 b(.)275 5121 y(Note)22 b(that)f(for)f -(historical)i(reasons,)h(in)e(the)g(most)g(common)g(usage)g(the)g -(curly)f(braces)h(that)g(surround)150 5230 y(the)38 b(b)s(o)s(dy)d(of)j -(the)f(function)g(m)m(ust)g(b)s(e)g(separated)h(from)f(the)g(b)s(o)s -(dy)f(b)m(y)h Ft(blank)p Fu(s)f(or)h(newlines.)62 b(This)150 -5340 y(is)38 b(b)s(ecause)g(the)h(braces)f(are)h(reserv)m(ed)f(w)m -(ords)g(and)f(are)i(only)f(recognized)i(as)e(suc)m(h)g(when)f(they)i -(are)p eop end +Fu(reserv)m(ed)p eop end %%Page: 18 24 TeXDict begin 18 23 bop 150 -116 a Fu(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(18)150 299 -y(separated)26 b(from)f(the)h(command)f(list)i(b)m(y)e(whitespace)h(or) -g(another)g(shell)g(metac)m(haracter.)41 b(Also,)28 b(when)150 -408 y(using)i(the)g(braces,)h(the)g Fr(list)i Fu(m)m(ust)d(b)s(e)g +y(w)m(ord)38 b(is)g(used,)h(but)f(the)g(paren)m(theses)h(are)f(not)h +(supplied,)g(the)f(braces)g(are)h(required.)63 b Fr(comp)s(ound-)150 +408 y(command)39 b Fu(is)c(executed)h(whenev)m(er)f Fr(name)41 +b Fu(is)35 b(sp)s(eci\014ed)g(as)g(the)h(name)f(of)h(a)f(command.)56 +b(When)35 b(the)150 518 y(shell)d(is)h(in)f Fm(posix)f +Fu(mo)s(de)h(\(see)h(Section)g(6.11)h([Bash)f(POSIX)e(Mo)s(de],)j(page) +f(98\),)h Fr(name)j Fu(ma)m(y)c(not)g(b)s(e)150 628 y(the)k(same)g(as)g +(one)g(of)g(the)f(sp)s(ecial)i(builtins)e(\(see)h(Section)h(4.4)g([Sp)s +(ecial)f(Builtins],)i(page)e(71\).)61 b(An)m(y)150 737 +y(redirections)32 b(\(see)g(Section)h(3.6)f([Redirections],)i(page)e +(34\))h(asso)s(ciated)g(with)e(the)h(shell)f(function)h(are)150 +847 y(p)s(erformed)d(when)g(the)i(function)f(is)g(executed.)275 +981 y(A)44 b(function)g(de\014nition)h(ma)m(y)g(b)s(e)f(deleted)h +(using)f(the)h Ft(-f)f Fu(option)h(to)g(the)g Ft(unset)e +Fu(builtin)h(\(see)150 1090 y(Section)31 b(4.1)h([Bourne)e(Shell)g +(Builtins],)h(page)h(43\).)275 1224 y(The)26 b(exit)i(status)g(of)f(a)h +(function)f(de\014nition)g(is)g(zero)h(unless)f(a)g(syn)m(tax)h(error)f +(o)s(ccurs)g(or)g(a)h(readonly)150 1334 y(function)k(with)f(the)i(same) +f(name)g(already)h(exists.)46 b(When)32 b(executed,)h(the)f(exit)h +(status)g(of)f(a)g(function)150 1443 y(is)e(the)h(exit)g(status)g(of)f +(the)h(last)g(command)f(executed)i(in)e(the)g(b)s(o)s(dy)-8 +b(.)275 1577 y(Note)22 b(that)f(for)f(historical)i(reasons,)h(in)e(the) +g(most)g(common)g(usage)g(the)g(curly)f(braces)h(that)g(surround)150 +1687 y(the)38 b(b)s(o)s(dy)d(of)j(the)f(function)g(m)m(ust)g(b)s(e)g +(separated)h(from)f(the)g(b)s(o)s(dy)f(b)m(y)h Ft(blank)p +Fu(s)f(or)h(newlines.)62 b(This)150 1797 y(is)38 b(b)s(ecause)g(the)h +(braces)f(are)h(reserv)m(ed)f(w)m(ords)g(and)f(are)i(only)f(recognized) +i(as)e(suc)m(h)g(when)f(they)i(are)150 1906 y(separated)26 +b(from)f(the)h(command)f(list)i(b)m(y)e(whitespace)h(or)g(another)g +(shell)g(metac)m(haracter.)41 b(Also,)28 b(when)150 2016 +y(using)i(the)g(braces,)h(the)g Fr(list)i Fu(m)m(ust)d(b)s(e)g (terminated)h(b)m(y)f(a)h(semicolon,)h(a)e(`)p Ft(&)p -Fu(',)h(or)g(a)f(newline.)275 548 y(When)i(a)i(function)f(is)g +Fu(',)h(or)g(a)f(newline.)275 2150 y(When)i(a)i(function)f(is)g (executed,)i(the)e(argumen)m(ts)h(to)g(the)f(function)g(b)s(ecome)g -(the)h(p)s(ositional)g(pa-)150 658 y(rameters)42 b(during)e(its)i +(the)h(p)s(ositional)g(pa-)150 2259 y(rameters)42 b(during)e(its)i (execution)h(\(see)f(Section)g(3.4.1)h([P)m(ositional)h(P)m -(arameters],)i(page)c(20\).)75 b(The)150 767 y(sp)s(ecial)37 +(arameters],)i(page)c(21\).)75 b(The)150 2369 y(sp)s(ecial)37 b(parameter)f(`)p Ft(#)p Fu(')g(that)h(expands)e(to)i(the)f(n)m(um)m(b) s(er)f(of)h(p)s(ositional)h(parameters)f(is)g(up)s(dated)f(to)150 -877 y(re\015ect)h(the)f(c)m(hange.)56 b(Sp)s(ecial)35 +2478 y(re\015ect)h(the)f(c)m(hange.)56 b(Sp)s(ecial)35 b(parameter)h Ft(0)f Fu(is)g(unc)m(hanged.)54 b(The)35 -b(\014rst)f(elemen)m(t)j(of)e(the)g Ft(FUNCNAME)150 986 +b(\014rst)f(elemen)m(t)j(of)e(the)g Ft(FUNCNAME)150 2588 y Fu(v)-5 b(ariable)31 b(is)g(set)f(to)i(the)e(name)h(of)f(the)h (function)f(while)g(the)h(function)f(is)g(executing.)275 -1126 y(All)25 b(other)g(asp)s(ects)g(of)g(the)g(shell)g(execution)h(en) +2722 y(All)25 b(other)g(asp)s(ects)g(of)g(the)g(shell)g(execution)h(en) m(vironmen)m(t)g(are)f(iden)m(tical)h(b)s(et)m(w)m(een)g(a)f(function)g -(and)150 1235 y(its)35 b(caller)i(with)d(these)i(exceptions:)50 +(and)150 2832 y(its)35 b(caller)i(with)d(these)i(exceptions:)50 b(the)36 b Ft(DEBUG)d Fu(and)h Ft(RETURN)g Fu(traps)g(are)i(not)f -(inherited)f(unless)h(the)150 1345 y(function)26 b(has)g(b)s(een)f(giv) +(inherited)f(unless)h(the)150 2941 y(function)26 b(has)g(b)s(een)f(giv) m(en)i(the)g Ft(trace)d Fu(attribute)j(using)f(the)g Ft(declare)e Fu(builtin)i(or)g(the)h Ft(-o)i(functrace)150 -1455 y Fu(option)f(has)e(b)s(een)h(enabled)g(with)g(the)g +3051 y Fu(option)f(has)e(b)s(een)h(enabled)g(with)g(the)g Ft(set)f Fu(builtin,)i(\(in)f(whic)m(h)f(case)j(all)f(functions)e -(inherit)h(the)g Ft(DEBUG)150 1564 y Fu(and)33 b Ft(RETURN)f +(inherit)h(the)g Ft(DEBUG)150 3160 y Fu(and)33 b Ft(RETURN)f Fu(traps\),)j(and)e(the)h Ft(ERR)f Fu(trap)h(is)g(not)g(inherited)f (unless)g(the)h Ft(-o)c(errtrace)h Fu(shell)j(option)150 -1674 y(has)h(b)s(een)f(enabled.)55 b(See)35 b(Section)h(4.1)g([Bourne)f +3270 y(has)h(b)s(een)f(enabled.)55 b(See)35 b(Section)h(4.1)g([Bourne)f (Shell)g(Builtins],)i(page)f(43,)i(for)c(the)i(description)f(of)150 -1783 y(the)c Ft(trap)e Fu(builtin.)275 1923 y(The)38 +3380 y(the)c Ft(trap)e Fu(builtin.)275 3513 y(The)38 b Ft(FUNCNEST)f Fu(v)-5 b(ariable,)42 b(if)d(set)h(to)g(a)g(n)m(umeric) f(v)-5 b(alue)39 b(greater)h(than)f(0,)j(de\014nes)d(a)g(maxim)m(um)150 -2032 y(function)24 b(nesting)h(lev)m(el.)40 b(F)-8 b(unction)25 +3623 y(function)24 b(nesting)h(lev)m(el.)40 b(F)-8 b(unction)25 b(in)m(v)m(o)s(cations)i(that)e(exceed)g(the)g(limit)g(cause)g(the)g -(en)m(tire)g(command)150 2142 y(to)31 b(ab)s(ort.)275 -2281 y(If)37 b(the)g(builtin)g(command)h Ft(return)d +(en)m(tire)g(command)150 3733 y(to)31 b(ab)s(ort.)275 +3867 y(If)37 b(the)g(builtin)g(command)h Ft(return)d Fu(is)j(executed)g(in)g(a)g(function,)h(the)e(function)h(completes)h -(and)150 2391 y(execution)25 b(resumes)e(with)h(the)g(next)g(command)f +(and)150 3976 y(execution)25 b(resumes)e(with)h(the)g(next)g(command)f (after)i(the)f(function)f(call.)40 b(An)m(y)24 b(command)f(asso)s -(ciated)150 2501 y(with)36 b(the)h Ft(RETURN)d Fu(trap)i(is)h(executed) +(ciated)150 4086 y(with)36 b(the)h Ft(RETURN)d Fu(trap)i(is)h(executed) g(b)s(efore)f(execution)i(resumes.)57 b(When)37 b(a)f(function)g -(completes,)150 2610 y(the)h(v)-5 b(alues)38 b(of)f(the)g(p)s +(completes,)150 4195 y(the)h(v)-5 b(alues)38 b(of)f(the)g(p)s (ositional)h(parameters)f(and)g(the)g(sp)s(ecial)h(parameter)f(`)p -Ft(#)p Fu(')g(are)h(restored)f(to)h(the)150 2720 y(v)-5 +Ft(#)p Fu(')g(are)h(restored)f(to)h(the)150 4305 y(v)-5 b(alues)26 b(they)f(had)g(prior)f(to)i(the)g(function's)f(execution.)40 b(If)25 b(a)h(n)m(umeric)f(argumen)m(t)h(is)f(giv)m(en)h(to)g -Ft(return)p Fu(,)150 2829 y(that)j(is)g(the)f(function's)h(return)e +Ft(return)p Fu(,)150 4415 y(that)j(is)g(the)f(function's)h(return)e (status;)j(otherwise)f(the)f(function's)h(return)e(status)i(is)f(the)h -(exit)h(status)150 2939 y(of)h(the)f(last)h(command)f(executed)i(b)s -(efore)e(the)g Ft(return)p Fu(.)275 3078 y(V)-8 b(ariables)31 +(exit)h(status)150 4524 y(of)h(the)f(last)h(command)f(executed)i(b)s +(efore)e(the)g Ft(return)p Fu(.)275 4658 y(V)-8 b(ariables)31 b(lo)s(cal)g(to)f(the)g(function)f(ma)m(y)i(b)s(e)e(declared)h(with)f (the)h Ft(local)f Fu(builtin.)40 b(These)29 b(v)-5 b(ariables)150 -3188 y(are)25 b(visible)h(only)f(to)g(the)g(function)g(and)f(the)i +4768 y(are)25 b(visible)h(only)f(to)g(the)g(function)g(and)f(the)i (commands)e(it)i(in)m(v)m(ok)m(es.)40 b(This)24 b(is)h(particularly)h -(imp)s(ortan)m(t)150 3298 y(when)j(a)i(shell)g(function)f(calls)h -(other)g(functions.)275 3437 y(Lo)s(cal)41 b(v)-5 b(ariables)42 +(imp)s(ortan)m(t)150 4877 y(when)j(a)i(shell)g(function)f(calls)h +(other)g(functions.)275 5011 y(Lo)s(cal)41 b(v)-5 b(ariables)42 b Ft(")p Fu(shado)m(w)p Ft(")e Fu(v)-5 b(ariables)42 b(with)f(the)g(same)g(name)g(declared)h(at)f(previous)g(scop)s(es.)150 -3547 y(F)-8 b(or)41 b(instance,)j(a)d(lo)s(cal)h(v)-5 +5121 y(F)-8 b(or)41 b(instance,)j(a)d(lo)s(cal)h(v)-5 b(ariable)41 b(declared)g(in)f(a)h(function)f(hides)g(a)h(global)h(v)-5 -b(ariable)41 b(of)g(the)g(same)150 3656 y(name:)59 b(references)40 +b(ariable)41 b(of)g(the)g(same)150 5230 y(name:)59 b(references)40 b(and)f(assignmen)m(ts)h(refer)f(to)i(the)f(lo)s(cal)g(v)-5 b(ariable,)43 b(lea)m(ving)f(the)d(global)i(v)-5 b(ariable)150 -3766 y(unmo)s(di\014ed.)39 b(When)30 b(the)g(function)g(returns,)g(the) -g(global)i(v)-5 b(ariable)31 b(is)g(once)g(again)g(visible.)275 -3905 y(The)f(shell)h(uses)g Fr(dynamic)g(scoping)39 b -Fu(to)32 b(con)m(trol)g(a)f(v)-5 b(ariable's)32 b(visibilit)m(y)h -(within)d(functions.)42 b(With)150 4015 y(dynamic)31 -b(scoping,)i(visible)e(v)-5 b(ariables)32 b(and)f(their)h(v)-5 -b(alues)32 b(are)f(a)h(result)g(of)f(the)h(sequence)g(of)f(function)150 -4125 y(calls)37 b(that)g(caused)g(execution)g(to)g(reac)m(h)g(the)g -(curren)m(t)f(function.)58 b(The)36 b(v)-5 b(alue)36 -b(of)h(a)g(v)-5 b(ariable)37 b(that)g(a)150 4234 y(function)24 -b(sees)g(dep)s(ends)f(on)h(its)g(v)-5 b(alue)25 b(within)e(its)i -(caller,)i(if)d(an)m(y)-8 b(,)26 b(whether)e(that)g(caller)i(is)e(the)g -Ft(")p Fu(global)p Ft(")150 4344 y Fu(scop)s(e)41 b(or)g(another)g -(shell)g(function.)73 b(This)40 b(is)h(also)h(the)f(v)-5 -b(alue)41 b(that)h(a)f(lo)s(cal)i(v)-5 b(ariable)41 b(declaration)150 -4453 y Ft(")p Fu(shado)m(ws)p Ft(")p Fu(,)30 b(and)g(the)g(v)-5 -b(alue)31 b(that)g(is)f(restored)h(when)e(the)i(function)f(returns.)275 -4593 y(F)-8 b(or)41 b(example,)j(if)d(a)g(v)-5 b(ariable)41 -b Fr(v)-5 b(ar)48 b Fu(is)40 b(declared)h(as)g(lo)s(cal)h(in)f -(function)f Fr(func1)p Fu(,)j(and)d Fr(func1)48 b Fu(calls)150 -4702 y(another)33 b(function)g Fr(func2)p Fu(,)g(references)g(to)h +5340 y(unmo)s(di\014ed.)39 b(When)30 b(the)g(function)g(returns,)g(the) +g(global)i(v)-5 b(ariable)31 b(is)g(once)g(again)g(visible.)p +eop end +%%Page: 19 25 +TeXDict begin 19 24 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(19)275 299 +y(The)30 b(shell)h(uses)g Fr(dynamic)g(scoping)39 b Fu(to)32 +b(con)m(trol)g(a)f(v)-5 b(ariable's)32 b(visibilit)m(y)h(within)d +(functions.)42 b(With)150 408 y(dynamic)31 b(scoping,)i(visible)e(v)-5 +b(ariables)32 b(and)f(their)h(v)-5 b(alues)32 b(are)f(a)h(result)g(of)f +(the)h(sequence)g(of)f(function)150 518 y(calls)37 b(that)g(caused)g +(execution)g(to)g(reac)m(h)g(the)g(curren)m(t)f(function.)58 +b(The)36 b(v)-5 b(alue)36 b(of)h(a)g(v)-5 b(ariable)37 +b(that)g(a)150 628 y(function)24 b(sees)g(dep)s(ends)f(on)h(its)g(v)-5 +b(alue)25 b(within)e(its)i(caller,)i(if)d(an)m(y)-8 b(,)26 +b(whether)e(that)g(caller)i(is)e(the)g Ft(")p Fu(global)p +Ft(")150 737 y Fu(scop)s(e)41 b(or)g(another)g(shell)g(function.)73 +b(This)40 b(is)h(also)h(the)f(v)-5 b(alue)41 b(that)h(a)f(lo)s(cal)i(v) +-5 b(ariable)41 b(declaration)150 847 y Ft(")p Fu(shado)m(ws)p +Ft(")p Fu(,)30 b(and)g(the)g(v)-5 b(alue)31 b(that)g(is)f(restored)h +(when)e(the)i(function)f(returns.)275 991 y(F)-8 b(or)41 +b(example,)j(if)d(a)g(v)-5 b(ariable)41 b Fr(v)-5 b(ar)48 +b Fu(is)40 b(declared)h(as)g(lo)s(cal)h(in)f(function)f +Fr(func1)p Fu(,)j(and)d Fr(func1)48 b Fu(calls)150 1101 +y(another)33 b(function)g Fr(func2)p Fu(,)g(references)g(to)h Fr(v)-5 b(ar)39 b Fu(made)33 b(from)f(within)h Fr(func2)39 -b Fu(will)34 b(resolv)m(e)g(to)g(the)f(lo)s(cal)150 4812 +b Fu(will)34 b(resolv)m(e)g(to)g(the)f(lo)s(cal)150 1210 y(v)-5 b(ariable)31 b Fr(v)-5 b(ar)37 b Fu(from)30 b Fr(func1)p Fu(,)g(shado)m(wing)h(an)m(y)f(global)i(v)-5 -b(ariable)31 b(named)f Fr(v)-5 b(ar)p Fu(.)275 4951 y(The)29 +b(ariable)31 b(named)f Fr(v)-5 b(ar)p Fu(.)275 1355 y(The)29 b(follo)m(wing)j(script)f(demonstrates)f(this)h(b)s(eha)m(vior.)40 b(When)31 b(executed,)g(the)g(script)f(displa)m(ys)390 -5091 y Ft(In)47 b(func2,)f(var)h(=)h(func1)e(local)390 -5230 y(func1\(\))390 5340 y({)p eop end -%%Page: 19 25 -TeXDict begin 19 24 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(19)581 299 -y Ft(local)46 b(var='func1)f(local')581 408 y(func2)390 -518 y(})390 737 y(func2\(\))390 847 y({)581 956 y(echo)i("In)f(func2,)h -(var)f(=)i($var")390 1066 y(})390 1285 y(var=global)390 -1395 y(func1)275 1526 y Fu(The)32 b Ft(unset)g Fu(builtin)g(also)i -(acts)g(using)e(the)i(same)f(dynamic)g(scop)s(e:)46 b(if)33 -b(a)g(v)-5 b(ariable)34 b(is)f(lo)s(cal)h(to)g(the)150 -1636 y(curren)m(t)i(scop)s(e,)h Ft(unset)e Fu(will)h(unset)g(it;)j -(otherwise)e(the)f(unset)f(will)h(refer)g(to)h(the)f(v)-5 -b(ariable)37 b(found)d(in)150 1745 y(an)m(y)j(calling)h(scop)s(e)f(as)g -(describ)s(ed)f(ab)s(o)m(v)m(e.)61 b(If)36 b(a)h(v)-5 -b(ariable)38 b(at)f(the)g(curren)m(t)g(lo)s(cal)h(scop)s(e)e(is)h -(unset,)h(it)150 1855 y(will)27 b(remain)h(so)f(un)m(til)g(it)h(is)f -(reset)h(in)f(that)g(scop)s(e)h(or)f(un)m(til)g(the)h(function)e -(returns.)39 b(Once)27 b(the)g(function)150 1965 y(returns,)34 -b(an)m(y)h(instance)g(of)f(the)g(v)-5 b(ariable)35 b(at)g(a)g(previous) -e(scop)s(e)i(will)f(b)s(ecome)h(visible.)52 b(If)34 b(the)g(unset)150 -2074 y(acts)e(on)f(a)h(v)-5 b(ariable)32 b(at)g(a)f(previous)g(scop)s -(e,)h(an)m(y)f(instance)h(of)f(a)h(v)-5 b(ariable)32 -b(with)f(that)h(name)f(that)h(had)150 2184 y(b)s(een)e(shado)m(w)m(ed)g -(will)h(b)s(ecome)g(visible.)275 2315 y(F)-8 b(unction)51 -b(names)f(and)g(de\014nitions)g(ma)m(y)i(b)s(e)e(listed)h(with)f(the)h -Ft(-f)f Fu(option)h(to)g(the)g Ft(declare)150 2425 y -Fu(\()p Ft(typeset)p Fu(\))35 b(builtin)g(command)h(\(see)h(Section)g -(4.2)g([Bash)f(Builtins],)i(page)f(50\).)59 b(The)35 -b Ft(-F)h Fu(option)g(to)150 2535 y Ft(declare)e Fu(or)i -Ft(typeset)e Fu(will)i(list)h(the)f(function)g(names)g(only)g(\(and)g -(optionally)h(the)f(source)g(\014le)h(and)150 2644 y(line)c(n)m(um)m(b) -s(er,)g(if)f(the)h Ft(extdebug)e Fu(shell)i(option)g(is)g(enabled\).)49 -b(F)-8 b(unctions)33 b(ma)m(y)h(b)s(e)e(exp)s(orted)g(so)h(that)150 -2754 y(subshells)j(automatically)k(ha)m(v)m(e)f(them)e(de\014ned)f -(with)h(the)h Ft(-f)e Fu(option)i(to)g(the)g Ft(export)d -Fu(builtin)i(\(see)150 2863 y(Section)31 b(4.1)h([Bourne)e(Shell)g -(Builtins],)h(page)h(43\).)275 2995 y(F)-8 b(unctions)33 -b(ma)m(y)g(b)s(e)g(recursiv)m(e.)48 b(The)32 b Ft(FUNCNEST)f -Fu(v)-5 b(ariable)34 b(ma)m(y)f(b)s(e)f(used)g(to)i(limit)g(the)f -(depth)f(of)150 3104 y(the)27 b(function)f(call)i(stac)m(k)h(and)d -(restrict)h(the)g(n)m(um)m(b)s(er)f(of)h(function)f(in)m(v)m(o)s -(cations.)42 b(By)27 b(default,)g(no)g(limit)150 3214 -y(is)j(placed)h(on)g(the)f(n)m(um)m(b)s(er)f(of)i(recursiv)m(e)f -(calls.)150 3449 y Fs(3.4)68 b(Shell)45 b(P)l(arameters)150 -3608 y Fu(A)23 b Fr(parameter)31 b Fu(is)23 b(an)g(en)m(tit)m(y)i(that) +1499 y Ft(In)47 b(func2,)f(var)h(=)h(func1)e(local)390 +1643 y(func1\(\))390 1753 y({)581 1862 y(local)g(var='func1)f(local') +581 1972 y(func2)390 2081 y(})390 2301 y(func2\(\))390 +2410 y({)581 2520 y(echo)i("In)f(func2,)h(var)f(=)i($var")390 +2629 y(})390 2849 y(var=global)390 2958 y(func1)275 3102 +y Fu(The)32 b Ft(unset)g Fu(builtin)g(also)i(acts)g(using)e(the)i(same) +f(dynamic)g(scop)s(e:)46 b(if)33 b(a)g(v)-5 b(ariable)34 +b(is)f(lo)s(cal)h(to)g(the)150 3212 y(curren)m(t)i(scop)s(e,)h +Ft(unset)e Fu(will)h(unset)g(it;)j(otherwise)e(the)f(unset)f(will)h +(refer)g(to)h(the)f(v)-5 b(ariable)37 b(found)d(in)150 +3322 y(an)m(y)j(calling)h(scop)s(e)f(as)g(describ)s(ed)f(ab)s(o)m(v)m +(e.)61 b(If)36 b(a)h(v)-5 b(ariable)38 b(at)f(the)g(curren)m(t)g(lo)s +(cal)h(scop)s(e)e(is)h(unset,)h(it)150 3431 y(will)27 +b(remain)h(so)f(un)m(til)g(it)h(is)f(reset)h(in)f(that)g(scop)s(e)h(or) +f(un)m(til)g(the)h(function)e(returns.)39 b(Once)27 b(the)g(function) +150 3541 y(returns,)34 b(an)m(y)h(instance)g(of)f(the)g(v)-5 +b(ariable)35 b(at)g(a)g(previous)e(scop)s(e)i(will)f(b)s(ecome)h +(visible.)52 b(If)34 b(the)g(unset)150 3650 y(acts)e(on)f(a)h(v)-5 +b(ariable)32 b(at)g(a)f(previous)g(scop)s(e,)h(an)m(y)f(instance)h(of)f +(a)h(v)-5 b(ariable)32 b(with)f(that)h(name)f(that)h(had)150 +3760 y(b)s(een)e(shado)m(w)m(ed)g(will)h(b)s(ecome)g(visible.)275 +3904 y(F)-8 b(unction)51 b(names)f(and)g(de\014nitions)g(ma)m(y)i(b)s +(e)e(listed)h(with)f(the)h Ft(-f)f Fu(option)h(to)g(the)g +Ft(declare)150 4014 y Fu(\()p Ft(typeset)p Fu(\))35 b(builtin)g +(command)h(\(see)h(Section)g(4.2)g([Bash)f(Builtins],)i(page)f(50\).)59 +b(The)35 b Ft(-F)h Fu(option)g(to)150 4123 y Ft(declare)e +Fu(or)i Ft(typeset)e Fu(will)i(list)h(the)f(function)g(names)g(only)g +(\(and)g(optionally)h(the)f(source)g(\014le)h(and)150 +4233 y(line)c(n)m(um)m(b)s(er,)g(if)f(the)h Ft(extdebug)e +Fu(shell)i(option)g(is)g(enabled\).)49 b(F)-8 b(unctions)33 +b(ma)m(y)h(b)s(e)e(exp)s(orted)g(so)h(that)150 4343 y(subshells)j +(automatically)k(ha)m(v)m(e)f(them)e(de\014ned)f(with)h(the)h +Ft(-f)e Fu(option)i(to)g(the)g Ft(export)d Fu(builtin)i(\(see)150 +4452 y(Section)31 b(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(43\).) +275 4596 y(F)-8 b(unctions)33 b(ma)m(y)g(b)s(e)g(recursiv)m(e.)48 +b(The)32 b Ft(FUNCNEST)f Fu(v)-5 b(ariable)34 b(ma)m(y)f(b)s(e)f(used)g +(to)i(limit)g(the)f(depth)f(of)150 4706 y(the)27 b(function)f(call)i +(stac)m(k)h(and)d(restrict)h(the)g(n)m(um)m(b)s(er)f(of)h(function)f +(in)m(v)m(o)s(cations.)42 b(By)27 b(default,)g(no)g(limit)150 +4816 y(is)j(placed)h(on)g(the)f(n)m(um)m(b)s(er)f(of)i(recursiv)m(e)f +(calls.)150 5071 y Fs(3.4)68 b(Shell)45 b(P)l(arameters)150 +5230 y Fu(A)23 b Fr(parameter)31 b Fu(is)23 b(an)g(en)m(tit)m(y)i(that) f(stores)g(v)-5 b(alues.)39 b(It)23 b(can)h(b)s(e)f(a)g Ft(name)p Fu(,)h(a)g(n)m(um)m(b)s(er,)f(or)h(one)f(of)h(the)f(sp)s -(ecial)150 3718 y(c)m(haracters)i(listed)e(b)s(elo)m(w.)39 +(ecial)150 5340 y(c)m(haracters)i(listed)e(b)s(elo)m(w.)39 b(A)23 b Fr(v)-5 b(ariable)30 b Fu(is)23 b(a)g(parameter)h(denoted)f(b) m(y)h(a)f Ft(name)p Fu(.)37 b(A)24 b(v)-5 b(ariable)24 -b(has)f(a)g Fr(v)-5 b(alue)150 3827 y Fu(and)33 b(zero)i(or)f(more)g -Fr(attributes)p Fu(.)52 b(A)m(ttributes)35 b(are)f(assigned)g(using)g -(the)g Ft(declare)e Fu(builtin)h(command)150 3937 y(\(see)e(the)g -(description)f(of)h(the)f Ft(declare)f Fu(builtin)h(in)g(Section)h(4.2) -g([Bash)g(Builtins],)g(page)g(50\).)275 4069 y(A)d(parameter)h(is)g -(set)g(if)f(it)h(has)f(b)s(een)g(assigned)h(a)g(v)-5 -b(alue.)40 b(The)28 b(n)m(ull)h(string)f(is)h(a)g(v)-5 -b(alid)28 b(v)-5 b(alue.)41 b(Once)150 4178 y(a)31 b(v)-5 -b(ariable)31 b(is)f(set,)i(it)e(ma)m(y)h(b)s(e)f(unset)g(only)h(b)m(y)f -(using)g(the)g Ft(unset)f Fu(builtin)h(command.)275 4310 -y(A)g(v)-5 b(ariable)31 b(ma)m(y)g(b)s(e)f(assigned)g(to)i(b)m(y)e(a)h -(statemen)m(t)h(of)e(the)h(form)390 4441 y Fj(name)p -Ft(=[)p Fj(value)p Ft(])150 4573 y Fu(If)j Fr(v)-5 b(alue)40 +b(has)f(a)g Fr(v)-5 b(alue)p eop end +%%Page: 20 26 +TeXDict begin 20 25 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(20)150 299 +y(and)33 b(zero)i(or)f(more)g Fr(attributes)p Fu(.)52 +b(A)m(ttributes)35 b(are)f(assigned)g(using)g(the)g Ft(declare)e +Fu(builtin)h(command)150 408 y(\(see)e(the)g(description)f(of)h(the)f +Ft(declare)f Fu(builtin)h(in)g(Section)h(4.2)g([Bash)g(Builtins],)g +(page)g(50\).)275 542 y(A)d(parameter)h(is)g(set)g(if)f(it)h(has)f(b)s +(een)g(assigned)h(a)g(v)-5 b(alue.)40 b(The)28 b(n)m(ull)h(string)f(is) +h(a)g(v)-5 b(alid)28 b(v)-5 b(alue.)41 b(Once)150 652 +y(a)31 b(v)-5 b(ariable)31 b(is)f(set,)i(it)e(ma)m(y)h(b)s(e)f(unset)g +(only)h(b)m(y)f(using)g(the)g Ft(unset)f Fu(builtin)h(command.)275 +786 y(A)g(v)-5 b(ariable)31 b(ma)m(y)g(b)s(e)f(assigned)g(to)i(b)m(y)e +(a)h(statemen)m(t)h(of)e(the)h(form)390 920 y Fj(name)p +Ft(=[)p Fj(value)p Ft(])150 1054 y Fu(If)j Fr(v)-5 b(alue)40 b Fu(is)35 b(not)g(giv)m(en,)h(the)f(v)-5 b(ariable)35 b(is)g(assigned)g(the)f(n)m(ull)h(string.)53 b(All)35 b Fr(v)-5 b(alue)5 b Fu(s)35 b(undergo)f(tilde)h(ex-)150 -4682 y(pansion,)h(parameter)f(and)f(v)-5 b(ariable)36 +1163 y(pansion,)h(parameter)f(and)f(v)-5 b(ariable)36 b(expansion,)f(command)g(substitution,)h(arithmetic)g(expansion,)150 -4792 y(and)k(quote)h(remo)m(v)-5 b(al)42 b(\(detailed)h(b)s(elo)m(w\).) +1273 y(and)k(quote)h(remo)m(v)-5 b(al)42 b(\(detailed)h(b)s(elo)m(w\).) 72 b(If)40 b(the)h(v)-5 b(ariable)41 b(has)g(its)g Ft(integer)e -Fu(attribute)i(set,)j(then)150 4902 y Fr(v)-5 b(alue)38 +Fu(attribute)i(set,)j(then)150 1383 y Fr(v)-5 b(alue)38 b Fu(is)33 b(ev)-5 b(aluated)34 b(as)f(an)g(arithmetic)h(expression)f (ev)m(en)h(if)e(the)h Ft($\(\(...)o(\)\))f Fu(expansion)h(is)g(not)g -(used)150 5011 y(\(see)e(Section)g(3.5.5)i([Arithmetic)e(Expansion],)f -(page)h(30\).)42 b(W)-8 b(ord)31 b(splitting)g(is)g(not)f(p)s -(erformed,)f(with)150 5121 y(the)35 b(exception)h(of)f +(used)150 1492 y(\(see)e(Section)g(3.5.5)i([Arithmetic)e(Expansion],)f +(page)h(31\).)42 b(W)-8 b(ord)31 b(splitting)g(is)g(not)f(p)s +(erformed,)f(with)150 1602 y(the)35 b(exception)h(of)f Ft("$@")f Fu(as)h(explained)g(b)s(elo)m(w.)54 b(Filename)36 b(expansion)f(is)g(not)g(p)s(erformed.)53 b(Assign-)150 -5230 y(men)m(t)33 b(statemen)m(ts)h(ma)m(y)f(also)g(app)s(ear)f(as)g +1711 y(men)m(t)33 b(statemen)m(ts)h(ma)m(y)f(also)g(app)s(ear)f(as)g (argumen)m(ts)h(to)g(the)g Ft(alias)p Fu(,)e Ft(declare)p -Fu(,)g Ft(typeset)p Fu(,)g Ft(export)p Fu(,)150 5340 +Fu(,)g Ft(typeset)p Fu(,)g Ft(export)p Fu(,)150 1821 y Ft(readonly)p Fu(,)38 b(and)g Ft(local)f Fu(builtin)h(commands)g(\()p Fr(declaration)j Fu(commands\).)64 b(When)39 b(in)f Fm(posix)f -Fu(mo)s(de)p eop end -%%Page: 20 26 -TeXDict begin 20 25 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(20)150 299 -y(\(see)33 b(Section)f(6.11)h([Bash)g(POSIX)d(Mo)s(de],)j(page)f(98\),) -i(these)e(builtins)f(ma)m(y)i(app)s(ear)e(in)g(a)h(command)150 -408 y(after)i(one)g(or)f(more)h(instances)g(of)f(the)h +Fu(mo)s(de)150 1931 y(\(see)c(Section)f(6.11)h([Bash)g(POSIX)d(Mo)s +(de],)j(page)f(98\),)i(these)e(builtins)f(ma)m(y)i(app)s(ear)e(in)g(a)h +(command)150 2040 y(after)i(one)g(or)f(more)h(instances)g(of)f(the)h Ft(command)d Fu(builtin)i(and)g(retain)h(these)g(assignmen)m(t)g -(statemen)m(t)150 518 y(prop)s(erties.)275 645 y(In)29 +(statemen)m(t)150 2150 y(prop)s(erties.)275 2284 y(In)29 b(the)h(con)m(text)i(where)d(an)h(assignmen)m(t)h(statemen)m(t)h(is)e (assigning)g(a)h(v)-5 b(alue)30 b(to)h(a)f(shell)g(v)-5 -b(ariable)31 b(or)150 755 y(arra)m(y)24 b(index)f(\(see)h(Section)g +b(ariable)31 b(or)150 2393 y(arra)m(y)24 b(index)f(\(see)h(Section)g (6.7)g([Arra)m(ys],)i(page)e(93\),)i(the)e(`)p Ft(+=)p Fu(')f(op)s(erator)g(can)h(b)s(e)f(used)f(to)i(app)s(end)e(to)i(or)150 -865 y(add)k(to)i(the)f(v)-5 b(ariable's)30 b(previous)e(v)-5 +2503 y(add)k(to)i(the)f(v)-5 b(ariable's)30 b(previous)e(v)-5 b(alue.)41 b(This)28 b(includes)g(argumen)m(ts)i(to)f(builtin)g -(commands)f(suc)m(h)h(as)150 974 y Ft(declare)e Fu(that)i(accept)h +(commands)f(suc)m(h)h(as)150 2612 y Ft(declare)e Fu(that)i(accept)h (assignmen)m(t)f(statemen)m(ts)h(\()p Fr(declaration)h Fu(commands\).)40 b(When)28 b(`)p Ft(+=)p Fu(')h(is)f(applied)150 -1084 y(to)d(a)f(v)-5 b(ariable)24 b(for)g(whic)m(h)f(the)h +2722 y(to)d(a)f(v)-5 b(ariable)24 b(for)g(whic)m(h)f(the)h Fr(in)m(teger)32 b Fu(attribute)24 b(has)g(b)s(een)f(set,)j Fr(v)-5 b(alue)29 b Fu(is)24 b(ev)-5 b(aluated)25 b(as)f(an)g -(arithmetic)150 1193 y(expression)30 b(and)f(added)g(to)i(the)f(v)-5 +(arithmetic)150 2832 y(expression)30 b(and)f(added)g(to)i(the)f(v)-5 b(ariable's)30 b(curren)m(t)g(v)-5 b(alue,)31 b(whic)m(h)e(is)h(also)h (ev)-5 b(aluated.)42 b(When)29 b(`)p Ft(+=)p Fu(')h(is)150 -1303 y(applied)25 b(to)h(an)f(arra)m(y)h(v)-5 b(ariable)26 +2941 y(applied)25 b(to)h(an)f(arra)m(y)h(v)-5 b(ariable)26 b(using)f(comp)s(ound)f(assignmen)m(t)i(\(see)g(Section)g(6.7)g([Arra)m -(ys],)h(page)f(93\),)150 1413 y(the)33 b(v)-5 b(ariable's)33 +(ys],)h(page)f(93\),)150 3051 y(the)33 b(v)-5 b(ariable's)33 b(v)-5 b(alue)33 b(is)g(not)g(unset)f(\(as)h(it)g(is)g(when)e(using)i (`)p Ft(=)p Fu('\),)g(and)f(new)g(v)-5 b(alues)33 b(are)g(app)s(ended)e -(to)150 1522 y(the)26 b(arra)m(y)h(b)s(eginning)e(at)i(one)f(greater)h +(to)150 3160 y(the)26 b(arra)m(y)h(b)s(eginning)e(at)i(one)f(greater)h (than)f(the)g(arra)m(y's)h(maxim)m(um)f(index)f(\(for)i(indexed)e(arra) -m(ys\),)j(or)150 1632 y(added)c(as)i(additional)g(k)m(ey-v)-5 +m(ys\),)j(or)150 3270 y(added)c(as)i(additional)g(k)m(ey-v)-5 b(alue)26 b(pairs)f(in)g(an)g(asso)s(ciativ)m(e)j(arra)m(y)-8 b(.)40 b(When)24 b(applied)h(to)h(a)g(string-v)-5 b(alued)150 -1741 y(v)g(ariable,)31 b Fr(v)-5 b(alue)36 b Fu(is)31 +3380 y(v)g(ariable,)31 b Fr(v)-5 b(alue)36 b Fu(is)31 b(expanded)e(and)h(app)s(ended)f(to)i(the)f(v)-5 b(ariable's)32 -b(v)-5 b(alue.)275 1869 y(A)28 b(v)-5 b(ariable)29 b(can)f(b)s(e)f +b(v)-5 b(alue.)275 3513 y(A)28 b(v)-5 b(ariable)29 b(can)f(b)s(e)f (assigned)i(the)f Fr(nameref)45 b Fu(attribute)29 b(using)f(the)g Ft(-n)f Fu(option)i(to)g(the)f Ft(declare)e Fu(or)150 -1978 y Ft(local)f Fu(builtin)h(commands)g(\(see)i(Section)f(4.2)h +3623 y Ft(local)f Fu(builtin)h(commands)g(\(see)i(Section)f(4.2)h ([Bash)f(Builtins],)h(page)f(50\))h(to)f(create)i(a)e -Fr(nameref)p Fu(,)g(or)g(a)150 2088 y(reference)f(to)g(another)f(v)-5 +Fr(nameref)p Fu(,)g(or)g(a)150 3733 y(reference)f(to)g(another)f(v)-5 b(ariable.)40 b(This)24 b(allo)m(ws)j(v)-5 b(ariables)26 b(to)g(b)s(e)e(manipulated)h(indirectly)-8 b(.)40 b(Whenev)m(er)150 -2197 y(the)31 b(nameref)g(v)-5 b(ariable)32 b(is)f(referenced,)g +3842 y(the)31 b(nameref)g(v)-5 b(ariable)32 b(is)f(referenced,)g (assigned)h(to,)g(unset,)f(or)g(has)f(its)i(attributes)f(mo)s(di\014ed) -f(\(other)150 2307 y(than)c(using)g(or)h(c)m(hanging)g(the)g(nameref)f +f(\(other)150 3952 y(than)c(using)g(or)h(c)m(hanging)g(the)g(nameref)f (attribute)i(itself)7 b(\),)29 b(the)d(op)s(eration)h(is)g(actually)h -(p)s(erformed)d(on)150 2417 y(the)31 b(v)-5 b(ariable)31 +(p)s(erformed)d(on)150 4061 y(the)31 b(v)-5 b(ariable)31 b(sp)s(eci\014ed)f(b)m(y)g(the)h(nameref)f(v)-5 b(ariable's)31 b(v)-5 b(alue.)42 b(A)30 b(nameref)g(is)h(commonly)g(used)e(within)150 -2526 y(shell)h(functions)g(to)h(refer)f(to)h(a)f(v)-5 +4171 y(shell)h(functions)g(to)h(refer)f(to)h(a)f(v)-5 b(ariable)31 b(whose)f(name)h(is)f(passed)g(as)g(an)g(argumen)m(t)h(to) -g(the)f(function.)150 2636 y(F)-8 b(or)31 b(instance,)g(if)g(a)g(v)-5 +g(the)f(function.)150 4281 y(F)-8 b(or)31 b(instance,)g(if)g(a)g(v)-5 b(ariable)31 b(name)f(is)h(passed)e(to)j(a)e(shell)h(function)f(as)h -(its)f(\014rst)g(argumen)m(t,)h(running)390 2763 y Ft(declare)46 -b(-n)h(ref=$1)150 2890 y Fu(inside)31 b(the)h(function)f(creates)i(a)g +(its)f(\014rst)g(argumen)m(t,)h(running)390 4415 y Ft(declare)46 +b(-n)h(ref=$1)150 4548 y Fu(inside)31 b(the)h(function)f(creates)i(a)g (nameref)e(v)-5 b(ariable)32 b Fr(ref)49 b Fu(whose)32 b(v)-5 b(alue)32 b(is)g(the)f(v)-5 b(ariable)33 b(name)e(passed)150 -3000 y(as)e(the)h(\014rst)e(argumen)m(t.)41 b(References)30 +4658 y(as)e(the)h(\014rst)e(argumen)m(t.)41 b(References)30 b(and)e(assignmen)m(ts)i(to)g Fr(ref)p Fu(,)f(and)g(c)m(hanges)h(to)g -(its)f(attributes,)i(are)150 3110 y(treated)g(as)f(references,)g +(its)f(attributes,)i(are)150 4768 y(treated)g(as)f(references,)g (assignmen)m(ts,)h(and)e(attribute)i(mo)s(di\014cations)f(to)h(the)f(v) --5 b(ariable)30 b(whose)g(name)150 3219 y(w)m(as)h(passed)f(as)g -Ft($1)p Fu(.)275 3347 y(If)h(the)g(con)m(trol)i(v)-5 +-5 b(ariable)30 b(whose)g(name)150 4877 y(w)m(as)h(passed)f(as)g +Ft($1)p Fu(.)275 5011 y(If)h(the)g(con)m(trol)i(v)-5 b(ariable)32 b(in)g(a)f Ft(for)g Fu(lo)s(op)h(has)f(the)g(nameref)h (attribute,)g(the)g(list)g(of)g(w)m(ords)f(can)h(b)s(e)150 -3456 y(a)h(list)h(of)f(shell)g(v)-5 b(ariables,)34 b(and)e(a)i(name)f +5121 y(a)h(list)h(of)f(shell)g(v)-5 b(ariables,)34 b(and)e(a)i(name)f (reference)g(will)g(b)s(e)f(established)h(for)g(eac)m(h)h(w)m(ord)e(in) -h(the)g(list,)150 3566 y(in)c(turn,)g(when)g(the)h(lo)s(op)g(is)g +h(the)g(list,)150 5230 y(in)c(turn,)g(when)g(the)h(lo)s(op)g(is)g (executed.)41 b(Arra)m(y)30 b(v)-5 b(ariables)30 b(cannot)h(b)s(e)e -(giv)m(en)h(the)g(nameref)g(attribute.)150 3675 y(Ho)m(w)m(ev)m(er,)39 +(giv)m(en)h(the)g(nameref)g(attribute.)150 5340 y(Ho)m(w)m(ev)m(er,)39 b(nameref)d(v)-5 b(ariables)36 b(can)g(reference)g(arra)m(y)g(v)-5 -b(ariables)37 b(and)e(subscripted)f(arra)m(y)i(v)-5 b(ariables.)150 -3785 y(Namerefs)36 b(can)f(b)s(e)g(unset)g(using)g(the)h -Ft(-n)e Fu(option)i(to)g(the)g Ft(unset)e Fu(builtin)h(\(see)h(Section) -g(4.1)h([Bourne)150 3894 y(Shell)43 b(Builtins],)j(page)e(43\).)79 +b(ariables)37 b(and)e(subscripted)f(arra)m(y)i(v)-5 b(ariables.)p +eop end +%%Page: 21 27 +TeXDict begin 21 26 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(21)150 299 +y(Namerefs)36 b(can)f(b)s(e)g(unset)g(using)g(the)h Ft(-n)e +Fu(option)i(to)g(the)g Ft(unset)e Fu(builtin)h(\(see)h(Section)g(4.1)h +([Bourne)150 408 y(Shell)43 b(Builtins],)j(page)e(43\).)79 b(Otherwise,)45 b(if)e Ft(unset)e Fu(is)i(executed)h(with)e(the)h(name) -g(of)g(a)g(nameref)150 4004 y(v)-5 b(ariable)31 b(as)g(an)f(argumen)m +g(of)g(a)g(nameref)150 518 y(v)-5 b(ariable)31 b(as)g(an)f(argumen)m (t,)h(the)g(v)-5 b(ariable)31 b(referenced)f(b)m(y)g(the)h(nameref)f(v) --5 b(ariable)31 b(will)g(b)s(e)f(unset.)150 4189 y Fk(3.4.1)63 -b(P)m(ositional)41 b(P)m(arameters)150 4336 y Fu(A)28 +-5 b(ariable)31 b(will)g(b)s(e)f(unset.)150 741 y Fk(3.4.1)63 +b(P)m(ositional)41 b(P)m(arameters)150 888 y Fu(A)28 b Fr(p)s(ositional)h(parameter)35 b Fu(is)28 b(a)g(parameter)g(denoted) g(b)m(y)g(one)g(or)g(more)g(digits,)h(other)g(than)e(the)h(single)150 -4446 y(digit)34 b Ft(0)p Fu(.)48 b(P)m(ositional)36 b(parameters)d(are) -g(assigned)h(from)e(the)i(shell's)f(argumen)m(ts)g(when)f(it)i(is)f(in) -m(v)m(ok)m(ed,)150 4555 y(and)38 b(ma)m(y)i(b)s(e)e(reassigned)i(using) -e(the)h Ft(set)g Fu(builtin)f(command.)67 b(P)m(ositional)41 -b(parameter)e Ft(N)g Fu(ma)m(y)h(b)s(e)150 4665 y(referenced)34 +998 y(digit)34 b Ft(0)p Fu(.)48 b(P)m(ositional)36 b(parameters)d(are)g +(assigned)h(from)e(the)i(shell's)f(argumen)m(ts)g(when)f(it)i(is)f(in)m +(v)m(ok)m(ed,)150 1107 y(and)38 b(ma)m(y)i(b)s(e)e(reassigned)i(using)e +(the)h Ft(set)g Fu(builtin)f(command.)67 b(P)m(ositional)41 +b(parameter)e Ft(N)g Fu(ma)m(y)h(b)s(e)150 1217 y(referenced)34 b(as)h Ft(${N})p Fu(,)g(or)f(as)h Ft($N)e Fu(when)h Ft(N)g Fu(consists)h(of)f(a)h(single)g(digit.)54 b(P)m(ositional)37 -b(parameters)d(ma)m(y)150 4774 y(not)j(b)s(e)f(assigned)h(to)g(with)f +b(parameters)d(ma)m(y)150 1327 y(not)j(b)s(e)f(assigned)h(to)g(with)f (assignmen)m(t)i(statemen)m(ts.)61 b(The)36 b Ft(set)g Fu(and)g Ft(shift)f Fu(builtins)h(are)h(used)f(to)150 -4884 y(set)k(and)f(unset)f(them)i(\(see)g(Chapter)f(4)g([Shell)h +1436 y(set)k(and)f(unset)f(them)i(\(see)g(Chapter)f(4)g([Shell)h (Builtin)g(Commands],)h(page)f(43\).)68 b(The)39 b(p)s(ositional)150 -4993 y(parameters)44 b(are)g(temp)s(orarily)g(replaced)h(when)e(a)h +1546 y(parameters)44 b(are)g(temp)s(orarily)g(replaced)h(when)e(a)h (shell)g(function)g(is)g(executed)g(\(see)h(Section)g(3.3)150 -5103 y([Shell)30 b(F)-8 b(unctions],)32 b(page)f(17\).)275 -5230 y(When)c(a)i(p)s(ositional)g(parameter)g(consisting)f(of)h(more)f +1655 y([Shell)30 b(F)-8 b(unctions],)32 b(page)f(17\).)275 +1814 y(When)c(a)i(p)s(ositional)g(parameter)g(consisting)f(of)h(more)f (than)g(a)g(single)h(digit)g(is)f(expanded,)g(it)h(m)m(ust)150 -5340 y(b)s(e)h(enclosed)h(in)f(braces.)p eop end -%%Page: 21 27 -TeXDict begin 21 26 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(21)150 299 -y Fk(3.4.2)63 b(Sp)s(ecial)41 b(P)m(arameters)150 446 -y Fu(The)d(shell)g(treats)h(sev)m(eral)g(parameters)f(sp)s(ecially)-8 -b(.)65 b(These)38 b(parameters)h(ma)m(y)f(only)g(b)s(e)g(referenced;) -150 555 y(assignmen)m(t)31 b(to)g(them)g(is)f(not)h(allo)m(w)m(ed.)150 -722 y Ft(*)432 b Fu(\($*\))38 b(Expands)d(to)i(the)f(p)s(ositional)h +1923 y(b)s(e)h(enclosed)h(in)f(braces.)150 2146 y Fk(3.4.2)63 +b(Sp)s(ecial)41 b(P)m(arameters)150 2293 y Fu(The)d(shell)g(treats)h +(sev)m(eral)g(parameters)f(sp)s(ecially)-8 b(.)65 b(These)38 +b(parameters)h(ma)m(y)f(only)g(b)s(e)g(referenced;)150 +2403 y(assignmen)m(t)31 b(to)g(them)g(is)f(not)h(allo)m(w)m(ed.)150 +2598 y Ft(*)432 b Fu(\($*\))38 b(Expands)d(to)i(the)f(p)s(ositional)h (parameters,)h(starting)f(from)f(one.)59 b(When)36 b(the)g(ex-)630 -831 y(pansion)h(is)h(not)g(within)f(double)g(quotes,)j(eac)m(h)f(p)s -(ositional)f(parameter)g(expands)f(to)i(a)630 941 y(separate)e(w)m +2708 y(pansion)h(is)h(not)g(within)f(double)g(quotes,)j(eac)m(h)f(p)s +(ositional)f(parameter)g(expands)f(to)i(a)630 2817 y(separate)e(w)m (ord.)56 b(In)35 b(con)m(texts)i(where)e(it)h(is)g(p)s(erformed,)g -(those)g(w)m(ords)f(are)h(sub)5 b(ject)35 b(to)630 1051 +(those)g(w)m(ords)f(are)h(sub)5 b(ject)35 b(to)630 2927 y(further)h(w)m(ord)h(splitting)h(and)f(pathname)g(expansion.)61 -b(When)38 b(the)f(expansion)g(o)s(ccurs)630 1160 y(within)25 +b(When)38 b(the)f(expansion)g(o)s(ccurs)630 3037 y(within)25 b(double)h(quotes,)h(it)f(expands)f(to)i(a)f(single)g(w)m(ord)f(with)h -(the)g(v)-5 b(alue)26 b(of)g(eac)m(h)h(param-)630 1270 +(the)g(v)-5 b(alue)26 b(of)g(eac)m(h)h(param-)630 3146 y(eter)32 b(separated)h(b)m(y)e(the)h(\014rst)f(c)m(haracter)i(of)f (the)g Ft(IFS)f Fu(sp)s(ecial)h(v)-5 b(ariable.)45 b(That)32 -b(is,)g Ft("$*")630 1379 y Fu(is)f(equiv)-5 b(alen)m(t)32 +b(is,)g Ft("$*")630 3256 y Fu(is)f(equiv)-5 b(alen)m(t)32 b(to)g Ft("$1)p Fj(c)p Ft($2)p Fj(c)p Ft(...)m(")p Fu(,)f(where)g Fr(c)37 b Fu(is)31 b(the)g(\014rst)f(c)m(haracter)j(of)e(the)g(v)-5 -b(alue)32 b(of)f(the)630 1489 y Ft(IFS)e Fu(v)-5 b(ariable.)41 +b(alue)32 b(of)f(the)630 3365 y Ft(IFS)e Fu(v)-5 b(ariable.)41 b(If)29 b Ft(IFS)g Fu(is)h(unset,)f(the)h(parameters)g(are)g(separated) -g(b)m(y)g(spaces.)41 b(If)29 b Ft(IFS)g Fu(is)630 1599 +g(b)m(y)g(spaces.)41 b(If)29 b Ft(IFS)g Fu(is)630 3475 y(n)m(ull,)i(the)f(parameters)h(are)g(joined)f(without)g(in)m(terv)m -(ening)i(separators.)150 1763 y Ft(@)432 b Fu(\($@\))35 -b(Expands)e(to)i(the)g(p)s(ositional)g(parameters,)h(starting)f(from)f -(one.)53 b(When)34 b(the)g(ex-)630 1872 y(pansion)41 -b(o)s(ccurs)g(within)f(double)h(quotes,)k(eac)m(h)d(parameter)g -(expands)e(to)i(a)g(separate)630 1982 y(w)m(ord.)50 b(That)34 -b(is,)g Ft("$@")f Fu(is)g(equiv)-5 b(alen)m(t)35 b(to)g -Ft("$1")29 b("$2")g(...)o Fu(.)51 b(If)33 b(the)h(double-quoted)f(ex-) -630 2091 y(pansion)38 b(o)s(ccurs)h(within)f(a)h(w)m(ord,)i(the)e -(expansion)g(of)g(the)g(\014rst)f(parameter)h(is)g(joined)630 -2201 y(with)i(the)h(b)s(eginning)e(part)i(of)f(the)h(original)g(w)m -(ord,)i(and)d(the)h(expansion)f(of)g(the)h(last)630 2311 -y(parameter)31 b(is)f(joined)g(with)f(the)i(last)g(part)e(of)i(the)f -(original)h(w)m(ord.)40 b(When)30 b(there)h(are)f(no)630 -2420 y(p)s(ositional)e(parameters,)h Ft("$@")d Fu(and)h -Ft($@)f Fu(expand)h(to)h(nothing)f(\(i.e.,)j(they)e(are)f(remo)m(v)m -(ed\).)150 2584 y Ft(#)432 b Fu(\($#\))31 b(Expands)e(to)i(the)g(n)m +(ening)i(separators.)150 3658 y Ft(@)432 b Fu(\($@\))43 +b(Expands)f(to)h(the)g(p)s(ositional)g(parameters,)k(starting)c(from)f +(one.)78 b(In)42 b(con)m(texts)630 3768 y(where)35 b(w)m(ord)h +(splitting)g(is)g(p)s(erformed,)g(this)g(expands)e(eac)m(h)j(p)s +(ositional)g(parameter)f(to)630 3877 y(a)d(separate)h(w)m(ord;)g(if)f +(not)g(within)g(double)f(quotes,)j(these)e(w)m(ords)g(are)g(sub)5 +b(ject)33 b(to)g(w)m(ord)630 3987 y(splitting.)60 b(In)36 +b(con)m(texts)j(where)d(w)m(ord)g(splitting)h(is)g(not)g(p)s(erformed,) +g(this)f(expands)g(to)630 4097 y(a)c(single)h(w)m(ord)e(with)h(eac)m(h) +h(p)s(ositional)g(parameter)f(separated)g(b)m(y)g(a)g(space.)46 +b(When)32 b(the)630 4206 y(expansion)i(o)s(ccurs)h(within)e(double)i +(quotes,)h(and)e(w)m(ord)g(splitting)h(is)g(p)s(erformed,)f(eac)m(h)630 +4316 y(parameter)23 b(expands)f(to)i(a)f(separate)h(w)m(ord.)37 +b(That)23 b(is,)i Ft("$@")c Fu(is)i(equiv)-5 b(alen)m(t)24 +b(to)g Ft("$1")29 b("$2")630 4425 y(...)o Fu(.)39 b(If)26 +b(the)g(double-quoted)g(expansion)f(o)s(ccurs)h(within)f(a)h(w)m(ord,)h +(the)f(expansion)g(of)g(the)630 4535 y(\014rst)31 b(parameter)h(is)g +(joined)f(with)g(the)h(b)s(eginning)f(part)h(of)f(the)h(original)h(w)m +(ord,)f(and)f(the)630 4645 y(expansion)25 b(of)g(the)h(last)g +(parameter)f(is)h(joined)f(with)g(the)g(last)h(part)f(of)g(the)h +(original)g(w)m(ord.)630 4754 y(When)i(there)g(are)g(no)g(p)s +(ositional)g(parameters,)h Ft("$@")e Fu(and)g Ft($@)h +Fu(expand)f(to)h(nothing)g(\(i.e.,)630 4864 y(they)j(are)f(remo)m(v)m +(ed\).)150 5047 y Ft(#)432 b Fu(\($#\))31 b(Expands)e(to)i(the)g(n)m (um)m(b)s(er)e(of)h(p)s(ositional)i(parameters)e(in)g(decimal.)150 -2748 y Ft(?)432 b Fu(\($?\))88 b(Expands)45 b(to)h(the)g(exit)h(status) +5230 y Ft(?)432 b Fu(\($?\))88 b(Expands)45 b(to)h(the)g(exit)h(status) f(of)g(the)g(most)h(recen)m(tly)g(executed)g(foreground)630 -2858 y(pip)s(eline.)150 3022 y Ft(-)432 b Fu(\($-,)24 -b(a)e(h)m(yphen.\))37 b(Expands)20 b(to)i(the)f(curren)m(t)h(option)f -(\015ags)h(as)f(sp)s(eci\014ed)g(up)s(on)f(in)m(v)m(o)s(cation,)630 -3132 y(b)m(y)38 b(the)h Ft(set)f Fu(builtin)g(command,)j(or)d(those)i -(set)f(b)m(y)f(the)h(shell)g(itself)g(\(suc)m(h)g(as)g(the)g -Ft(-i)630 3241 y Fu(option\).)150 3405 y Ft($)432 b Fu(\($$\))31 -b(Expands)d(to)j(the)e(pro)s(cess)h Fm(id)f Fu(of)h(the)g(shell.)41 -b(In)28 b(a)i Ft(\(\))f Fu(subshell,)h(it)g(expands)e(to)j(the)630 -3515 y(pro)s(cess)f Fm(id)g Fu(of)h(the)g(in)m(v)m(oking)g(shell,)g -(not)g(the)f(subshell.)150 3679 y Ft(!)432 b Fu(\($!\))51 -b(Expands)32 b(to)i(the)g(pro)s(cess)f Fm(id)h Fu(of)f(the)h(job)f -(most)h(recen)m(tly)h(placed)f(in)m(to)g(the)g(bac)m(k-)630 -3789 y(ground,)26 b(whether)g(executed)g(as)h(an)f(async)m(hronous)f -(command)h(or)g(using)g(the)g Ft(bg)f Fu(builtin)630 -3898 y(\(see)31 b(Section)h(7.2)f([Job)f(Con)m(trol)h(Builtins],)g -(page)h(103\).)150 4062 y Ft(0)432 b Fu(\($0\))46 b(Expands)d(to)i(the) -g(name)g(of)f(the)h(shell)g(or)f(shell)h(script.)83 b(This)44 -b(is)g(set)h(at)h(shell)630 4172 y(initialization.)d(If)27 -b(Bash)h(is)g(in)m(v)m(ok)m(ed)h(with)e(a)i(\014le)e(of)h(commands)g -(\(see)g(Section)h(3.8)g([Shell)630 4281 y(Scripts],)g(page)g(41\),)h -Ft($0)e Fu(is)h(set)g(to)g(the)f(name)h(of)f(that)h(\014le.)41 -b(If)28 b(Bash)g(is)h(started)g(with)f(the)630 4391 y -Ft(-c)i Fu(option)h(\(see)h(Section)g(6.1)f([In)m(v)m(oking)h(Bash],)g -(page)f(84\),)i(then)d Ft($0)g Fu(is)h(set)g(to)h(the)f(\014rst)630 -4501 y(argumen)m(t)g(after)g(the)g(string)g(to)g(b)s(e)f(executed,)i -(if)f(one)g(is)f(presen)m(t.)42 b(Otherwise,)31 b(it)g(is)f(set)630 -4610 y(to)h(the)g(\014lename)f(used)g(to)h(in)m(v)m(ok)m(e)h(Bash,)f -(as)g(giv)m(en)g(b)m(y)f(argumen)m(t)h(zero.)150 4774 -y Ft(_)432 b Fu(\($)p 716 4774 28 4 v 41 w(,)41 b(an)e(underscore.\))67 -b(A)m(t)40 b(shell)f(startup,)i(set)f(to)g(the)f(absolute)h(pathname)f -(used)f(to)630 4884 y(in)m(v)m(ok)m(e)43 b(the)e(shell)g(or)g(shell)g -(script)g(b)s(eing)f(executed)i(as)f(passed)g(in)f(the)h(en)m(vironmen) -m(t)630 4994 y(or)34 b(argumen)m(t)g(list.)52 b(Subsequen)m(tly)-8 -b(,)34 b(expands)f(to)i(the)f(last)h(argumen)m(t)f(to)g(the)g(previous) -630 5103 y(command,)g(after)f(expansion.)48 b(Also)34 -b(set)g(to)f(the)g(full)g(pathname)g(used)f(to)i(in)m(v)m(ok)m(e)h(eac) -m(h)630 5213 y(command)29 b(executed)h(and)f(placed)g(in)g(the)h(en)m -(vironmen)m(t)f(exp)s(orted)g(to)h(that)g(command.)630 -5322 y(When)g(c)m(hec)m(king)i(mail,)g(this)e(parameter)h(holds)f(the)g -(name)h(of)f(the)h(mail)g(\014le.)p eop end +5340 y(pip)s(eline.)p eop end %%Page: 22 28 TeXDict begin 22 27 bop 150 -116 a Fu(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(22)150 299 -y Fs(3.5)68 b(Shell)45 b(Expansions)150 458 y Fu(Expansion)27 -b(is)i(p)s(erformed)d(on)i(the)g(command)g(line)h(after)f(it)h(has)f(b) -s(een)f(split)h(in)m(to)i Ft(token)p Fu(s.)38 b(There)28 -b(are)150 568 y(sev)m(en)j(kinds)e(of)i(expansion)f(p)s(erformed:)225 -701 y Fq(\017)60 b Fu(brace)31 b(expansion)225 834 y -Fq(\017)60 b Fu(tilde)31 b(expansion)225 967 y Fq(\017)60 -b Fu(parameter)31 b(and)f(v)-5 b(ariable)31 b(expansion)225 -1100 y Fq(\017)60 b Fu(command)30 b(substitution)225 -1233 y Fq(\017)60 b Fu(arithmetic)32 b(expansion)225 -1366 y Fq(\017)60 b Fu(w)m(ord)30 b(splitting)225 1499 -y Fq(\017)60 b Fu(\014lename)31 b(expansion)275 1655 +y Ft(-)432 b Fu(\($-,)24 b(a)e(h)m(yphen.\))37 b(Expands)20 +b(to)i(the)f(curren)m(t)h(option)f(\015ags)h(as)f(sp)s(eci\014ed)g(up)s +(on)f(in)m(v)m(o)s(cation,)630 408 y(b)m(y)38 b(the)h +Ft(set)f Fu(builtin)g(command,)j(or)d(those)i(set)f(b)m(y)f(the)h +(shell)g(itself)g(\(suc)m(h)g(as)g(the)g Ft(-i)630 518 +y Fu(option\).)150 684 y Ft($)432 b Fu(\($$\))31 b(Expands)d(to)j(the)e +(pro)s(cess)h Fm(id)f Fu(of)h(the)g(shell.)41 b(In)28 +b(a)i Ft(\(\))f Fu(subshell,)h(it)g(expands)e(to)j(the)630 +793 y(pro)s(cess)f Fm(id)g Fu(of)h(the)g(in)m(v)m(oking)g(shell,)g(not) +g(the)f(subshell.)150 959 y Ft(!)432 b Fu(\($!\))51 b(Expands)32 +b(to)i(the)g(pro)s(cess)f Fm(id)h Fu(of)f(the)h(job)f(most)h(recen)m +(tly)h(placed)f(in)m(to)g(the)g(bac)m(k-)630 1069 y(ground,)26 +b(whether)g(executed)g(as)h(an)f(async)m(hronous)f(command)h(or)g +(using)g(the)g Ft(bg)f Fu(builtin)630 1178 y(\(see)31 +b(Section)h(7.2)f([Job)f(Con)m(trol)h(Builtins],)g(page)h(103\).)150 +1344 y Ft(0)432 b Fu(\($0\))46 b(Expands)d(to)i(the)g(name)g(of)f(the)h +(shell)g(or)f(shell)h(script.)83 b(This)44 b(is)g(set)h(at)h(shell)630 +1453 y(initialization.)d(If)27 b(Bash)h(is)g(in)m(v)m(ok)m(ed)h(with)e +(a)i(\014le)e(of)h(commands)g(\(see)g(Section)h(3.8)g([Shell)630 +1563 y(Scripts],)g(page)g(41\),)h Ft($0)e Fu(is)h(set)g(to)g(the)f +(name)h(of)f(that)h(\014le.)41 b(If)28 b(Bash)g(is)h(started)g(with)f +(the)630 1673 y Ft(-c)i Fu(option)h(\(see)h(Section)g(6.1)f([In)m(v)m +(oking)h(Bash],)g(page)f(84\),)i(then)d Ft($0)g Fu(is)h(set)g(to)h(the) +f(\014rst)630 1782 y(argumen)m(t)g(after)g(the)g(string)g(to)g(b)s(e)f +(executed,)i(if)f(one)g(is)f(presen)m(t.)42 b(Otherwise,)31 +b(it)g(is)f(set)630 1892 y(to)h(the)g(\014lename)f(used)g(to)h(in)m(v)m +(ok)m(e)h(Bash,)f(as)g(giv)m(en)g(b)m(y)f(argumen)m(t)h(zero.)150 +2058 y Ft(_)432 b Fu(\($)p 716 2058 28 4 v 41 w(,)41 +b(an)e(underscore.\))67 b(A)m(t)40 b(shell)f(startup,)i(set)f(to)g(the) +f(absolute)h(pathname)f(used)f(to)630 2167 y(in)m(v)m(ok)m(e)43 +b(the)e(shell)g(or)g(shell)g(script)g(b)s(eing)f(executed)i(as)f +(passed)g(in)f(the)h(en)m(vironmen)m(t)630 2277 y(or)34 +b(argumen)m(t)g(list.)52 b(Subsequen)m(tly)-8 b(,)34 +b(expands)f(to)i(the)f(last)h(argumen)m(t)f(to)g(the)g(previous)630 +2386 y(command,)g(after)f(expansion.)48 b(Also)34 b(set)g(to)f(the)g +(full)g(pathname)g(used)f(to)i(in)m(v)m(ok)m(e)h(eac)m(h)630 +2496 y(command)29 b(executed)h(and)f(placed)g(in)g(the)h(en)m(vironmen) +m(t)f(exp)s(orted)g(to)h(that)g(command.)630 2605 y(When)g(c)m(hec)m +(king)i(mail,)g(this)e(parameter)h(holds)f(the)g(name)h(of)f(the)h +(mail)g(\014le.)150 2856 y Fs(3.5)68 b(Shell)45 b(Expansions)150 +3015 y Fu(Expansion)27 b(is)i(p)s(erformed)d(on)i(the)g(command)g(line) +h(after)f(it)h(has)f(b)s(een)f(split)h(in)m(to)i Ft(token)p +Fu(s.)38 b(There)28 b(are)150 3125 y(sev)m(en)j(kinds)e(of)i(expansion) +f(p)s(erformed:)225 3265 y Fq(\017)60 b Fu(brace)31 b(expansion)225 +3403 y Fq(\017)60 b Fu(tilde)31 b(expansion)225 3541 +y Fq(\017)60 b Fu(parameter)31 b(and)f(v)-5 b(ariable)31 +b(expansion)225 3678 y Fq(\017)60 b Fu(command)30 b(substitution)225 +3816 y Fq(\017)60 b Fu(arithmetic)32 b(expansion)225 +3954 y Fq(\017)60 b Fu(w)m(ord)30 b(splitting)225 4091 +y Fq(\017)60 b Fu(\014lename)31 b(expansion)275 4260 y(The)24 b(order)h(of)h(expansions)f(is:)39 b(brace)25 b(expansion;)j(tilde)e(expansion,)g(parameter)g(and)f(v)-5 -b(ariable)26 b(ex-)150 1765 y(pansion,)j(arithmetic)i(expansion,)f(and) +b(ariable)26 b(ex-)150 4370 y(pansion,)j(arithmetic)i(expansion,)f(and) f(command)g(substitution)g(\(done)g(in)h(a)f(left-to-righ)m(t)k -(fashion\);)150 1874 y(w)m(ord)d(splitting;)h(and)f(\014lename)h -(expansion.)275 2007 y(On)42 b(systems)h(that)h(can)g(supp)s(ort)e(it,) +(fashion\);)150 4479 y(w)m(ord)d(splitting;)h(and)f(\014lename)h +(expansion.)275 4620 y(On)42 b(systems)h(that)h(can)g(supp)s(ort)e(it,) 47 b(there)d(is)f(an)h(additional)g(expansion)f(a)m(v)-5 -b(ailable:)69 b Fr(pro)s(cess)150 2117 y(substitution)p +b(ailable:)69 b Fr(pro)s(cess)150 4730 y(substitution)p Fu(.)50 b(This)33 b(is)h(p)s(erformed)e(at)j(the)f(same)g(time)g(as)g (tilde,)i(parameter,)f(v)-5 b(ariable,)35 b(and)f(arith-)150 -2226 y(metic)d(expansion)g(and)e(command)i(substitution.)275 -2359 y(After)f(these)h(expansions)f(are)g(p)s(erformed,)f(quote)i(c)m +4839 y(metic)d(expansion)g(and)e(command)i(substitution.)275 +4980 y(After)f(these)h(expansions)f(are)g(p)s(erformed,)f(quote)i(c)m (haracters)h(presen)m(t)e(in)g(the)g(original)i(w)m(ord)e(are)150 -2469 y(remo)m(v)m(ed)h(unless)f(they)h(ha)m(v)m(e)g(b)s(een)f(quoted)g +5090 y(remo)m(v)m(ed)h(unless)f(they)h(ha)m(v)m(e)g(b)s(een)f(quoted)g (themselv)m(es)i(\()p Fr(quote)f(remo)m(v)-5 b(al)t Fu(\).)275 -2602 y(Only)31 b(brace)i(expansion,)h(w)m(ord)e(splitting,)i(and)e +5230 y(Only)31 b(brace)i(expansion,)h(w)m(ord)e(splitting,)i(and)e (\014lename)h(expansion)f(can)h(increase)g(the)g(n)m(um)m(b)s(er)150 -2711 y(of)24 b(w)m(ords)g(of)g(the)h(expansion;)h(other)e(expansions)g +5340 y(of)24 b(w)m(ords)g(of)g(the)h(expansion;)h(other)e(expansions)g (expand)g(a)g(single)h(w)m(ord)f(to)h(a)f(single)h(w)m(ord.)38 -b(The)24 b(only)150 2821 y(exceptions)i(to)f(this)g(are)g(the)g -(expansions)g(of)g Ft("$@")f Fu(and)g Ft($*)g Fu(\(see)i(Section)f -(3.4.2)i([Sp)s(ecial)e(P)m(arameters],)150 2931 y(page)31 -b(21\),)h(and)e Ft("${)p Fj(name)p Ft([@]}")d Fu(and)i -Ft(${)p Fj(name)p Ft([*]})f Fu(\(see)j(Section)h(6.7)f([Arra)m(ys],)g -(page)g(93\).)275 3064 y(After)41 b(all)i(expansions,)h -Ft(quote)29 b(removal)40 b Fu(\(see)i(Section)h(3.5.9)g([Quote)f(Remo)m -(v)-5 b(al],)47 b(page)42 b(33\))h(is)150 3173 y(p)s(erformed.)150 -3369 y Fk(3.5.1)63 b(Brace)40 b(Expansion)150 3516 y -Fu(Brace)32 b(expansion)f(is)f(a)i(mec)m(hanism)f(b)m(y)f(whic)m(h)h -(arbitrary)f(strings)h(ma)m(y)g(b)s(e)f(generated.)43 -b(This)30 b(mec)m(h-)150 3626 y(anism)35 b(is)h(similar)f(to)h -Fr(\014lename)g(expansion)f Fu(\(see)i(Section)f(3.5.8)h([Filename)g -(Expansion],)f(page)g(31\),)150 3736 y(but)26 b(the)h(\014lenames)g -(generated)h(need)f(not)g(exist.)40 b(P)m(atterns)28 -b(to)f(b)s(e)g(brace)g(expanded)f(tak)m(e)i(the)f(form)g(of)150 -3845 y(an)j(optional)h Fr(pream)m(ble)p Fu(,)g(follo)m(w)m(ed)g(b)m(y)f -(either)g(a)h(series)f(of)g(comma-separated)i(strings)d(or)h(a)h -(sequence)150 3955 y(expression)36 b(b)s(et)m(w)m(een)g(a)h(pair)e(of)i -(braces,)g(follo)m(w)m(ed)h(b)m(y)e(an)g(optional)h Fr(p)s(ostscript)p -Fu(.)57 b(The)36 b(pream)m(ble)g(is)150 4064 y(pre\014xed)28 +b(The)24 b(only)p eop end +%%Page: 23 29 +TeXDict begin 23 28 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(23)150 299 +y(exceptions)26 b(to)f(this)g(are)g(the)g(expansions)g(of)g +Ft("$@")f Fu(and)g Ft($*)g Fu(\(see)i(Section)f(3.4.2)i([Sp)s(ecial)e +(P)m(arameters],)150 408 y(page)31 b(21\),)h(and)e Ft("${)p +Fj(name)p Ft([@]}")d Fu(and)i Ft(${)p Fj(name)p Ft([*]})f +Fu(\(see)j(Section)h(6.7)f([Arra)m(ys],)g(page)g(93\).)275 +537 y(After)41 b(all)i(expansions,)h Ft(quote)29 b(removal)40 +b Fu(\(see)i(Section)h(3.5.9)g([Quote)f(Remo)m(v)-5 b(al],)47 +b(page)42 b(34\))h(is)150 647 y(p)s(erformed.)150 834 +y Fk(3.5.1)63 b(Brace)40 b(Expansion)150 981 y Fu(Brace)32 +b(expansion)f(is)f(a)i(mec)m(hanism)f(b)m(y)f(whic)m(h)h(arbitrary)f +(strings)h(ma)m(y)g(b)s(e)f(generated.)43 b(This)30 b(mec)m(h-)150 +1090 y(anism)35 b(is)h(similar)f(to)h Fr(\014lename)g(expansion)f +Fu(\(see)i(Section)f(3.5.8)h([Filename)g(Expansion],)f(page)g(32\),)150 +1200 y(but)26 b(the)h(\014lenames)g(generated)h(need)f(not)g(exist.)40 +b(P)m(atterns)28 b(to)f(b)s(e)g(brace)g(expanded)f(tak)m(e)i(the)f +(form)g(of)150 1310 y(an)j(optional)h Fr(pream)m(ble)p +Fu(,)g(follo)m(w)m(ed)g(b)m(y)f(either)g(a)h(series)f(of)g +(comma-separated)i(strings)d(or)h(a)h(sequence)150 1419 +y(expression)36 b(b)s(et)m(w)m(een)g(a)h(pair)e(of)i(braces,)g(follo)m +(w)m(ed)h(b)m(y)e(an)g(optional)h Fr(p)s(ostscript)p +Fu(.)57 b(The)36 b(pream)m(ble)g(is)150 1529 y(pre\014xed)28 b(to)h(eac)m(h)h(string)f(con)m(tained)h(within)e(the)h(braces,)g(and)g (the)g(p)s(ostscript)f(is)h(then)f(app)s(ended)f(to)150 -4174 y(eac)m(h)32 b(resulting)e(string,)h(expanding)e(left)j(to)f(righ) -m(t.)275 4307 y(Brace)37 b(expansions)f(ma)m(y)h(b)s(e)f(nested.)59 +1638 y(eac)m(h)32 b(resulting)e(string,)h(expanding)e(left)j(to)f(righ) +m(t.)275 1767 y(Brace)37 b(expansions)f(ma)m(y)h(b)s(e)f(nested.)59 b(The)36 b(results)g(of)h(eac)m(h)g(expanded)f(string)g(are)h(not)g -(sorted;)150 4416 y(left)31 b(to)g(righ)m(t)g(order)f(is)g(preserv)m -(ed.)41 b(F)-8 b(or)31 b(example,)390 4549 y Ft(bash$)46 -b(echo)h(a{d,c,b}e)390 4659 y(ade)g(ace)g(abe)275 4792 +(sorted;)150 1876 y(left)31 b(to)g(righ)m(t)g(order)f(is)g(preserv)m +(ed.)41 b(F)-8 b(or)31 b(example,)390 2005 y Ft(bash$)46 +b(echo)h(a{d,c,b}e)390 2115 y(ade)g(ace)g(abe)275 2243 y Fu(A)23 b(sequence)g(expression)g(tak)m(es)i(the)e(form)g Ft({)p Fj(x)p Ft(..)p Fj(y)p Ft([..)p Fj(incr)p Ft(]})p Fu(,)e(where)i Fr(x)29 b Fu(and)23 b Fr(y)30 b Fu(are)24 -b(either)g(in)m(tegers)150 4902 y(or)42 b(single)h(c)m(haracters,)48 +b(either)g(in)m(tegers)150 2353 y(or)42 b(single)h(c)m(haracters,)48 b(and)41 b Fr(incr)p Fu(,)46 b(an)c(optional)i(incremen)m(t,)i(is)c(an) -h(in)m(teger.)78 b(When)42 b(in)m(tegers)i(are)150 5011 +h(in)m(teger.)78 b(When)42 b(in)m(tegers)i(are)150 2462 y(supplied,)f(the)f(expression)f(expands)f(to)i(eac)m(h)h(n)m(um)m(b)s (er)d(b)s(et)m(w)m(een)i Fr(x)47 b Fu(and)41 b Fr(y)p -Fu(,)j(inclusiv)m(e.)75 b(Supplied)150 5121 y(in)m(tegers)33 +Fu(,)j(inclusiv)m(e.)75 b(Supplied)150 2572 y(in)m(tegers)33 b(ma)m(y)e(b)s(e)g(pre\014xed)f(with)h(`)p Ft(0)p Fu(')h(to)g(force)g (eac)m(h)g(term)g(to)g(ha)m(v)m(e)g(the)g(same)g(width.)42 -b(When)31 b(either)150 5230 y Fr(x)43 b Fu(or)36 b Fr(y)44 +b(When)31 b(either)150 2681 y Fr(x)43 b Fu(or)36 b Fr(y)44 b Fu(b)s(egins)36 b(with)g(a)h(zero,)i(the)e(shell)g(attempts)g(to)g (force)g(all)h(generated)f(terms)g(to)g(con)m(tain)h(the)150 -5340 y(same)e(n)m(um)m(b)s(er)e(of)i(digits,)i(zero-padding)d(where)h +2791 y(same)e(n)m(um)m(b)s(er)e(of)i(digits,)i(zero-padding)d(where)h (necessary)-8 b(.)57 b(When)35 b(c)m(haracters)i(are)f(supplied,)g(the) -p eop end -%%Page: 23 29 -TeXDict begin 23 28 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(23)150 299 -y(expression)24 b(expands)g(to)h(eac)m(h)h(c)m(haracter)g +150 2901 y(expression)24 b(expands)g(to)h(eac)m(h)h(c)m(haracter)g (lexicographically)h(b)s(et)m(w)m(een)e Fr(x)30 b Fu(and)24 -b Fr(y)p Fu(,)i(inclusiv)m(e,)h(using)d(the)150 408 y(default)32 -b(C)g(lo)s(cale.)48 b(Note)34 b(that)f(b)s(oth)e Fr(x)39 -b Fu(and)31 b Fr(y)40 b Fu(m)m(ust)32 b(b)s(e)g(of)g(the)h(same)f(t)m -(yp)s(e.)47 b(When)32 b(the)g(incremen)m(t)150 518 y(is)d(supplied,)g -(it)h(is)f(used)f(as)i(the)f(di\013erence)h(b)s(et)m(w)m(een)g(eac)m(h) -g(term.)41 b(The)29 b(default)g(incremen)m(t)h(is)f(1)h(or)f(-1)150 -628 y(as)i(appropriate.)275 764 y(Brace)36 b(expansion)g(is)f(p)s -(erformed)f(b)s(efore)h(an)m(y)h(other)g(expansions,)h(and)e(an)m(y)g -(c)m(haracters)i(sp)s(ecial)150 873 y(to)32 b(other)g(expansions)g(are) -g(preserv)m(ed)f(in)h(the)f(result.)45 b(It)32 b(is)g(strictly)g -(textual.)46 b(Bash)32 b(do)s(es)f(not)h(apply)150 983 -y(an)m(y)27 b(syn)m(tactic)i(in)m(terpretation)g(to)f(the)f(con)m(text) -i(of)e(the)g(expansion)g(or)g(the)h(text)g(b)s(et)m(w)m(een)f(the)h -(braces.)275 1119 y(A)h(correctly-formed)i(brace)f(expansion)f(m)m(ust) -h(con)m(tain)h(unquoted)e(op)s(ening)g(and)g(closing)i(braces,)150 -1228 y(and)h(at)i(least)g(one)f(unquoted)g(comma)g(or)g(a)h(v)-5 +b Fr(y)p Fu(,)i(inclusiv)m(e,)h(using)d(the)150 3010 +y(default)32 b(C)g(lo)s(cale.)48 b(Note)34 b(that)f(b)s(oth)e +Fr(x)39 b Fu(and)31 b Fr(y)40 b Fu(m)m(ust)32 b(b)s(e)g(of)g(the)h +(same)f(t)m(yp)s(e.)47 b(When)32 b(the)g(incremen)m(t)150 +3120 y(is)d(supplied,)g(it)h(is)f(used)f(as)i(the)f(di\013erence)h(b)s +(et)m(w)m(een)g(eac)m(h)g(term.)41 b(The)29 b(default)g(incremen)m(t)h +(is)f(1)h(or)f(-1)150 3229 y(as)i(appropriate.)275 3358 +y(Brace)36 b(expansion)g(is)f(p)s(erformed)f(b)s(efore)h(an)m(y)h +(other)g(expansions,)h(and)e(an)m(y)g(c)m(haracters)i(sp)s(ecial)150 +3467 y(to)32 b(other)g(expansions)g(are)g(preserv)m(ed)f(in)h(the)f +(result.)45 b(It)32 b(is)g(strictly)g(textual.)46 b(Bash)32 +b(do)s(es)f(not)h(apply)150 3577 y(an)m(y)27 b(syn)m(tactic)i(in)m +(terpretation)g(to)f(the)f(con)m(text)i(of)e(the)g(expansion)g(or)g +(the)h(text)g(b)s(et)m(w)m(een)f(the)h(braces.)275 3706 +y(A)h(correctly-formed)i(brace)f(expansion)f(m)m(ust)h(con)m(tain)h +(unquoted)e(op)s(ening)g(and)g(closing)i(braces,)150 +3815 y(and)h(at)i(least)g(one)f(unquoted)g(comma)g(or)g(a)h(v)-5 b(alid)33 b(sequence)g(expression.)48 b(An)m(y)33 b(incorrectly)h -(formed)150 1338 y(brace)d(expansion)f(is)g(left)h(unc)m(hanged.)275 -1474 y(A)25 b Fi({)h Fu(or)f(`)p Ft(,)p Fu(')g(ma)m(y)h(b)s(e)f(quoted) +(formed)150 3925 y(brace)d(expansion)f(is)g(left)h(unc)m(hanged.)275 +4053 y(A)25 b Fi({)h Fu(or)f(`)p Ft(,)p Fu(')g(ma)m(y)h(b)s(e)f(quoted) h(with)f(a)g(bac)m(kslash)h(to)g(prev)m(en)m(t)g(its)g(b)s(eing)f -(considered)g(part)g(of)h(a)g(brace)150 1583 y(expression.)51 +(considered)g(part)g(of)h(a)g(brace)150 4163 y(expression.)51 b(T)-8 b(o)34 b(a)m(v)m(oid)i(con\015icts)e(with)g(parameter)g (expansion,)h(the)f(string)g(`)p Ft(${)p Fu(')g(is)g(not)g(considered) -150 1693 y(eligible)e(for)e(brace)h(expansion,)f(and)g(inhibits)g +150 4272 y(eligible)e(for)e(brace)h(expansion,)f(and)g(inhibits)g (brace)h(expansion)f(un)m(til)g(the)h(closing)h(`)p Ft(})p -Fu('..)275 1829 y(This)e(construct)h(is)g(t)m(ypically)i(used)d(as)h +Fu('..)275 4401 y(This)e(construct)h(is)g(t)m(ypically)i(used)d(as)h (shorthand)f(when)g(the)h(common)g(pre\014x)f(of)h(the)g(strings)g(to) -150 1939 y(b)s(e)f(generated)h(is)g(longer)g(than)f(in)g(the)g(ab)s(o)m -(v)m(e)i(example:)390 2074 y Ft(mkdir)46 b(/usr/local/src/bash/{old,n)o -(ew,)o(dist)o(,bug)o(s})275 2210 y Fu(or)390 2346 y Ft(chown)g(root)h +150 4511 y(b)s(e)f(generated)h(is)g(longer)g(than)f(in)g(the)g(ab)s(o)m +(v)m(e)i(example:)390 4639 y Ft(mkdir)46 b(/usr/local/src/bash/{old,n)o +(ew,)o(dist)o(,bug)o(s})275 4768 y Fu(or)390 4896 y Ft(chown)g(root)h (/usr/{ucb/{ex,edit},lib/)o({ex?)o(.?*,)o(how)o(_ex})o(})150 -2547 y Fk(3.5.2)63 b(Tilde)41 b(Expansion)150 2694 y +5083 y Fk(3.5.2)63 b(Tilde)41 b(Expansion)150 5230 y Fu(If)29 b(a)h(w)m(ord)g(b)s(egins)f(with)g(an)h(unquoted)f(tilde)h(c)m (haracter)h(\(`)p Ft(~)p Fu('\),)g(all)g(of)f(the)g(c)m(haracters)h(up) -d(to)j(the)f(\014rst)150 2804 y(unquoted)24 b(slash)g(\(or)h(all)h(c)m +d(to)j(the)f(\014rst)150 5340 y(unquoted)24 b(slash)g(\(or)h(all)h(c)m (haracters,)h(if)e(there)g(is)f(no)h(unquoted)e(slash\))i(are)g -(considered)g(a)g Fr(tilde-pre\014x)p Fu(.)150 2913 y(If)38 -b(none)g(of)g(the)h(c)m(haracters)g(in)f(the)h(tilde-pre\014x)f(are)h -(quoted,)h(the)f(c)m(haracters)h(in)d(the)i(tilde-pre\014x)150 -3023 y(follo)m(wing)28 b(the)g(tilde)f(are)h(treated)g(as)f(a)g(p)s +(considered)g(a)g Fr(tilde-pre\014x)p Fu(.)p eop end +%%Page: 24 30 +TeXDict begin 24 29 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(24)150 299 +y(If)38 b(none)g(of)g(the)h(c)m(haracters)g(in)f(the)h(tilde-pre\014x)f +(are)h(quoted,)h(the)f(c)m(haracters)h(in)d(the)i(tilde-pre\014x)150 +408 y(follo)m(wing)28 b(the)g(tilde)f(are)h(treated)g(as)f(a)g(p)s (ossible)g Fr(login)h(name)p Fu(.)39 b(If)27 b(this)g(login)h(name)f -(is)g(the)g(n)m(ull)g(string,)150 3132 y(the)35 b(tilde)g(is)g -(replaced)g(with)f(the)h(v)-5 b(alue)35 b(of)g(the)g -Ft(HOME)e Fu(shell)i(v)-5 b(ariable.)54 b(If)34 b Ft(HOME)g -Fu(is)h(unset,)g(the)g(home)150 3242 y(directory)e(of)g(the)f(user)g -(executing)i(the)e(shell)h(is)f(substituted)g(instead.)47 -b(Otherwise,)33 b(the)g(tilde-pre\014x)150 3352 y(is)d(replaced)h(with) -f(the)h(home)f(directory)h(asso)s(ciated)h(with)e(the)h(sp)s(eci\014ed) -e(login)j(name.)275 3487 y(If)g(the)h(tilde-pre\014x)f(is)h(`)p +(is)g(the)g(n)m(ull)g(string,)150 518 y(the)35 b(tilde)g(is)g(replaced) +g(with)f(the)h(v)-5 b(alue)35 b(of)g(the)g Ft(HOME)e +Fu(shell)i(v)-5 b(ariable.)54 b(If)34 b Ft(HOME)g Fu(is)h(unset,)g(the) +g(home)150 628 y(directory)e(of)g(the)f(user)g(executing)i(the)e(shell) +h(is)f(substituted)g(instead.)47 b(Otherwise,)33 b(the)g +(tilde-pre\014x)150 737 y(is)d(replaced)h(with)f(the)h(home)f +(directory)h(asso)s(ciated)h(with)e(the)h(sp)s(eci\014ed)e(login)j +(name.)275 874 y(If)g(the)h(tilde-pre\014x)f(is)h(`)p Ft(~+)p Fu(',)g(the)g(v)-5 b(alue)33 b(of)g(the)g(shell)g(v)-5 b(ariable)34 b Ft(PWD)d Fu(replaces)j(the)f(tilde-pre\014x.)47 -b(If)150 3597 y(the)31 b(tilde-pre\014x)f(is)g(`)p Ft(~-)p +b(If)150 984 y(the)31 b(tilde-pre\014x)f(is)g(`)p Ft(~-)p Fu(',)h(the)f(v)-5 b(alue)31 b(of)g(the)f(shell)h(v)-5 b(ariable)31 b Ft(OLDPWD)p Fu(,)e(if)h(it)h(is)g(set,)g(is)f -(substituted.)275 3733 y(If)f(the)h(c)m(haracters)h(follo)m(wing)h(the) +(substituted.)275 1121 y(If)f(the)h(c)m(haracters)h(follo)m(wing)h(the) e(tilde)g(in)g(the)g(tilde-pre\014x)g(consist)g(of)g(a)h(n)m(um)m(b)s -(er)d Fr(N)p Fu(,)j(optionally)150 3843 y(pre\014xed)22 +(er)d Fr(N)p Fu(,)j(optionally)150 1230 y(pre\014xed)22 b(b)m(y)h(a)h(`)p Ft(+)p Fu(')f(or)h(a)f(`)p Ft(-)p Fu(',)j(the)d (tilde-pre\014x)g(is)h(replaced)f(with)g(the)h(corresp)s(onding)e -(elemen)m(t)j(from)e(the)150 3952 y(directory)36 b(stac)m(k,)i(as)e(it) +(elemen)m(t)j(from)e(the)150 1340 y(directory)36 b(stac)m(k,)i(as)e(it) g(w)m(ould)f(b)s(e)g(displa)m(y)m(ed)h(b)m(y)g(the)f Ft(dirs)g Fu(builtin)g(in)m(v)m(ok)m(ed)i(with)e(the)g(c)m(haracters) -150 4062 y(follo)m(wing)40 b(tilde)f(in)g(the)f(tilde-pre\014x)h(as)g +150 1450 y(follo)m(wing)40 b(tilde)f(in)g(the)f(tilde-pre\014x)h(as)g (an)f(argumen)m(t)h(\(see)h(Section)f(6.8)h([The)e(Directory)i(Stac)m -(k],)150 4171 y(page)c(95\).)57 b(If)35 b(the)g(tilde-pre\014x,)i(sans) +(k],)150 1559 y(page)c(95\).)57 b(If)35 b(the)g(tilde-pre\014x,)i(sans) e(the)h(tilde,)h(consists)f(of)g(a)f(n)m(um)m(b)s(er)f(without)i(a)f -(leading)h(`)p Ft(+)p Fu(')g(or)150 4281 y(`)p Ft(-)p -Fu(',)31 b(`)p Ft(+)p Fu(')f(is)h(assumed.)275 4417 y(If)e(the)i(login) +(leading)h(`)p Ft(+)p Fu(')g(or)150 1669 y(`)p Ft(-)p +Fu(',)31 b(`)p Ft(+)p Fu(')f(is)h(assumed.)275 1806 y(If)e(the)i(login) g(name)g(is)f(in)m(v)-5 b(alid,)31 b(or)g(the)f(tilde)h(expansion)f (fails,)i(the)e(w)m(ord)g(is)h(left)g(unc)m(hanged.)275 -4553 y(Eac)m(h)38 b(v)-5 b(ariable)38 b(assignmen)m(t)h(is)e(c)m(hec)m +1943 y(Eac)m(h)38 b(v)-5 b(ariable)38 b(assignmen)m(t)h(is)e(c)m(hec)m (k)m(ed)j(for)d(unquoted)g(tilde-pre\014xes)h(immediately)g(follo)m -(wing)150 4662 y(a)d(`)p Ft(:)p Fu(')g(or)g(the)g(\014rst)f(`)p +(wing)150 2052 y(a)d(`)p Ft(:)p Fu(')g(or)g(the)g(\014rst)f(`)p Ft(=)p Fu('.)54 b(In)34 b(these)h(cases,)i(tilde)e(expansion)g(is)g (also)h(p)s(erformed.)52 b(Consequen)m(tly)-8 b(,)37 -b(one)150 4772 y(ma)m(y)29 b(use)e(\014lenames)h(with)g(tildes)g(in)g +b(one)150 2162 y(ma)m(y)29 b(use)e(\014lenames)h(with)g(tildes)g(in)g (assignmen)m(ts)g(to)h Ft(PATH)p Fu(,)f Ft(MAILPATH)p Fu(,)e(and)h Ft(CDPATH)p Fu(,)g(and)h(the)g(shell)150 -4882 y(assigns)j(the)f(expanded)g(v)-5 b(alue.)275 5018 +2271 y(assigns)j(the)f(expanded)g(v)-5 b(alue.)275 2408 y(The)29 b(follo)m(wing)j(table)g(sho)m(ws)e(ho)m(w)g(Bash)h(treats)g -(unquoted)e(tilde-pre\014xes:)150 5179 y Ft(~)432 b Fu(The)30 -b(v)-5 b(alue)31 b(of)f Ft($HOME)150 5340 y(~/foo)240 -b($HOME/foo)p eop end -%%Page: 24 30 -TeXDict begin 24 29 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(24)150 299 -y Ft(~fred/foo)630 408 y Fu(The)30 b(sub)s(directory)f -Ft(foo)h Fu(of)g(the)h(home)f(directory)h(of)g(the)f(user)g -Ft(fred)150 585 y(~+/foo)192 b($PWD/foo)150 762 y(~-/foo)g -(${OLDPWD-'~-'}/foo)150 939 y(~)p Fj(N)384 b Fu(The)30 -b(string)g(that)h(w)m(ould)f(b)s(e)g(displa)m(y)m(ed)h(b)m(y)f(`)p -Ft(dirs)g(+)p Fj(N)p Fu(')150 1115 y Ft(~+)p Fj(N)336 +(unquoted)e(tilde-pre\014xes:)150 2572 y Ft(~)432 b Fu(The)30 +b(v)-5 b(alue)31 b(of)f Ft($HOME)150 2733 y(~/foo)240 +b($HOME/foo)150 2895 y(~fred/foo)630 3005 y Fu(The)30 +b(sub)s(directory)f Ft(foo)h Fu(of)g(the)h(home)f(directory)h(of)g(the) +f(user)g Ft(fred)150 3167 y(~+/foo)192 b($PWD/foo)150 +3329 y(~-/foo)g(${OLDPWD-'~-'}/foo)150 3491 y(~)p Fj(N)384 b Fu(The)30 b(string)g(that)h(w)m(ould)f(b)s(e)g(displa)m(y)m(ed)h(b)m -(y)f(`)p Ft(dirs)g(+)p Fj(N)p Fu(')150 1292 y Ft(~-)p +(y)f(`)p Ft(dirs)g(+)p Fj(N)p Fu(')150 3653 y Ft(~+)p Fj(N)336 b Fu(The)30 b(string)g(that)h(w)m(ould)f(b)s(e)g(displa)m(y)m -(ed)h(b)m(y)f(`)p Ft(dirs)g(-)p Fj(N)p Fu(')150 1509 -y Fk(3.5.3)63 b(Shell)41 b(P)m(arameter)f(Expansion)150 -1656 y Fu(The)g(`)p Ft($)p Fu(')h(c)m(haracter)i(in)m(tro)s(duces)d -(parameter)h(expansion,)j(command)d(substitution,)i(or)e(arithmetic)150 -1765 y(expansion.)d(The)22 b(parameter)h(name)f(or)g(sym)m(b)s(ol)h(to) -g(b)s(e)e(expanded)h(ma)m(y)h(b)s(e)f(enclosed)h(in)f(braces,)i(whic)m -(h)150 1875 y(are)31 b(optional)g(but)f(serv)m(e)h(to)h(protect)f(the)g -(v)-5 b(ariable)31 b(to)g(b)s(e)f(expanded)g(from)g(c)m(haracters)i -(immediately)150 1984 y(follo)m(wing)g(it)f(whic)m(h)f(could)g(b)s(e)g -(in)m(terpreted)h(as)f(part)h(of)f(the)h(name.)275 2136 -y(When)44 b(braces)i(are)f(used,)j(the)e(matc)m(hing)g(ending)f(brace)g -(is)g(the)g(\014rst)g(`)p Ft(})p Fu(')g(not)g(escap)s(ed)h(b)m(y)f(a) -150 2246 y(bac)m(kslash)40 b(or)f(within)g(a)g(quoted)g(string,)j(and)c -(not)i(within)e(an)h(em)m(b)s(edded)f(arithmetic)j(expansion,)150 -2355 y(command)30 b(substitution,)g(or)h(parameter)g(expansion.)275 -2507 y(The)40 b(basic)i(form)f(of)g(parameter)h(expansion)f(is)h($)p +(ed)h(b)m(y)f(`)p Ft(dirs)g(+)p Fj(N)p Fu(')150 3814 +y Ft(~-)p Fj(N)336 b Fu(The)30 b(string)g(that)h(w)m(ould)f(b)s(e)g +(displa)m(y)m(ed)h(b)m(y)f(`)p Ft(dirs)g(-)p Fj(N)p Fu(')275 +3978 y(Bash)40 b(also)h(p)s(erforms)e(tilde)h(expansion)g(on)h(w)m +(ords)e(satisfying)i(the)f(conditions)h(of)f(v)-5 b(ariable)41 +b(as-)150 4087 y(signmen)m(ts)f(\(see)h(Section)g(3.4)g([Shell)f(P)m +(arameters],)k(page)d(19\))g(when)e(they)h(app)s(ear)f(as)i(argumen)m +(ts)150 4197 y(to)c(simple)f(commands.)57 b(Bash)36 b(do)s(es)f(not)h +(do)g(this,)i(except)f(for)e(the)h Fr(declaration)i Fu(commands)d +(listed)150 4306 y(ab)s(o)m(v)m(e,)d(when)d(in)h Fm(posix)g +Fu(mo)s(de.)150 4508 y Fk(3.5.3)63 b(Shell)41 b(P)m(arameter)f +(Expansion)150 4655 y Fu(The)g(`)p Ft($)p Fu(')h(c)m(haracter)i(in)m +(tro)s(duces)d(parameter)h(expansion,)j(command)d(substitution,)i(or)e +(arithmetic)150 4765 y(expansion.)d(The)22 b(parameter)h(name)f(or)g +(sym)m(b)s(ol)h(to)g(b)s(e)e(expanded)h(ma)m(y)h(b)s(e)f(enclosed)h(in) +f(braces,)i(whic)m(h)150 4874 y(are)31 b(optional)g(but)f(serv)m(e)h +(to)h(protect)f(the)g(v)-5 b(ariable)31 b(to)g(b)s(e)f(expanded)g(from) +g(c)m(haracters)i(immediately)150 4984 y(follo)m(wing)g(it)f(whic)m(h)f +(could)g(b)s(e)g(in)m(terpreted)h(as)f(part)h(of)f(the)h(name.)275 +5121 y(When)44 b(braces)i(are)f(used,)j(the)e(matc)m(hing)g(ending)f +(brace)g(is)g(the)g(\014rst)g(`)p Ft(})p Fu(')g(not)g(escap)s(ed)h(b)m +(y)f(a)150 5230 y(bac)m(kslash)40 b(or)f(within)g(a)g(quoted)g(string,) +j(and)c(not)i(within)e(an)h(em)m(b)s(edded)f(arithmetic)j(expansion,) +150 5340 y(command)30 b(substitution,)g(or)h(parameter)g(expansion.)p +eop end +%%Page: 25 31 +TeXDict begin 25 30 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(25)275 299 +y(The)40 b(basic)i(form)f(of)g(parameter)h(expansion)f(is)h($)p Fi({)p Fr(parameter)7 b Fi(})p Fu(.)74 b(The)41 b(v)-5 -b(alue)42 b(of)g Fr(parameter)48 b Fu(is)150 2617 y(substituted.)43 +b(alue)42 b(of)g Fr(parameter)48 b Fu(is)150 408 y(substituted.)43 b(The)31 b Fr(parameter)39 b Fu(is)31 b(a)h(shell)f(parameter)h(as)g (describ)s(ed)e(ab)s(o)m(v)m(e)j(\(see)f(Section)g(3.4)h([Shell)150 -2726 y(P)m(arameters],)e(page)f(19\))h(or)e(an)g(arra)m(y)h(reference)f +518 y(P)m(arameters],)e(page)f(19\))h(or)e(an)g(arra)m(y)h(reference)f (\(see)i(Section)f(6.7)g([Arra)m(ys],)g(page)g(93\).)42 -b(The)29 b(braces)150 2836 y(are)j(required)g(when)f -Fr(parameter)39 b Fu(is)32 b(a)h(p)s(ositional)f(parameter)h(with)f -(more)g(than)g(one)g(digit,)i(or)e(when)150 2946 y Fr(parameter)37 -b Fu(is)31 b(follo)m(w)m(ed)h(b)m(y)e(a)h(c)m(haracter)h(that)f(is)f -(not)h(to)g(b)s(e)f(in)m(terpreted)g(as)h(part)f(of)h(its)f(name.)275 -3097 y(If)k(the)h(\014rst)f(c)m(haracter)i(of)f Fr(parameter)42 +b(The)29 b(braces)150 628 y(are)j(required)g(when)f Fr(parameter)39 +b Fu(is)32 b(a)h(p)s(ositional)f(parameter)h(with)f(more)g(than)g(one)g +(digit,)i(or)e(when)150 737 y Fr(parameter)37 b Fu(is)31 +b(follo)m(w)m(ed)h(b)m(y)e(a)h(c)m(haracter)h(that)f(is)f(not)h(to)g(b) +s(e)f(in)m(terpreted)g(as)h(part)f(of)h(its)f(name.)275 +885 y(If)k(the)h(\014rst)f(c)m(haracter)i(of)f Fr(parameter)42 b Fu(is)35 b(an)g(exclamation)i(p)s(oin)m(t)e(\(!\),)i(and)d -Fr(parameter)42 b Fu(is)34 b(not)i(a)150 3207 y Fr(nameref)p -Fu(,)i(it)f(in)m(tro)s(duces)f(a)h(lev)m(el)h(of)f(v)-5 -b(ariable)37 b(indirection.)59 b(Bash)37 b(uses)f(the)g(v)-5 -b(alue)37 b(of)g(the)f(v)-5 b(ariable)150 3317 y(formed)22 -b(from)f(the)h(rest)h(of)f Fr(parameter)29 b Fu(as)22 -b(the)g(name)h(of)f(the)g(v)-5 b(ariable;)26 b(this)c(v)-5 -b(ariable)23 b(is)f(then)g(expanded)150 3426 y(and)34 -b(that)h(v)-5 b(alue)35 b(is)g(used)f(in)g(the)h(rest)g(of)g(the)g -(substitution,)g(rather)g(than)f(the)h(v)-5 b(alue)35 -b(of)g Fr(parameter)150 3536 y Fu(itself.)74 b(This)41 -b(is)g(kno)m(wn)g(as)g Ft(indirect)28 b(expansion)p Fu(.)71 -b(The)41 b(v)-5 b(alue)42 b(is)f(sub)5 b(ject)41 b(to)h(tilde)g -(expansion,)150 3645 y(parameter)e(expansion,)i(command)d -(substitution,)j(and)d(arithmetic)h(expansion.)68 b(If)39 -b Fr(parameter)47 b Fu(is)150 3755 y(a)40 b(nameref,)h(this)e(expands)g -(to)g(the)h(name)f(of)g(the)h(v)-5 b(ariable)40 b(referenced)f(b)m(y)g -Fr(parameter)46 b Fu(instead)40 b(of)150 3865 y(p)s(erforming)32 -b(the)i(complete)h(indirect)f(expansion.)51 b(The)33 -b(exceptions)i(to)f(this)g(are)g(the)f(expansions)h(of)150 -3974 y($)p Fi({)p Fu(!)p Fr(pre\014x)6 b Fu(*)p Fi(})39 -b Fu(and)f($)p Fi({)p Fu(!)p Fr(name)5 b Fu([@])p Fi(})40 -b Fu(describ)s(ed)d(b)s(elo)m(w.)64 b(The)37 b(exclamation)k(p)s(oin)m -(t)d(m)m(ust)g(immediately)150 4084 y(follo)m(w)32 b(the)e(left)h -(brace)g(in)f(order)g(to)h(in)m(tro)s(duce)f(indirection.)275 -4236 y(In)39 b(eac)m(h)i(of)g(the)f(cases)h(b)s(elo)m(w,)i -Fr(w)m(ord)h Fu(is)c(sub)5 b(ject)40 b(to)h(tilde)f(expansion,)j -(parameter)e(expansion,)150 4345 y(command)30 b(substitution,)g(and)g -(arithmetic)i(expansion.)275 4497 y(When)h(not)h(p)s(erforming)e +Fr(parameter)42 b Fu(is)34 b(not)i(a)150 995 y Fr(nameref)p +Fu(,)c(it)f(in)m(tro)s(duces)h(a)f(lev)m(el)i(of)f(indirection.)44 +b(Bash)31 b(uses)g(the)g(v)-5 b(alue)32 b(formed)f(b)m(y)g(expanding)g +(the)150 1104 y(rest)c(of)f Fr(parameter)33 b Fu(as)27 +b(the)g(new)f Fr(parameter)7 b Fu(;)28 b(this)e(is)g(then)g(expanded)g +(and)g(that)h(v)-5 b(alue)27 b(is)f(used)g(in)g(the)150 +1214 y(rest)33 b(of)f(the)h(expansion,)g(rather)g(than)f(the)h +(expansion)f(of)h(the)g(original)g Fr(parameter)p Fu(.)48 +b(This)32 b(is)g(kno)m(wn)150 1324 y(as)42 b Ft(indirect)28 +b(expansion)p Fu(.)71 b(The)41 b(v)-5 b(alue)41 b(is)h(sub)5 +b(ject)41 b(to)h(tilde)g(expansion,)i(parameter)e(expansion,)150 +1433 y(command)31 b(substitution,)g(and)g(arithmetic)h(expansion.)43 +b(If)31 b Fr(parameter)38 b Fu(is)32 b(a)f(nameref,)h(this)f(expands) +150 1543 y(to)d(the)g(name)g(of)f(the)h(v)-5 b(ariable)28 +b(referenced)g(b)m(y)f Fr(parameter)35 b Fu(instead)27 +b(of)h(p)s(erforming)e(the)i(complete)h(in-)150 1652 +y(direct)e(expansion.)39 b(The)25 b(exceptions)i(to)g(this)f(are)h(the) +f(expansions)g(of)g($)p Fi({)p Fu(!)p Fr(pre\014x)6 b +Fu(*)p Fi(})28 b Fu(and)d($)p Fi({)p Fu(!)p Fr(name)5 +b Fu([@])p Fi(})150 1762 y Fu(describ)s(ed)28 b(b)s(elo)m(w.)41 +b(The)28 b(exclamation)j(p)s(oin)m(t)f(m)m(ust)f(immediately)h(follo)m +(w)g(the)g(left)f(brace)h(in)f(order)f(to)150 1872 y(in)m(tro)s(duce)i +(indirection.)275 2019 y(In)39 b(eac)m(h)i(of)g(the)f(cases)h(b)s(elo)m +(w,)i Fr(w)m(ord)h Fu(is)c(sub)5 b(ject)40 b(to)h(tilde)f(expansion,)j +(parameter)e(expansion,)150 2129 y(command)30 b(substitution,)g(and)g +(arithmetic)i(expansion.)275 2277 y(When)h(not)h(p)s(erforming)e (substring)h(expansion,)h(using)g(the)f(form)h(describ)s(ed)e(b)s(elo)m -(w)i(\(e.g.,)i(`)p Ft(:-)p Fu('\),)150 4607 y(Bash)d(tests)h(for)e(a)i +(w)i(\(e.g.,)i(`)p Ft(:-)p Fu('\),)150 2387 y(Bash)d(tests)h(for)e(a)i (parameter)f(that)h(is)e(unset)h(or)g(n)m(ull.)48 b(Omitting)33 -b(the)h(colon)f(results)g(in)g(a)g(test)h(only)150 4716 +b(the)h(colon)f(results)g(in)g(a)g(test)h(only)150 2496 y(for)c(a)i(parameter)f(that)g(is)g(unset.)41 b(Put)31 b(another)f(w)m(a)m(y)-8 b(,)33 b(if)e(the)f(colon)i(is)f(included,)f -(the)h(op)s(erator)g(tests)150 4826 y(for)36 b(b)s(oth)g +(the)h(op)s(erator)g(tests)150 2606 y(for)36 b(b)s(oth)g Fr(parameter)7 b Fu('s)37 b(existence)h(and)e(that)i(its)f(v)-5 b(alue)37 b(is)g(not)f(n)m(ull;)k(if)d(the)g(colon)h(is)e(omitted,)k -(the)150 4935 y(op)s(erator)31 b(tests)g(only)f(for)g(existence.)150 -5121 y Ft(${)p Fj(parameter)p Ft(:)p Fq(\000)p Fj(word)p -Ft(})630 5230 y Fu(If)g Fr(parameter)37 b Fu(is)30 b(unset)g(or)h(n)m +(the)150 2715 y(op)s(erator)31 b(tests)g(only)f(for)g(existence.)150 +2895 y Ft(${)p Fj(parameter)p Ft(:)p Fq(\000)p Fj(word)p +Ft(})630 3005 y Fu(If)g Fr(parameter)37 b Fu(is)30 b(unset)g(or)h(n)m (ull,)f(the)h(expansion)f(of)g Fr(w)m(ord)k Fu(is)c(substituted.)40 -b(Otherwise,)630 5340 y(the)31 b(v)-5 b(alue)30 b(of)h -Fr(parameter)37 b Fu(is)31 b(substituted.)p eop end -%%Page: 25 31 -TeXDict begin 25 30 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(25)150 299 -y Ft(${)p Fj(parameter)p Ft(:=)p Fj(word)p Ft(})630 408 -y Fu(If)33 b Fr(parameter)40 b Fu(is)33 b(unset)f(or)h(n)m(ull,)h(the)f +b(Otherwise,)630 3114 y(the)31 b(v)-5 b(alue)30 b(of)h +Fr(parameter)37 b Fu(is)31 b(substituted.)150 3287 y +Ft(${)p Fj(parameter)p Ft(:=)p Fj(word)p Ft(})630 3397 +y Fu(If)i Fr(parameter)40 b Fu(is)33 b(unset)f(or)h(n)m(ull,)h(the)f (expansion)g(of)g Fr(w)m(ord)j Fu(is)d(assigned)g(to)h -Fr(parameter)p Fu(.)630 518 y(The)c(v)-5 b(alue)32 b(of)f +Fr(parameter)p Fu(.)630 3506 y(The)c(v)-5 b(alue)32 b(of)f Fr(parameter)38 b Fu(is)31 b(then)g(substituted.)42 b(P)m(ositional)33 -b(parameters)e(and)f(sp)s(ecial)630 628 y(parameters)h(ma)m(y)g(not)f +b(parameters)e(and)f(sp)s(ecial)630 3616 y(parameters)h(ma)m(y)g(not)f (b)s(e)g(assigned)h(to)g(in)f(this)g(w)m(a)m(y)-8 b(.)150 -786 y Ft(${)p Fj(parameter)p Ft(:?)p Fj(word)p Ft(})630 -896 y Fu(If)26 b Fr(parameter)33 b Fu(is)26 b(n)m(ull)g(or)g(unset,)h +3789 y Ft(${)p Fj(parameter)p Ft(:?)p Fj(word)p Ft(})630 +3898 y Fu(If)26 b Fr(parameter)33 b Fu(is)26 b(n)m(ull)g(or)g(unset,)h (the)f(expansion)g(of)g Fr(w)m(ord)k Fu(\(or)c(a)h(message)g(to)g(that) -f(e\013ect)630 1005 y(if)i Fr(w)m(ord)j Fu(is)d(not)g(presen)m(t\))h +f(e\013ect)630 4008 y(if)i Fr(w)m(ord)j Fu(is)d(not)g(presen)m(t\))h (is)f(written)g(to)h(the)f(standard)f(error)h(and)f(the)h(shell,)h(if)f -(it)h(is)f(not)630 1115 y(in)m(teractiv)m(e,)33 b(exits.)42 +(it)h(is)f(not)630 4118 y(in)m(teractiv)m(e,)33 b(exits.)42 b(Otherwise,)30 b(the)h(v)-5 b(alue)31 b(of)f Fr(parameter)38 -b Fu(is)30 b(substituted.)150 1273 y Ft(${)p Fj(parameter)p -Ft(:+)p Fj(word)p Ft(})630 1383 y Fu(If)35 b Fr(parameter)42 +b Fu(is)30 b(substituted.)150 4290 y Ft(${)p Fj(parameter)p +Ft(:+)p Fj(word)p Ft(})630 4400 y Fu(If)35 b Fr(parameter)42 b Fu(is)36 b(n)m(ull)f(or)h(unset,)g(nothing)g(is)f(substituted,)i -(otherwise)e(the)h(expansion)630 1492 y(of)31 b Fr(w)m(ord)i -Fu(is)e(substituted.)150 1650 y Ft(${)p Fj(parameter)p -Ft(:)p Fj(offset)p Ft(})150 1760 y(${)p Fj(parameter)p -Ft(:)p Fj(offset)p Ft(:)p Fj(lengt)o(h)p Ft(})630 1870 +(otherwise)e(the)h(expansion)630 4510 y(of)31 b Fr(w)m(ord)i +Fu(is)e(substituted.)150 4682 y Ft(${)p Fj(parameter)p +Ft(:)p Fj(offset)p Ft(})150 4792 y(${)p Fj(parameter)p +Ft(:)p Fj(offset)p Ft(:)p Fj(lengt)o(h)p Ft(})630 4902 y Fu(This)f(is)h(referred)f(to)h(as)g(Substring)f(Expansion.)41 b(It)31 b(expands)f(to)h(up)f(to)h Fr(length)g Fu(c)m(harac-)630 -1979 y(ters)k(of)g(the)h(v)-5 b(alue)35 b(of)g Fr(parameter)42 +5011 y(ters)k(of)g(the)h(v)-5 b(alue)35 b(of)g Fr(parameter)42 b Fu(starting)36 b(at)g(the)f(c)m(haracter)i(sp)s(eci\014ed)d(b)m(y)h -Fr(o\013set)p Fu(.)55 b(If)630 2089 y Fr(parameter)32 +Fr(o\013set)p Fu(.)55 b(If)630 5121 y Fr(parameter)32 b Fu(is)26 b(`)p Ft(@)p Fu(',)g(an)f(indexed)g(arra)m(y)h(subscripted)e (b)m(y)h(`)p Ft(@)p Fu(')g(or)h(`)p Ft(*)p Fu(',)g(or)g(an)f(asso)s -(ciativ)m(e)j(ar-)630 2198 y(ra)m(y)g(name,)h(the)f(results)g(di\013er) +(ciativ)m(e)j(ar-)630 5230 y(ra)m(y)g(name,)h(the)f(results)g(di\013er) g(as)g(describ)s(ed)f(b)s(elo)m(w.)40 b(If)28 b Fr(length)g -Fu(is)g(omitted,)i(it)f(expands)630 2308 y(to)e(the)g(substring)f(of)g +Fu(is)g(omitted,)i(it)f(expands)630 5340 y(to)e(the)g(substring)f(of)g (the)h(v)-5 b(alue)27 b(of)g Fr(parameter)33 b Fu(starting)28 -b(at)f(the)g(c)m(haracter)h(sp)s(eci\014ed)e(b)m(y)630 -2418 y Fr(o\013set)37 b Fu(and)d(extending)g(to)h(the)f(end)g(of)g(the) -g(v)-5 b(alue.)53 b Fr(length)34 b Fu(and)g Fr(o\013set)j -Fu(are)e(arithmetic)630 2527 y(expressions)30 b(\(see)h(Section)g(6.5)h -([Shell)e(Arithmetic],)i(page)f(91\).)630 2661 y(If)39 +b(at)f(the)g(c)m(haracter)h(sp)s(eci\014ed)e(b)m(y)p +eop end +%%Page: 26 32 +TeXDict begin 26 31 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(26)630 299 +y Fr(o\013set)37 b Fu(and)d(extending)g(to)h(the)f(end)g(of)g(the)g(v) +-5 b(alue.)53 b Fr(length)34 b Fu(and)g Fr(o\013set)j +Fu(are)e(arithmetic)630 408 y(expressions)30 b(\(see)h(Section)g(6.5)h +([Shell)e(Arithmetic],)i(page)f(91\).)630 555 y(If)39 b Fr(o\013set)k Fu(ev)-5 b(aluates)41 b(to)f(a)g(n)m(um)m(b)s(er)f (less)h(than)f(zero,)k(the)d(v)-5 b(alue)40 b(is)g(used)e(as)i(an)g -(o\013set)630 2771 y(in)33 b(c)m(haracters)i(from)f(the)f(end)g(of)h +(o\013set)630 664 y(in)33 b(c)m(haracters)i(from)f(the)f(end)g(of)h (the)g(v)-5 b(alue)34 b(of)g Fr(parameter)p Fu(.)51 b(If)33 -b Fr(length)h Fu(ev)-5 b(aluates)35 b(to)g(a)630 2880 +b Fr(length)h Fu(ev)-5 b(aluates)35 b(to)g(a)630 774 y(n)m(um)m(b)s(er)23 b(less)h(than)g(zero,)j(it)d(is)h(in)m(terpreted)f (as)g(an)h(o\013set)g(in)f(c)m(haracters)h(from)f(the)g(end)g(of)630 -2990 y(the)31 b(v)-5 b(alue)31 b(of)g Fr(parameter)38 +883 y(the)31 b(v)-5 b(alue)31 b(of)g Fr(parameter)38 b Fu(rather)30 b(than)h(a)g(n)m(um)m(b)s(er)f(of)g(c)m(haracters,)j -(and)d(the)h(expansion)630 3099 y(is)39 b(the)g(c)m(haracters)i(b)s(et) -m(w)m(een)f Fr(o\013set)i Fu(and)c(that)i(result.)67 -b(Note)40 b(that)g(a)g(negativ)m(e)h(o\013set)630 3209 -y(m)m(ust)27 b(b)s(e)g(separated)g(from)g(the)g(colon)i(b)m(y)e(at)h -(least)g(one)f(space)h(to)g(a)m(v)m(oid)h(b)s(eing)e(confused)630 -3319 y(with)j(the)h(`)p Ft(:-)p Fu(')f(expansion.)630 -3453 y(Here)43 b(are)g(some)f(examples)h(illustrating)g(substring)f -(expansion)g(on)g(parameters)h(and)630 3562 y(subscripted)29 -b(arra)m(ys:)630 3696 y Ft($)47 b(string=01234567890abcdefgh)630 -3806 y($)g(echo)g(${string:7})630 3915 y(7890abcdefgh)630 -4025 y($)g(echo)g(${string:7:0})630 4244 y($)g(echo)g(${string:7:2})630 -4354 y(78)630 4463 y($)g(echo)g(${string:7:-2})630 4573 -y(7890abcdef)630 4682 y($)g(echo)g(${string:)e(-7})630 -4792 y(bcdefgh)630 4902 y($)i(echo)g(${string:)e(-7:0})630 -5121 y($)i(echo)g(${string:)e(-7:2})630 5230 y(bc)630 -5340 y($)i(echo)g(${string:)e(-7:-2})p eop end -%%Page: 26 32 -TeXDict begin 26 31 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(26)630 299 -y Ft(bcdef)630 408 y($)47 b(set)g(--)h(01234567890abcdefgh)630 -518 y($)f(echo)g(${1:7})630 628 y(7890abcdefgh)630 737 -y($)g(echo)g(${1:7:0})630 956 y($)g(echo)g(${1:7:2})630 -1066 y(78)630 1176 y($)g(echo)g(${1:7:-2})630 1285 y(7890abcdef)630 -1395 y($)g(echo)g(${1:)g(-7})630 1504 y(bcdefgh)630 1614 -y($)g(echo)g(${1:)g(-7:0})630 1833 y($)g(echo)g(${1:)g(-7:2})630 -1943 y(bc)630 2052 y($)g(echo)g(${1:)g(-7:-2})630 2162 -y(bcdef)630 2271 y($)g(array[0]=01234567890abcdef)o(gh)630 -2381 y($)g(echo)g(${array[0]:7})630 2491 y(7890abcdefgh)630 -2600 y($)g(echo)g(${array[0]:7:0})630 2819 y($)g(echo)g -(${array[0]:7:2})630 2929 y(78)630 3039 y($)g(echo)g(${array[0]:7:-2}) -630 3148 y(7890abcdef)630 3258 y($)g(echo)g(${array[0]:)e(-7})630 -3367 y(bcdefgh)630 3477 y($)i(echo)g(${array[0]:)e(-7:0})630 -3696 y($)i(echo)g(${array[0]:)e(-7:2})630 3806 y(bc)630 -3915 y($)i(echo)g(${array[0]:)e(-7:-2})630 4025 y(bcdef)630 -4171 y Fu(If)22 b Fr(parameter)30 b Fu(is)23 b(`)p Ft(@)p +(and)d(the)h(expansion)630 993 y(is)39 b(the)g(c)m(haracters)i(b)s(et)m +(w)m(een)f Fr(o\013set)i Fu(and)c(that)i(result.)67 b(Note)40 +b(that)g(a)g(negativ)m(e)h(o\013set)630 1103 y(m)m(ust)27 +b(b)s(e)g(separated)g(from)g(the)g(colon)i(b)m(y)e(at)h(least)g(one)f +(space)h(to)g(a)m(v)m(oid)h(b)s(eing)e(confused)630 1212 +y(with)j(the)h(`)p Ft(:-)p Fu(')f(expansion.)630 1358 +y(Here)43 b(are)g(some)f(examples)h(illustrating)g(substring)f +(expansion)g(on)g(parameters)h(and)630 1468 y(subscripted)29 +b(arra)m(ys:)630 1614 y Ft($)47 b(string=01234567890abcdefgh)630 +1724 y($)g(echo)g(${string:7})630 1833 y(7890abcdefgh)630 +1943 y($)g(echo)g(${string:7:0})630 2162 y($)g(echo)g(${string:7:2})630 +2271 y(78)630 2381 y($)g(echo)g(${string:7:-2})630 2491 +y(7890abcdef)630 2600 y($)g(echo)g(${string:)e(-7})630 +2710 y(bcdefgh)630 2819 y($)i(echo)g(${string:)e(-7:0})630 +3039 y($)i(echo)g(${string:)e(-7:2})630 3148 y(bc)630 +3258 y($)i(echo)g(${string:)e(-7:-2})630 3367 y(bcdef)630 +3477 y($)i(set)g(--)h(01234567890abcdefgh)630 3587 y($)f(echo)g(${1:7}) +630 3696 y(7890abcdefgh)630 3806 y($)g(echo)g(${1:7:0})630 +4025 y($)g(echo)g(${1:7:2})630 4134 y(78)630 4244 y($)g(echo)g +(${1:7:-2})630 4354 y(7890abcdef)630 4463 y($)g(echo)g(${1:)g(-7})630 +4573 y(bcdefgh)630 4682 y($)g(echo)g(${1:)g(-7:0})630 +4902 y($)g(echo)g(${1:)g(-7:2})630 5011 y(bc)630 5121 +y($)g(echo)g(${1:)g(-7:-2})630 5230 y(bcdef)630 5340 +y($)g(array[0]=01234567890abcdef)o(gh)p eop end +%%Page: 27 33 +TeXDict begin 27 32 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(27)630 299 +y Ft($)47 b(echo)g(${array[0]:7})630 408 y(7890abcdefgh)630 +518 y($)g(echo)g(${array[0]:7:0})630 737 y($)g(echo)g(${array[0]:7:2}) +630 847 y(78)630 956 y($)g(echo)g(${array[0]:7:-2})630 +1066 y(7890abcdef)630 1176 y($)g(echo)g(${array[0]:)e(-7})630 +1285 y(bcdefgh)630 1395 y($)i(echo)g(${array[0]:)e(-7:0})630 +1614 y($)i(echo)g(${array[0]:)e(-7:2})630 1724 y(bc)630 +1833 y($)i(echo)g(${array[0]:)e(-7:-2})630 1943 y(bcdef)630 +2071 y Fu(If)22 b Fr(parameter)30 b Fu(is)23 b(`)p Ft(@)p Fu(',)i(the)e(result)g(is)g Fr(length)h Fu(p)s(ositional)f(parameters)h -(b)s(eginning)e(at)i Fr(o\013set)p Fu(.)630 4281 y(A)36 +(b)s(eginning)e(at)i Fr(o\013set)p Fu(.)630 2180 y(A)36 b(negativ)m(e)j Fr(o\013set)g Fu(is)e(tak)m(en)g(relativ)m(e)i(to)e (one)g(greater)g(than)f(the)h(greatest)h(p)s(ositional)630 -4390 y(parameter,)29 b(so)f(an)g(o\013set)h(of)f(-1)g(ev)-5 +2290 y(parameter,)29 b(so)f(an)g(o\013set)h(of)f(-1)g(ev)-5 b(aluates)30 b(to)e(the)g(last)h(p)s(ositional)g(parameter.)40 -b(It)28 b(is)g(an)630 4500 y(expansion)i(error)g(if)h +b(It)28 b(is)g(an)630 2399 y(expansion)i(error)g(if)h Fr(length)f Fu(ev)-5 b(aluates)32 b(to)f(a)g(n)m(um)m(b)s(er)e(less)i -(than)f(zero.)630 4646 y(The)i(follo)m(wing)i(examples)f(illustrate)h +(than)f(zero.)630 2527 y(The)i(follo)m(wing)i(examples)f(illustrate)h (substring)d(expansion)i(using)f(p)s(ositional)h(param-)630 -4755 y(eters:)630 4902 y Ft($)47 b(set)g(--)h(1)f(2)g(3)h(4)f(5)h(6)f -(7)h(8)f(9)h(0)f(a)h(b)f(c)g(d)h(e)f(f)h(g)f(h)630 5011 -y($)g(echo)g(${@:7})630 5121 y(7)g(8)h(9)f(0)h(a)f(b)h(c)f(d)h(e)f(f)h -(g)f(h)630 5230 y($)g(echo)g(${@:7:0})p eop end -%%Page: 27 33 -TeXDict begin 27 32 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(27)630 299 -y Ft($)47 b(echo)g(${@:7:2})630 408 y(7)g(8)630 518 y($)g(echo)g -(${@:7:-2})630 628 y(bash:)f(-2:)h(substring)f(expression)f(<)i(0)630 -737 y($)g(echo)g(${@:)g(-7:2})630 847 y(b)g(c)630 956 -y($)g(echo)g(${@:0})630 1066 y(./bash)f(1)i(2)f(3)g(4)h(5)f(6)h(7)f(8)h -(9)f(0)h(a)f(b)h(c)f(d)g(e)h(f)f(g)h(h)630 1176 y($)f(echo)g(${@:0:2}) -630 1285 y(./bash)f(1)630 1395 y($)h(echo)g(${@:)g(-7:0})630 -1677 y Fu(If)36 b Fr(parameter)43 b Fu(is)36 b(an)g(indexed)g(arra)m(y) +2637 y(eters:)630 2765 y Ft($)47 b(set)g(--)h(1)f(2)g(3)h(4)f(5)h(6)f +(7)h(8)f(9)h(0)f(a)h(b)f(c)g(d)h(e)f(f)h(g)f(h)630 2874 +y($)g(echo)g(${@:7})630 2984 y(7)g(8)h(9)f(0)h(a)f(b)h(c)f(d)h(e)f(f)h +(g)f(h)630 3093 y($)g(echo)g(${@:7:0})630 3313 y($)g(echo)g(${@:7:2}) +630 3422 y(7)g(8)630 3532 y($)g(echo)g(${@:7:-2})630 +3641 y(bash:)f(-2:)h(substring)f(expression)f(<)i(0)630 +3751 y($)g(echo)g(${@:)g(-7:2})630 3861 y(b)g(c)630 3970 +y($)g(echo)g(${@:0})630 4080 y(./bash)f(1)i(2)f(3)g(4)h(5)f(6)h(7)f(8)h +(9)f(0)h(a)f(b)h(c)f(d)g(e)h(f)f(g)h(h)630 4189 y($)f(echo)g(${@:0:2}) +630 4299 y(./bash)f(1)630 4408 y($)h(echo)g(${@:)g(-7:0})630 +4646 y Fu(If)36 b Fr(parameter)43 b Fu(is)36 b(an)g(indexed)g(arra)m(y) g(name)g(subscripted)f(b)m(y)h(`)p Ft(@)p Fu(')g(or)h(`)p -Ft(*)p Fu(',)h(the)e(result)g(is)630 1786 y(the)j Fr(length)g +Ft(*)p Fu(',)h(the)e(result)g(is)630 4755 y(the)j Fr(length)g Fu(mem)m(b)s(ers)f(of)h(the)f(arra)m(y)i(b)s(eginning)d(with)i Ft(${)p Fj(parameter)p Ft([)p Fj(offset)p Ft(]})p Fu(.)60 -b(A)630 1896 y(negativ)m(e)33 b Fr(o\013set)g Fu(is)e(tak)m(en)h +b(A)630 4865 y(negativ)m(e)33 b Fr(o\013set)g Fu(is)e(tak)m(en)h (relativ)m(e)g(to)g(one)f(greater)g(than)g(the)f(maxim)m(um)h(index)f -(of)h(the)630 2005 y(sp)s(eci\014ed)38 b(arra)m(y)-8 +(of)h(the)630 4975 y(sp)s(eci\014ed)38 b(arra)m(y)-8 b(.)65 b(It)38 b(is)g(an)h(expansion)f(error)f(if)i Fr(length)f Fu(ev)-5 b(aluates)40 b(to)f(a)g(n)m(um)m(b)s(er)e(less)630 -2115 y(than)30 b(zero.)630 2287 y(These)23 b(examples)i(sho)m(w)e(ho)m +5084 y(than)30 b(zero.)630 5212 y(These)23 b(examples)i(sho)m(w)e(ho)m (w)h(y)m(ou)g(can)g(use)f(substring)f(expansion)i(with)f(indexed)g -(arra)m(ys:)630 2459 y Ft($)47 b(array=\(0)f(1)h(2)h(3)f(4)h(5)f(6)h(7) -f(8)h(9)f(0)h(a)f(b)g(c)h(d)f(e)h(f)f(g)h(h\))630 2569 -y($)f(echo)g(${array[@]:7})630 2679 y(7)g(8)h(9)f(0)h(a)f(b)h(c)f(d)h -(e)f(f)h(g)f(h)630 2788 y($)g(echo)g(${array[@]:7:2})630 -2898 y(7)g(8)630 3007 y($)g(echo)g(${array[@]:)e(-7:2})630 -3117 y(b)i(c)630 3226 y($)g(echo)g(${array[@]:)e(-7:-2})630 -3336 y(bash:)h(-2:)h(substring)f(expression)f(<)i(0)630 -3446 y($)g(echo)g(${array[@]:0})630 3555 y(0)g(1)h(2)f(3)h(4)f(5)h(6)f -(7)h(8)f(9)h(0)f(a)g(b)h(c)f(d)h(e)f(f)h(g)f(h)630 3665 -y($)g(echo)g(${array[@]:0:2})630 3774 y(0)g(1)630 3884 -y($)g(echo)g(${array[@]:)e(-7:0})630 4166 y Fu(Substring)25 +(arra)m(ys:)630 5340 y Ft($)47 b(array=\(0)f(1)h(2)h(3)f(4)h(5)f(6)h(7) +f(8)h(9)f(0)h(a)f(b)g(c)h(d)f(e)h(f)f(g)h(h\))p eop end +%%Page: 28 34 +TeXDict begin 28 33 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(28)630 299 +y Ft($)47 b(echo)g(${array[@]:7})630 408 y(7)g(8)h(9)f(0)h(a)f(b)h(c)f +(d)h(e)f(f)h(g)f(h)630 518 y($)g(echo)g(${array[@]:7:2})630 +628 y(7)g(8)630 737 y($)g(echo)g(${array[@]:)e(-7:2})630 +847 y(b)i(c)630 956 y($)g(echo)g(${array[@]:)e(-7:-2})630 +1066 y(bash:)h(-2:)h(substring)f(expression)f(<)i(0)630 +1176 y($)g(echo)g(${array[@]:0})630 1285 y(0)g(1)h(2)f(3)h(4)f(5)h(6)f +(7)h(8)f(9)h(0)f(a)g(b)h(c)f(d)h(e)f(f)h(g)f(h)630 1395 +y($)g(echo)g(${array[@]:0:2})630 1504 y(0)g(1)630 1614 +y($)g(echo)g(${array[@]:)e(-7:0})630 1855 y Fu(Substring)25 b(expansion)g(applied)h(to)h(an)f(asso)s(ciativ)m(e)j(arra)m(y)d(pro)s -(duces)f(unde\014ned)f(results.)630 4338 y(Substring)32 +(duces)f(unde\014ned)f(results.)630 1987 y(Substring)32 b(indexing)i(is)f(zero-based)i(unless)e(the)h(p)s(ositional)g -(parameters)g(are)g(used,)g(in)630 4448 y(whic)m(h)29 +(parameters)g(are)g(used,)g(in)630 2096 y(whic)m(h)29 b(case)i(the)f(indexing)g(starts)g(at)g(1)g(b)m(y)g(default.)41 b(If)29 b Fr(o\013set)k Fu(is)d(0,)g(and)f(the)h(p)s(ositional)630 -4557 y(parameters)h(are)f(used,)g Ft($@)g Fu(is)g(pre\014xed)g(to)h -(the)f(list.)150 4792 y Ft(${!)p Fj(prefix)p Ft(*})150 -4902 y(${!)p Fj(prefix)p Ft(@})630 5011 y Fu(Expands)24 +2206 y(parameters)h(are)f(used,)g Ft($@)g Fu(is)g(pre\014xed)g(to)h +(the)f(list.)150 2359 y Ft(${!)p Fj(prefix)p Ft(*})150 +2469 y(${!)p Fj(prefix)p Ft(@})630 2578 y Fu(Expands)24 b(to)h(the)g(names)g(of)g(v)-5 b(ariables)26 b(whose)f(names)f(b)s (egin)h(with)f Fr(pre\014x)p Fu(,)i(separated)f(b)m(y)630 -5121 y(the)k(\014rst)f(c)m(haracter)j(of)e(the)g Ft(IFS)f +2688 y(the)k(\014rst)f(c)m(haracter)j(of)e(the)g Ft(IFS)f Fu(sp)s(ecial)i(v)-5 b(ariable.)41 b(When)29 b(`)p Ft(@)p -Fu(')g(is)g(used)f(and)h(the)g(expan-)630 5230 y(sion)35 +Fu(')g(is)g(used)f(and)h(the)g(expan-)630 2798 y(sion)35 b(app)s(ears)g(within)f(double)h(quotes,)i(eac)m(h)f(v)-5 b(ariable)36 b(name)f(expands)g(to)g(a)h(separate)630 -5340 y(w)m(ord.)p eop end -%%Page: 28 34 -TeXDict begin 28 33 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(28)150 299 -y Ft(${!)p Fj(name)p Ft([@]})150 408 y(${!)p Fj(name)p -Ft([*]})630 518 y Fu(If)26 b Fr(name)32 b Fu(is)27 b(an)f(arra)m(y)h(v) --5 b(ariable,)29 b(expands)d(to)h(the)g(list)g(of)g(arra)m(y)g(indices) -g(\(k)m(eys\))h(assigned)630 628 y(in)c Fr(name)p Fu(.)39 -b(If)24 b Fr(name)30 b Fu(is)24 b(not)h(an)f(arra)m(y)-8 -b(,)27 b(expands)c(to)j(0)f(if)f Fr(name)30 b Fu(is)24 -b(set)h(and)f(n)m(ull)g(otherwise.)630 737 y(When)39 -b(`)p Ft(@)p Fu(')h(is)f(used)g(and)f(the)i(expansion)f(app)s(ears)g -(within)f(double)h(quotes,)k(eac)m(h)d(k)m(ey)630 847 -y(expands)30 b(to)h(a)f(separate)i(w)m(ord.)150 1011 -y Ft(${#)p Fj(parameter)p Ft(})630 1121 y Fu(The)40 b(length)g(in)g(c)m -(haracters)i(of)e(the)h(expanded)e(v)-5 b(alue)41 b(of)f -Fr(parameter)47 b Fu(is)40 b(substituted.)630 1230 y(If)i -Fr(parameter)50 b Fu(is)43 b(`)p Ft(*)p Fu(')g(or)g(`)p +2907 y(w)m(ord.)150 3061 y Ft(${!)p Fj(name)p Ft([@]})150 +3170 y(${!)p Fj(name)p Ft([*]})630 3280 y Fu(If)26 b +Fr(name)32 b Fu(is)27 b(an)f(arra)m(y)h(v)-5 b(ariable,)29 +b(expands)d(to)h(the)g(list)g(of)g(arra)m(y)g(indices)g(\(k)m(eys\))h +(assigned)630 3389 y(in)c Fr(name)p Fu(.)39 b(If)24 b +Fr(name)30 b Fu(is)24 b(not)h(an)f(arra)m(y)-8 b(,)27 +b(expands)c(to)j(0)f(if)f Fr(name)30 b Fu(is)24 b(set)h(and)f(n)m(ull)g +(otherwise.)630 3499 y(When)39 b(`)p Ft(@)p Fu(')h(is)f(used)g(and)f +(the)i(expansion)f(app)s(ears)g(within)f(double)h(quotes,)k(eac)m(h)d +(k)m(ey)630 3608 y(expands)30 b(to)h(a)f(separate)i(w)m(ord.)150 +3762 y Ft(${#)p Fj(parameter)p Ft(})630 3871 y Fu(The)40 +b(length)g(in)g(c)m(haracters)i(of)e(the)h(expanded)e(v)-5 +b(alue)41 b(of)f Fr(parameter)47 b Fu(is)40 b(substituted.)630 +3981 y(If)i Fr(parameter)50 b Fu(is)43 b(`)p Ft(*)p Fu(')g(or)g(`)p Ft(@)p Fu(',)k(the)c(v)-5 b(alue)43 b(substituted)f(is)h(the)g(n)m(um)m -(b)s(er)f(of)h(p)s(ositional)630 1340 y(parameters.)i(If)32 +(b)s(er)f(of)h(p)s(ositional)630 4091 y(parameters.)i(If)32 b Fr(parameter)38 b Fu(is)32 b(an)g(arra)m(y)g(name)g(subscripted)f(b)m (y)g(`)p Ft(*)p Fu(')h(or)g(`)p Ft(@)p Fu(',)g(the)g(v)-5 -b(alue)630 1450 y(substituted)30 b(is)h(the)g(n)m(um)m(b)s(er)e(of)i +b(alue)630 4200 y(substituted)30 b(is)h(the)g(n)m(um)m(b)s(er)e(of)i (elemen)m(ts)i(in)d(the)h(arra)m(y)-8 b(.)43 b(If)30 -b Fr(parameter)38 b Fu(is)31 b(an)f(indexed)630 1559 +b Fr(parameter)38 b Fu(is)31 b(an)f(indexed)630 4310 y(arra)m(y)37 b(name)g(subscripted)f(b)m(y)h(a)g(negativ)m(e)i(n)m(um)m (b)s(er,)f(that)f(n)m(um)m(b)s(er)f(is)g(in)m(terpreted)i(as)630 -1669 y(relativ)m(e)47 b(to)g(one)e(greater)i(than)e(the)h(maxim)m(um)f +4419 y(relativ)m(e)47 b(to)g(one)e(greater)i(than)e(the)h(maxim)m(um)f (index)g(of)g Fr(parameter)p Fu(,)50 b(so)c(negativ)m(e)630 -1778 y(indices)30 b(coun)m(t)h(bac)m(k)g(from)f(the)h(end)e(of)i(the)f +4529 y(indices)30 b(coun)m(t)h(bac)m(k)g(from)f(the)h(end)e(of)i(the)f (arra)m(y)-8 b(,)32 b(and)e(an)g(index)g(of)g(-1)h(references)g(the)630 -1888 y(last)g(elemen)m(t.)150 2052 y Ft(${)p Fj(parameter)p -Ft(#)p Fj(word)p Ft(})150 2162 y(${)p Fj(parameter)p -Ft(##)p Fj(word)p Ft(})630 2271 y Fu(The)43 b Fr(w)m(ord)k +4639 y(last)g(elemen)m(t.)150 4792 y Ft(${)p Fj(parameter)p +Ft(#)p Fj(word)p Ft(})150 4902 y(${)p Fj(parameter)p +Ft(##)p Fj(word)p Ft(})630 5011 y Fu(The)43 b Fr(w)m(ord)k Fu(is)d(expanded)f(to)h(pro)s(duce)f(a)h(pattern)g(and)f(matc)m(hed)i -(according)f(to)h(the)630 2381 y(rules)31 b(describ)s(ed)g(b)s(elo)m(w) +(according)f(to)h(the)630 5121 y(rules)31 b(describ)s(ed)g(b)s(elo)m(w) h(\(see)h(Section)g(3.5.8.1)h([P)m(attern)g(Matc)m(hing],)g(page)f -(32\).)46 b(If)32 b(the)630 2491 y(pattern)37 b(matc)m(hes)h(the)f(b)s +(33\).)46 b(If)32 b(the)630 5230 y(pattern)37 b(matc)m(hes)h(the)f(b)s (eginning)f(of)h(the)g(expanded)f(v)-5 b(alue)38 b(of)f -Fr(parameter)p Fu(,)i(then)e(the)630 2600 y(result)f(of)h(the)f +Fr(parameter)p Fu(,)i(then)e(the)630 5340 y(result)f(of)h(the)f (expansion)h(is)f(the)h(expanded)e(v)-5 b(alue)37 b(of)g -Fr(parameter)43 b Fu(with)36 b(the)h(shortest)630 2710 +Fr(parameter)43 b Fu(with)36 b(the)h(shortest)p eop end +%%Page: 29 35 +TeXDict begin 29 34 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(29)630 299 y(matc)m(hing)31 b(pattern)e(\(the)h(`)p Ft(#)p Fu(')g(case\))h(or)e (the)h(longest)h(matc)m(hing)f(pattern)g(\(the)g(`)p -Ft(##)p Fu(')g(case\))630 2819 y(deleted.)49 b(If)32 -b Fr(parameter)40 b Fu(is)33 b(`)p Ft(@)p Fu(')g(or)g(`)p +Ft(##)p Fu(')g(case\))630 408 y(deleted.)49 b(If)32 b +Fr(parameter)40 b Fu(is)33 b(`)p Ft(@)p Fu(')g(or)g(`)p Ft(*)p Fu(',)h(the)f(pattern)g(remo)m(v)-5 b(al)34 b(op)s(eration)g(is) -f(applied)f(to)630 2929 y(eac)m(h)38 b(p)s(ositional)g(parameter)g(in)f +f(applied)f(to)630 518 y(eac)m(h)38 b(p)s(ositional)g(parameter)g(in)f (turn,)h(and)e(the)h(expansion)g(is)h(the)f(resultan)m(t)h(list.)61 -b(If)630 3039 y Fr(parameter)38 b Fu(is)32 b(an)f(arra)m(y)h(v)-5 +b(If)630 628 y Fr(parameter)38 b Fu(is)32 b(an)f(arra)m(y)h(v)-5 b(ariable)32 b(subscripted)e(with)h(`)p Ft(@)p Fu(')g(or)h(`)p -Ft(*)p Fu(',)g(the)f(pattern)h(remo)m(v)-5 b(al)630 3148 +Ft(*)p Fu(',)g(the)f(pattern)h(remo)m(v)-5 b(al)630 737 y(op)s(eration)30 b(is)g(applied)f(to)i(eac)m(h)g(mem)m(b)s(er)e(of)h (the)g(arra)m(y)g(in)f(turn,)g(and)g(the)h(expansion)g(is)630 -3258 y(the)h(resultan)m(t)g(list.)150 3422 y Ft(${)p -Fj(parameter)p Ft(\045)p Fj(word)p Ft(})150 3532 y(${)p -Fj(parameter)p Ft(\045\045)p Fj(word)p Ft(})630 3641 -y Fu(The)43 b Fr(w)m(ord)k Fu(is)d(expanded)f(to)h(pro)s(duce)f(a)h -(pattern)g(and)f(matc)m(hed)i(according)f(to)h(the)630 -3751 y(rules)31 b(describ)s(ed)g(b)s(elo)m(w)h(\(see)h(Section)g -(3.5.8.1)h([P)m(attern)g(Matc)m(hing],)g(page)f(32\).)46 -b(If)32 b(the)630 3861 y(pattern)25 b(matc)m(hes)h(If)f(the)g(pattern)g -(matc)m(hes)i(a)e(trailing)h(p)s(ortion)f(of)g(the)g(expanded)f(v)-5 -b(alue)630 3970 y(of)23 b Fr(parameter)p Fu(,)i(then)e(the)g(result)f -(of)h(the)g(expansion)g(is)g(the)g(v)-5 b(alue)23 b(of)g -Fr(parameter)30 b Fu(with)23 b(the)630 4080 y(shortest)35 -b(matc)m(hing)h(pattern)f(\(the)g(`)p Ft(\045)p Fu(')g(case\))i(or)d -(the)h(longest)i(matc)m(hing)e(pattern)g(\(the)630 4189 -y(`)p Ft(\045\045)p Fu(')f(case\))i(deleted.)54 b(If)34 -b Fr(parameter)42 b Fu(is)35 b(`)p Ft(@)p Fu(')f(or)h(`)p +847 y(the)h(resultan)m(t)g(list.)150 993 y Ft(${)p Fj(parameter)p +Ft(\045)p Fj(word)p Ft(})150 1103 y(${)p Fj(parameter)p +Ft(\045\045)p Fj(word)p Ft(})630 1212 y Fu(The)43 b Fr(w)m(ord)k +Fu(is)d(expanded)f(to)h(pro)s(duce)f(a)h(pattern)g(and)f(matc)m(hed)i +(according)f(to)h(the)630 1322 y(rules)31 b(describ)s(ed)g(b)s(elo)m(w) +h(\(see)h(Section)g(3.5.8.1)h([P)m(attern)g(Matc)m(hing],)g(page)f +(33\).)46 b(If)32 b(the)630 1431 y(pattern)25 b(matc)m(hes)h(If)f(the)g +(pattern)g(matc)m(hes)i(a)e(trailing)h(p)s(ortion)f(of)g(the)g +(expanded)f(v)-5 b(alue)630 1541 y(of)23 b Fr(parameter)p +Fu(,)i(then)e(the)g(result)f(of)h(the)g(expansion)g(is)g(the)g(v)-5 +b(alue)23 b(of)g Fr(parameter)30 b Fu(with)23 b(the)630 +1650 y(shortest)35 b(matc)m(hing)h(pattern)f(\(the)g(`)p +Ft(\045)p Fu(')g(case\))i(or)d(the)h(longest)i(matc)m(hing)e(pattern)g +(\(the)630 1760 y(`)p Ft(\045\045)p Fu(')f(case\))i(deleted.)54 +b(If)34 b Fr(parameter)42 b Fu(is)35 b(`)p Ft(@)p Fu(')f(or)h(`)p Ft(*)p Fu(',)h(the)e(pattern)h(remo)m(v)-5 b(al)36 b(op)s(eration)f(is) -630 4299 y(applied)26 b(to)g(eac)m(h)h(p)s(ositional)f(parameter)h(in)e +630 1870 y(applied)26 b(to)g(eac)m(h)h(p)s(ositional)f(parameter)h(in)e (turn,)h(and)f(the)h(expansion)g(is)f(the)h(resultan)m(t)630 -4408 y(list.)56 b(If)34 b Fr(parameter)42 b Fu(is)35 +1979 y(list.)56 b(If)34 b Fr(parameter)42 b Fu(is)35 b(an)g(arra)m(y)h(v)-5 b(ariable)36 b(subscripted)e(with)g(`)p Ft(@)p Fu(')i(or)f(`)p Ft(*)p Fu(',)i(the)e(pattern)630 -4518 y(remo)m(v)-5 b(al)44 b(op)s(eration)g(is)e(applied)h(to)h(eac)m +2089 y(remo)m(v)-5 b(al)44 b(op)s(eration)g(is)e(applied)h(to)h(eac)m (h)g(mem)m(b)s(er)e(of)h(the)g(arra)m(y)h(in)e(turn,)j(and)e(the)630 -4628 y(expansion)30 b(is)h(the)f(resultan)m(t)h(list.)150 -4792 y Ft(${)p Fj(parameter)p Ft(/)p Fj(pattern)p Ft(/)p -Fj(stri)o(ng)p Ft(})630 4902 y Fu(The)37 b Fr(pattern)g +2198 y(expansion)30 b(is)h(the)f(resultan)m(t)h(list.)150 +2345 y Ft(${)p Fj(parameter)p Ft(/)p Fj(pattern)p Ft(/)p +Fj(stri)o(ng)p Ft(})630 2454 y Fu(The)37 b Fr(pattern)g Fu(is)g(expanded)g(to)h(pro)s(duce)e(a)h(pattern)g(just)g(as)h(in)e -(\014lename)i(expansion.)630 5011 y Fr(P)m(arameter)46 +(\014lename)i(expansion.)630 2564 y Fr(P)m(arameter)46 b Fu(is)38 b(expanded)f(and)g(the)i(longest)g(matc)m(h)g(of)f Fr(pattern)g Fu(against)h(its)f(v)-5 b(alue)39 b(is)630 -5121 y(replaced)31 b(with)g Fr(string)p Fu(.)42 b(The)30 +2673 y(replaced)31 b(with)g Fr(string)p Fu(.)42 b(The)30 b(matc)m(h)h(is)g(p)s(erformed)f(according)h(to)h(the)f(rules)f -(describ)s(ed)630 5230 y(b)s(elo)m(w)f(\(see)h(Section)g(3.5.8.1)h([P)m -(attern)g(Matc)m(hing],)g(page)f(32\).)41 b(If)29 b Fr(pattern)g -Fu(b)s(egins)f(with)630 5340 y(`)p Ft(/)p Fu(',)43 b(all)e(matc)m(hes)g +(describ)s(ed)630 2783 y(b)s(elo)m(w)f(\(see)h(Section)g(3.5.8.1)h([P)m +(attern)g(Matc)m(hing],)g(page)f(33\).)41 b(If)29 b Fr(pattern)g +Fu(b)s(egins)f(with)630 2892 y(`)p Ft(/)p Fu(',)43 b(all)e(matc)m(hes)g (of)f Fr(pattern)g Fu(are)h(replaced)f(with)g Fr(string)p -Fu(.)69 b(Normally)41 b(only)f(the)h(\014rst)p eop end -%%Page: 29 35 -TeXDict begin 29 34 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(29)630 299 +Fu(.)69 b(Normally)41 b(only)f(the)h(\014rst)630 3002 y(matc)m(h)28 b(is)f(replaced.)40 b(If)26 b Fr(pattern)h Fu(b)s(egins)f(with)h(`)p Ft(#)p Fu(',)h(it)f(m)m(ust)g(matc)m(h)h(at)g -(the)f(b)s(eginning)f(of)630 408 y(the)32 b(expanded)f(v)-5 +(the)f(b)s(eginning)f(of)630 3112 y(the)32 b(expanded)f(v)-5 b(alue)32 b(of)g Fr(parameter)p Fu(.)45 b(If)31 b Fr(pattern)h Fu(b)s(egins)f(with)g(`)p Ft(\045)p Fu(',)i(it)f(m)m(ust)g(matc)m(h)g -(at)630 518 y(the)24 b(end)f(of)h(the)h(expanded)e(v)-5 +(at)630 3221 y(the)24 b(end)f(of)h(the)h(expanded)e(v)-5 b(alue)24 b(of)g Fr(parameter)p Fu(.)39 b(If)24 b Fr(string)31 b Fu(is)24 b(n)m(ull,)i(matc)m(hes)f(of)f Fr(pattern)630 -628 y Fu(are)36 b(deleted)g(and)f(the)g Ft(/)g Fu(follo)m(wing)i +3331 y Fu(are)36 b(deleted)g(and)f(the)g Ft(/)g Fu(follo)m(wing)i Fr(pattern)e Fu(ma)m(y)h(b)s(e)f(omitted.)57 b(If)34 -b(the)i Ft(nocasematch)630 737 y Fu(shell)31 b(option)h(\(see)g(the)g +b(the)i Ft(nocasematch)630 3440 y Fu(shell)31 b(option)h(\(see)g(the)g (description)f(of)g Ft(shopt)f Fu(in)h(Section)h(4.3.2)h([The)e(Shopt)f -(Builtin],)630 847 y(page)45 b(65\))h(is)f(enabled,)j(the)d(matc)m(h)g +(Builtin],)630 3550 y(page)45 b(65\))h(is)f(enabled,)j(the)d(matc)m(h)g (is)g(p)s(erformed)e(without)i(regard)f(to)h(the)g(case)h(of)630 -956 y(alphab)s(etic)36 b(c)m(haracters.)56 b(If)34 b +3660 y(alphab)s(etic)36 b(c)m(haracters.)56 b(If)34 b Fr(parameter)42 b Fu(is)36 b(`)p Ft(@)p Fu(')f(or)g(`)p Ft(*)p Fu(',)h(the)g(substitution)e(op)s(eration)i(is)630 -1066 y(applied)26 b(to)g(eac)m(h)h(p)s(ositional)f(parameter)h(in)e +3769 y(applied)26 b(to)g(eac)m(h)h(p)s(ositional)f(parameter)h(in)e (turn,)h(and)f(the)h(expansion)g(is)f(the)h(resultan)m(t)630 -1176 y(list.)38 b(If)21 b Fr(parameter)28 b Fu(is)22 +3879 y(list.)38 b(If)21 b Fr(parameter)28 b Fu(is)22 b(an)f(arra)m(y)h(v)-5 b(ariable)22 b(subscripted)e(with)h(`)p Ft(@)p Fu(')g(or)g(`)p Ft(*)p Fu(',)j(the)d(substitution)630 -1285 y(op)s(eration)30 b(is)g(applied)f(to)i(eac)m(h)g(mem)m(b)s(er)e +3988 y(op)s(eration)30 b(is)g(applied)f(to)i(eac)m(h)g(mem)m(b)s(er)e (of)h(the)g(arra)m(y)g(in)f(turn,)g(and)g(the)h(expansion)g(is)630 -1395 y(the)h(resultan)m(t)g(list.)150 1559 y Ft(${)p -Fj(parameter)p Ft(^)p Fj(pattern)p Ft(})150 1669 y(${)p -Fj(parameter)p Ft(^^)p Fj(pattern)p Ft(})150 1778 y(${)p -Fj(parameter)p Ft(,)p Fj(pattern)p Ft(})150 1888 y(${)p -Fj(parameter)p Ft(,,)p Fj(pattern)p Ft(})630 1998 y Fu(This)36 +4098 y(the)h(resultan)m(t)g(list.)150 4244 y Ft(${)p +Fj(parameter)p Ft(^)p Fj(pattern)p Ft(})150 4354 y(${)p +Fj(parameter)p Ft(^^)p Fj(pattern)p Ft(})150 4463 y(${)p +Fj(parameter)p Ft(,)p Fj(pattern)p Ft(})150 4573 y(${)p +Fj(parameter)p Ft(,,)p Fj(pattern)p Ft(})630 4682 y Fu(This)36 b(expansion)g(mo)s(di\014es)g(the)g(case)i(of)f(alphab)s(etic)g(c)m -(haracters)h(in)e Fr(parameter)p Fu(.)59 b(The)630 2107 +(haracters)h(in)e Fr(parameter)p Fu(.)59 b(The)630 4792 y Fr(pattern)33 b Fu(is)g(expanded)e(to)j(pro)s(duce)d(a)j(pattern)e (just)g(as)h(in)g(\014lename)g(expansion.)47 b(Eac)m(h)630 -2217 y(c)m(haracter)32 b(in)e(the)g(expanded)f(v)-5 b(alue)31 +4902 y(c)m(haracter)32 b(in)e(the)g(expanded)f(v)-5 b(alue)31 b(of)f Fr(parameter)37 b Fu(is)30 b(tested)h(against)h -Fr(pattern)p Fu(,)e(and,)g(if)630 2326 y(it)j(matc)m(hes)h(the)g +Fr(pattern)p Fu(,)e(and,)g(if)630 5011 y(it)j(matc)m(hes)h(the)g (pattern,)f(its)h(case)g(is)f(con)m(v)m(erted.)49 b(The)33 -b(pattern)g(should)f(not)h(attempt)630 2436 y(to)f(matc)m(h)g(more)f +b(pattern)g(should)f(not)h(attempt)630 5121 y(to)f(matc)m(h)g(more)f (than)g(one)g(c)m(haracter.)44 b(The)30 b(`)p Ft(^)p Fu(')i(op)s(erator)f(con)m(v)m(erts)h(lo)m(w)m(ercase)i(letters)630 -2545 y(matc)m(hing)i Fr(pattern)f Fu(to)h(upp)s(ercase;)h(the)e(`)p +5230 y(matc)m(hing)i Fr(pattern)f Fu(to)h(upp)s(ercase;)h(the)e(`)p Ft(,)p Fu(')g(op)s(erator)g(con)m(v)m(erts)i(matc)m(hing)f(upp)s -(ercase)630 2655 y(letters)e(to)f(lo)m(w)m(ercase.)50 +(ercase)630 5340 y(letters)e(to)f(lo)m(w)m(ercase.)50 b(The)32 b(`)p Ft(^^)p Fu(')h(and)f(`)p Ft(,,)p Fu(')g(expansions)h -(con)m(v)m(ert)h(eac)m(h)g(matc)m(hed)f(c)m(har-)630 -2765 y(acter)c(in)f(the)h(expanded)e(v)-5 b(alue;)30 -b(the)e(`)p Ft(^)p Fu(')g(and)g(`)p Ft(,)p Fu(')g(expansions)g(matc)m -(h)h(and)f(con)m(v)m(ert)i(only)630 2874 y(the)37 b(\014rst)g(c)m -(haracter)i(in)e(the)g(expanded)g(v)-5 b(alue.)61 b(If)37 -b Fr(pattern)g Fu(is)h(omitted,)i(it)e(is)f(treated)630 -2984 y(lik)m(e)h(a)f(`)p Ft(?)p Fu(',)i(whic)m(h)d(matc)m(hes)i(ev)m -(ery)f(c)m(haracter.)61 b(If)37 b Fr(parameter)43 b Fu(is)37 -b(`)p Ft(@)p Fu(')g(or)f(`)p Ft(*)p Fu(',)j(the)e(case)630 -3093 y(mo)s(di\014cation)29 b(op)s(eration)f(is)g(applied)g(to)h(eac)m -(h)h(p)s(ositional)f(parameter)f(in)g(turn,)g(and)g(the)630 -3203 y(expansion)38 b(is)g(the)g(resultan)m(t)h(list.)65 -b(If)37 b Fr(parameter)46 b Fu(is)38 b(an)g(arra)m(y)g(v)-5 -b(ariable)39 b(subscripted)630 3313 y(with)26 b(`)p Ft(@)p -Fu(')f(or)h(`)p Ft(*)p Fu(',)h(the)f(case)h(mo)s(di\014cation)f(op)s -(eration)h(is)e(applied)h(to)h(eac)m(h)g(mem)m(b)s(er)e(of)h(the)630 -3422 y(arra)m(y)31 b(in)f(turn,)f(and)h(the)h(expansion)f(is)g(the)h -(resultan)m(t)g(list.)150 3587 y Ft(${)p Fj(parameter)p -Ft(@)p Fj(operator)p Ft(})630 3696 y Fu(The)d(expansion)h(is)f(either)h -(a)g(transformation)g(of)g(the)g(v)-5 b(alue)29 b(of)g -Fr(parameter)35 b Fu(or)29 b(informa-)630 3806 y(tion)e(ab)s(out)f -Fr(parameter)33 b Fu(itself,)28 b(dep)s(ending)c(on)i(the)h(v)-5 -b(alue)26 b(of)h Fr(op)s(erator)p Fu(.)39 b(Eac)m(h)27 -b Fr(op)s(erator)630 3915 y Fu(is)j(a)h(single)g(letter:)630 -4080 y Ft(Q)432 b Fu(The)30 b(expansion)h(is)g(a)g(string)f(that)i(is)f -(the)g(v)-5 b(alue)31 b(of)g Fr(parameter)37 b Fu(quoted)31 -b(in)1110 4189 y(a)g(format)f(that)h(can)g(b)s(e)f(reused)f(as)i -(input.)630 4354 y Ft(E)432 b Fu(The)27 b(expansion)g(is)g(a)g(string)h -(that)f(is)h(the)f(v)-5 b(alue)28 b(of)f Fr(parameter)34 -b Fu(with)27 b(bac)m(k-)1110 4463 y(slash)e(escap)s(e)h(sequences)f -(expanded)g(as)g(with)g(the)h Ft($'...)o(')e Fu(quoting)i(mec)m(h-)1110 -4573 y(anism.)630 4737 y Ft(P)432 b Fu(The)22 b(expansion)h(is)g(a)g -(string)g(that)g(is)g(the)g(result)g(of)g(expanding)f(the)h(v)-5 -b(alue)24 b(of)1110 4847 y Fr(parameter)31 b Fu(as)24 -b(if)f(it)h(w)m(ere)g(a)g(prompt)f(string)h(\(see)g(Section)h(6.9)g -([Con)m(trolling)1110 4956 y(the)31 b(Prompt],)f(page)h(96\).)630 -5121 y Ft(A)432 b Fu(The)24 b(expansion)g(is)g(a)h(string)f(in)g(the)g -(form)g(of)h(an)f(assignmen)m(t)h(statemen)m(t)h(or)1110 -5230 y Ft(declare)h Fu(command)i(that,)h(if)f(ev)-5 b(aluated,)31 -b(will)e(recreate)i Fr(parameter)36 b Fu(with)1110 5340 -y(its)31 b(attributes)g(and)e(v)-5 b(alue.)p eop end +(con)m(v)m(ert)h(eac)m(h)g(matc)m(hed)f(c)m(har-)p eop +end %%Page: 30 36 TeXDict begin 30 35 bop 150 -116 a Fu(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(30)630 299 -y Ft(a)432 b Fu(The)30 b(expansion)g(is)g(a)h(string)f(consisting)h(of) -g(\015ag)g(v)-5 b(alues)30 b(represen)m(ting)h Fr(pa-)1110 -408 y(rameter)7 b Fu('s)31 b(attributes.)630 563 y(If)e +y(acter)29 b(in)f(the)h(expanded)e(v)-5 b(alue;)30 b(the)e(`)p +Ft(^)p Fu(')g(and)g(`)p Ft(,)p Fu(')g(expansions)g(matc)m(h)h(and)f +(con)m(v)m(ert)i(only)630 408 y(the)37 b(\014rst)g(c)m(haracter)i(in)e +(the)g(expanded)g(v)-5 b(alue.)61 b(If)37 b Fr(pattern)g +Fu(is)h(omitted,)i(it)e(is)f(treated)630 518 y(lik)m(e)h(a)f(`)p +Ft(?)p Fu(',)i(whic)m(h)d(matc)m(hes)i(ev)m(ery)f(c)m(haracter.)61 +b(If)37 b Fr(parameter)43 b Fu(is)37 b(`)p Ft(@)p Fu(')g(or)f(`)p +Ft(*)p Fu(',)j(the)e(case)630 628 y(mo)s(di\014cation)29 +b(op)s(eration)f(is)g(applied)g(to)h(eac)m(h)h(p)s(ositional)f +(parameter)f(in)g(turn,)g(and)g(the)630 737 y(expansion)38 +b(is)g(the)g(resultan)m(t)h(list.)65 b(If)37 b Fr(parameter)46 +b Fu(is)38 b(an)g(arra)m(y)g(v)-5 b(ariable)39 b(subscripted)630 +847 y(with)26 b(`)p Ft(@)p Fu(')f(or)h(`)p Ft(*)p Fu(',)h(the)f(case)h +(mo)s(di\014cation)f(op)s(eration)h(is)e(applied)h(to)h(eac)m(h)g(mem)m +(b)s(er)e(of)h(the)630 956 y(arra)m(y)31 b(in)f(turn,)f(and)h(the)h +(expansion)f(is)g(the)h(resultan)m(t)g(list.)150 1120 +y Ft(${)p Fj(parameter)p Ft(@)p Fj(operator)p Ft(})630 +1230 y Fu(The)d(expansion)h(is)f(either)h(a)g(transformation)g(of)g +(the)g(v)-5 b(alue)29 b(of)g Fr(parameter)35 b Fu(or)29 +b(informa-)630 1340 y(tion)e(ab)s(out)f Fr(parameter)33 +b Fu(itself,)28 b(dep)s(ending)c(on)i(the)h(v)-5 b(alue)26 +b(of)h Fr(op)s(erator)p Fu(.)39 b(Eac)m(h)27 b Fr(op)s(erator)630 +1449 y Fu(is)j(a)h(single)g(letter:)630 1613 y Ft(Q)432 +b Fu(The)30 b(expansion)h(is)g(a)g(string)f(that)i(is)f(the)g(v)-5 +b(alue)31 b(of)g Fr(parameter)37 b Fu(quoted)31 b(in)1110 +1723 y(a)g(format)f(that)h(can)g(b)s(e)f(reused)f(as)i(input.)630 +1887 y Ft(E)432 b Fu(The)27 b(expansion)g(is)g(a)g(string)h(that)f(is)h +(the)f(v)-5 b(alue)28 b(of)f Fr(parameter)34 b Fu(with)27 +b(bac)m(k-)1110 1996 y(slash)e(escap)s(e)h(sequences)f(expanded)g(as)g +(with)g(the)h Ft($'...)o(')e Fu(quoting)i(mec)m(h-)1110 +2106 y(anism.)630 2270 y Ft(P)432 b Fu(The)22 b(expansion)h(is)g(a)g +(string)g(that)g(is)g(the)g(result)g(of)g(expanding)f(the)h(v)-5 +b(alue)24 b(of)1110 2379 y Fr(parameter)31 b Fu(as)24 +b(if)f(it)h(w)m(ere)g(a)g(prompt)f(string)h(\(see)g(Section)h(6.9)g +([Con)m(trolling)1110 2489 y(the)31 b(Prompt],)f(page)h(96\).)630 +2653 y Ft(A)432 b Fu(The)24 b(expansion)g(is)g(a)h(string)f(in)g(the)g +(form)g(of)h(an)f(assignmen)m(t)h(statemen)m(t)h(or)1110 +2763 y Ft(declare)h Fu(command)i(that,)h(if)f(ev)-5 b(aluated,)31 +b(will)e(recreate)i Fr(parameter)36 b Fu(with)1110 2872 +y(its)31 b(attributes)g(and)e(v)-5 b(alue.)630 3036 y +Ft(a)432 b Fu(The)30 b(expansion)g(is)g(a)h(string)f(consisting)h(of)g +(\015ag)g(v)-5 b(alues)30 b(represen)m(ting)h Fr(pa-)1110 +3146 y(rameter)7 b Fu('s)31 b(attributes.)630 3310 y(If)e Fr(parameter)37 b Fu(is)30 b(`)p Ft(@)p Fu(')g(or)g(`)p Ft(*)p Fu(',)g(the)g(op)s(eration)g(is)g(applied)f(to)i(eac)m(h)g(p)s -(ositional)f(parameter)630 672 y(in)24 b(turn,)g(and)f(the)h(expansion) -g(is)g(the)g(resultan)m(t)h(list.)39 b(If)23 b Fr(parameter)31 -b Fu(is)24 b(an)g(arra)m(y)g(v)-5 b(ariable)630 782 y(subscripted)24 -b(with)h(`)p Ft(@)p Fu(')h(or)g(`)p Ft(*)p Fu(',)h(the)e(op)s(eration)h -(is)g(applied)f(to)h(eac)m(h)h(mem)m(b)s(er)e(of)h(the)f(arra)m(y)630 -892 y(in)30 b(turn,)g(and)f(the)i(expansion)f(is)h(the)f(resultan)m(t)h -(list.)630 1024 y(The)22 b(result)g(of)g(the)h(expansion)f(is)g(sub)5 +(ositional)f(parameter)630 3419 y(in)24 b(turn,)g(and)f(the)h +(expansion)g(is)g(the)g(resultan)m(t)h(list.)39 b(If)23 +b Fr(parameter)31 b Fu(is)24 b(an)g(arra)m(y)g(v)-5 b(ariable)630 +3529 y(subscripted)24 b(with)h(`)p Ft(@)p Fu(')h(or)g(`)p +Ft(*)p Fu(',)h(the)e(op)s(eration)h(is)g(applied)f(to)h(eac)m(h)h(mem)m +(b)s(er)e(of)h(the)f(arra)m(y)630 3639 y(in)30 b(turn,)g(and)f(the)i +(expansion)f(is)h(the)f(resultan)m(t)h(list.)630 3775 +y(The)22 b(result)g(of)g(the)h(expansion)f(is)g(sub)5 b(ject)22 b(to)h(w)m(ord)f(splitting)g(and)g(pathname)g(expansion)630 -1133 y(as)31 b(describ)s(ed)e(b)s(elo)m(w.)150 1328 y -Fk(3.5.4)63 b(Command)41 b(Substitution)150 1474 y Fu(Command)f +3885 y(as)31 b(describ)s(ed)e(b)s(elo)m(w.)150 4089 y +Fk(3.5.4)63 b(Command)41 b(Substitution)150 4236 y Fu(Command)f (substitution)h(allo)m(ws)i(the)e(output)g(of)h(a)f(command)g(to)h -(replace)g(the)g(command)f(itself.)150 1584 y(Command)29 +(replace)g(the)g(command)f(itself.)150 4345 y(Command)29 b(substitution)h(o)s(ccurs)h(when)e(a)i(command)f(is)g(enclosed)h(as)g -(follo)m(ws:)390 1716 y Ft($\()p Fj(command)p Ft(\))150 -1848 y Fu(or)390 1980 y Ft(`)p Fj(command)p Ft(`)150 -2112 y Fu(Bash)20 b(p)s(erforms)f(the)i(expansion)f(b)m(y)g(executing)i +(follo)m(ws:)390 4484 y Ft($\()p Fj(command)p Ft(\))150 +4623 y Fu(or)390 4763 y Ft(`)p Fj(command)p Ft(`)150 +4902 y Fu(Bash)20 b(p)s(erforms)f(the)i(expansion)f(b)m(y)g(executing)i Fr(command)h Fu(in)d(a)h(subshell)e(en)m(vironmen)m(t)i(and)f -(replacing)150 2222 y(the)40 b(command)g(substitution)f(with)h(the)g +(replacing)150 5011 y(the)40 b(command)g(substitution)f(with)h(the)g (standard)f(output)g(of)h(the)g(command,)i(with)e(an)m(y)g(trailing)150 -2331 y(newlines)e(deleted.)64 b(Em)m(b)s(edded)37 b(newlines)h(are)g +5121 y(newlines)e(deleted.)64 b(Em)m(b)s(edded)37 b(newlines)h(are)g (not)g(deleted,)j(but)d(they)g(ma)m(y)h(b)s(e)e(remo)m(v)m(ed)i(during) -150 2441 y(w)m(ord)30 b(splitting.)42 b(The)30 b(command)g +150 5230 y(w)m(ord)30 b(splitting.)42 b(The)30 b(command)g (substitution)h Ft($\(cat)e Fj(file)p Ft(\))g Fu(can)h(b)s(e)g -(replaced)h(b)m(y)g(the)f(equiv)-5 b(alen)m(t)150 2550 -y(but)30 b(faster)g Ft($\(<)g Fj(file)p Ft(\))p Fu(.)275 -2682 y(When)j(the)i(old-st)m(yle)h(bac)m(kquote)f(form)f(of)g +(replaced)h(b)m(y)g(the)f(equiv)-5 b(alen)m(t)150 5340 +y(but)30 b(faster)g Ft($\(<)g Fj(file)p Ft(\))p Fu(.)p +eop end +%%Page: 31 37 +TeXDict begin 31 36 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(31)275 299 +y(When)33 b(the)i(old-st)m(yle)h(bac)m(kquote)f(form)f(of)g (substitution)g(is)g(used,)h(bac)m(kslash)f(retains)h(its)f(literal)150 -2792 y(meaning)k(except)h(when)e(follo)m(w)m(ed)j(b)m(y)e(`)p +408 y(meaning)k(except)h(when)e(follo)m(w)m(ed)j(b)m(y)e(`)p Ft($)p Fu(',)j(`)p Ft(`)p Fu(',)f(or)e(`)p Ft(\\)p Fu('.)64 b(The)38 b(\014rst)f(bac)m(kquote)j(not)e(preceded)g(b)m(y)g(a)150 -2902 y(bac)m(kslash)k(terminates)f(the)h(command)e(substitution.)72 +518 y(bac)m(kslash)k(terminates)f(the)h(command)e(substitution.)72 b(When)41 b(using)f(the)i Ft($\()p Fj(command)p Ft(\))c -Fu(form,)43 b(all)150 3011 y(c)m(haracters)32 b(b)s(et)m(w)m(een)f(the) -f(paren)m(theses)h(mak)m(e)g(up)f(the)g(command;)h(none)f(are)h -(treated)g(sp)s(ecially)-8 b(.)275 3143 y(Command)22 -b(substitutions)g(ma)m(y)i(b)s(e)e(nested.)39 b(T)-8 -b(o)23 b(nest)g(when)f(using)h(the)g(bac)m(kquoted)h(form,)g(escap)s(e) -150 3253 y(the)31 b(inner)e(bac)m(kquotes)j(with)e(bac)m(kslashes.)275 -3385 y(If)e(the)i(substitution)e(app)s(ears)h(within)g(double)f -(quotes,)i(w)m(ord)f(splitting)h(and)f(\014lename)g(expansion)150 -3494 y(are)i(not)f(p)s(erformed)f(on)h(the)h(results.)150 -3689 y Fk(3.5.5)63 b(Arithmetic)40 b(Expansion)150 3836 -y Fu(Arithmetic)25 b(expansion)g(allo)m(ws)g(the)g(ev)-5 +Fu(form,)43 b(all)150 628 y(c)m(haracters)32 b(b)s(et)m(w)m(een)f(the)f +(paren)m(theses)h(mak)m(e)g(up)f(the)g(command;)h(none)f(are)h(treated) +g(sp)s(ecially)-8 b(.)275 762 y(Command)22 b(substitutions)g(ma)m(y)i +(b)s(e)e(nested.)39 b(T)-8 b(o)23 b(nest)g(when)f(using)h(the)g(bac)m +(kquoted)h(form,)g(escap)s(e)150 872 y(the)31 b(inner)e(bac)m(kquotes)j +(with)e(bac)m(kslashes.)275 1007 y(If)e(the)i(substitution)e(app)s +(ears)h(within)g(double)f(quotes,)i(w)m(ord)f(splitting)h(and)f +(\014lename)g(expansion)150 1116 y(are)i(not)f(p)s(erformed)f(on)h(the) +h(results.)150 1316 y Fk(3.5.5)63 b(Arithmetic)40 b(Expansion)150 +1463 y Fu(Arithmetic)25 b(expansion)g(allo)m(ws)g(the)g(ev)-5 b(aluation)26 b(of)f(an)f(arithmetic)i(expression)e(and)g(the)g -(substitution)150 3945 y(of)31 b(the)f(result.)41 b(The)30 -b(format)g(for)g(arithmetic)i(expansion)e(is:)390 4077 -y Ft($\(\()47 b Fj(expression)e Ft(\)\))275 4209 y Fu(The)33 +(substitution)150 1572 y(of)31 b(the)f(result.)41 b(The)30 +b(format)g(for)g(arithmetic)i(expansion)e(is:)390 1707 +y Ft($\(\()47 b Fj(expression)e Ft(\)\))275 1841 y Fu(The)33 b(expression)g(is)h(treated)g(as)g(if)g(it)g(w)m(ere)g(within)f(double) -h(quotes,)h(but)e(a)h(double)f(quote)h(inside)150 4319 +h(quotes,)h(but)e(a)h(double)f(quote)h(inside)150 1951 y(the)k(paren)m(theses)g(is)g(not)g(treated)h(sp)s(ecially)-8 b(.)65 b(All)38 b(tok)m(ens)h(in)f(the)g(expression)f(undergo)g -(parameter)150 4428 y(and)26 b(v)-5 b(ariable)28 b(expansion,)g +(parameter)150 2061 y(and)26 b(v)-5 b(ariable)28 b(expansion,)g (command)e(substitution,)i(and)e(quote)i(remo)m(v)-5 -b(al.)41 b(The)26 b(result)h(is)g(treated)h(as)150 4538 +b(al.)41 b(The)26 b(result)h(is)g(treated)h(as)150 2170 y(the)j(arithmetic)g(expression)f(to)h(b)s(e)f(ev)-5 b(aluated.)42 b(Arithmetic)31 b(expansions)g(ma)m(y)g(b)s(e)e(nested.) -275 4670 y(The)34 b(ev)-5 b(aluation)37 b(is)f(p)s(erformed)e +275 2305 y(The)34 b(ev)-5 b(aluation)37 b(is)f(p)s(erformed)e (according)i(to)g(the)g(rules)f(listed)h(b)s(elo)m(w)g(\(see)g(Section) -g(6.5)h([Shell)150 4780 y(Arithmetic],)32 b(page)f(91\).)42 +g(6.5)h([Shell)150 2415 y(Arithmetic],)32 b(page)f(91\).)42 b(If)30 b(the)h(expression)f(is)g(in)m(v)-5 b(alid,)32 b(Bash)e(prin)m(ts)g(a)h(message)g(indicating)h(failure)150 -4889 y(to)f(the)g(standard)e(error)h(and)g(no)g(substitution)g(o)s -(ccurs.)150 5083 y Fk(3.5.6)63 b(Pro)s(cess)42 b(Substitution)150 -5230 y Fu(Pro)s(cess)33 b(substitution)g(allo)m(ws)i(a)e(pro)s(cess's)g +2524 y(to)f(the)g(standard)e(error)h(and)g(no)g(substitution)g(o)s +(ccurs.)150 2724 y Fk(3.5.6)63 b(Pro)s(cess)42 b(Substitution)150 +2870 y Fu(Pro)s(cess)33 b(substitution)g(allo)m(ws)i(a)e(pro)s(cess's)g (input)f(or)h(output)g(to)h(b)s(e)f(referred)f(to)i(using)f(a)g -(\014lename.)150 5340 y(It)d(tak)m(es)i(the)f(form)f(of)p -eop end -%%Page: 31 37 -TeXDict begin 31 36 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(31)390 299 -y Ft(<\()p Fj(list)p Ft(\))150 447 y Fu(or)390 594 y -Ft(>\()p Fj(list)p Ft(\))150 742 y Fu(The)28 b(pro)s(cess)h +(\014lename.)150 2980 y(It)d(tak)m(es)i(the)f(form)f(of)390 +3115 y Ft(<\()p Fj(list)p Ft(\))150 3249 y Fu(or)390 +3384 y Ft(>\()p Fj(list)p Ft(\))150 3519 y Fu(The)e(pro)s(cess)h Fr(list)j Fu(is)d(run)e(async)m(hronously)-8 b(,)30 b(and)e(its)i (input)e(or)h(output)f(app)s(ears)h(as)g(a)g(\014lename.)41 -b(This)150 852 y(\014lename)25 b(is)g(passed)g(as)g(an)g(argumen)m(t)h +b(This)150 3628 y(\014lename)25 b(is)g(passed)g(as)g(an)g(argumen)m(t)h (to)g(the)f(curren)m(t)g(command)g(as)g(the)g(result)g(of)g(the)h -(expansion.)38 b(If)150 961 y(the)28 b Ft(>\()p Fj(list)p +(expansion.)38 b(If)150 3738 y(the)28 b Ft(>\()p Fj(list)p Ft(\))d Fu(form)i(is)g(used,)h(writing)f(to)h(the)g(\014le)f(will)h (pro)m(vide)g(input)e(for)h Fr(list)p Fu(.)41 b(If)26 -b(the)i Ft(<\()p Fj(list)p Ft(\))d Fu(form)150 1071 y(is)g(used,)g(the) +b(the)i Ft(<\()p Fj(list)p Ft(\))d Fu(form)150 3848 y(is)g(used,)g(the) f(\014le)h(passed)f(as)h(an)f(argumen)m(t)h(should)e(b)s(e)h(read)h(to) g(obtain)g(the)f(output)g(of)h Fr(list)p Fu(.)40 b(Note)25 -b(that)150 1181 y(no)33 b(space)g(ma)m(y)g(app)s(ear)f(b)s(et)m(w)m +b(that)150 3957 y(no)33 b(space)g(ma)m(y)g(app)s(ear)f(b)s(et)m(w)m (een)i(the)f Ft(<)f Fu(or)h Ft(>)f Fu(and)g(the)h(left)h(paren)m -(thesis,)f(otherwise)h(the)f(construct)150 1290 y(w)m(ould)j(b)s(e)g +(thesis,)f(otherwise)h(the)f(construct)150 4067 y(w)m(ould)j(b)s(e)g (in)m(terpreted)g(as)h(a)f(redirection.)59 b(Pro)s(cess)36 b(substitution)g(is)h(supp)s(orted)d(on)i(systems)g(that)150 -1400 y(supp)s(ort)29 b(named)h(pip)s(es)f(\()p Fm(fif)n(o)p +4176 y(supp)s(ort)29 b(named)h(pip)s(es)f(\()p Fm(fif)n(o)p Fu(s\))h(or)h(the)f Ft(/dev/fd)f Fu(metho)s(d)h(of)g(naming)g(op)s(en)g -(\014les.)275 1548 y(When)36 b(a)m(v)-5 b(ailable,)40 +(\014les.)275 4311 y(When)36 b(a)m(v)-5 b(ailable,)40 b(pro)s(cess)c(substitution)h(is)f(p)s(erformed)f(sim)m(ultaneously)i -(with)g(parameter)g(and)150 1657 y(v)-5 b(ariable)31 +(with)g(parameter)g(and)150 4421 y(v)-5 b(ariable)31 b(expansion,)g(command)f(substitution,)g(and)g(arithmetic)i(expansion.) -150 1870 y Fk(3.5.7)63 b(W)-10 b(ord)41 b(Splitting)150 -2017 y Fu(The)30 b(shell)h(scans)g(the)g(results)f(of)h(parameter)g +150 4620 y Fk(3.5.7)63 b(W)-10 b(ord)41 b(Splitting)150 +4767 y Fu(The)30 b(shell)h(scans)g(the)g(results)f(of)h(parameter)g (expansion,)g(command)g(substitution,)g(and)f(arithmetic)150 -2126 y(expansion)g(that)h(did)f(not)g(o)s(ccur)h(within)e(double)h -(quotes)h(for)f(w)m(ord)g(splitting.)275 2274 y(The)e(shell)g(treats)i +4877 y(expansion)g(that)h(did)f(not)g(o)s(ccur)h(within)e(double)h +(quotes)h(for)f(w)m(ord)g(splitting.)275 5011 y(The)e(shell)g(treats)i (eac)m(h)g(c)m(haracter)g(of)f Ft($IFS)e Fu(as)i(a)g(delimiter,)h(and)e -(splits)g(the)h(results)f(of)h(the)g(other)150 2384 y(expansions)22 +(splits)g(the)h(results)f(of)h(the)g(other)150 5121 y(expansions)22 b(in)m(to)i(w)m(ords)e(using)h(these)g(c)m(haracters)h(as)f(\014eld)f (terminators.)39 b(If)22 b Ft(IFS)g Fu(is)h(unset,)h(or)e(its)h(v)-5 -b(alue)150 2493 y(is)36 b(exactly)j Ft(<space><tab><newline>)p +b(alue)150 5230 y(is)36 b(exactly)j Ft(<space><tab><newline>)p Fu(,)32 b(the)37 b(default,)h(then)e(sequences)h(of)67 -b Ft(<space>)p Fu(,)36 b Ft(<tab>)p Fu(,)h(and)150 2603 +b Ft(<space>)p Fu(,)36 b Ft(<tab>)p Fu(,)h(and)150 5340 y Ft(<newline>)28 b Fu(at)k(the)f(b)s(eginning)f(and)h(end)f(of)h(the)g -(results)g(of)g(the)g(previous)g(expansions)f(are)i(ignored,)150 -2712 y(and)k(an)m(y)h(sequence)h(of)f Ft(IFS)f Fu(c)m(haracters)i(not)f +(results)g(of)g(the)g(previous)g(expansions)f(are)i(ignored,)p +eop end +%%Page: 32 38 +TeXDict begin 32 37 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(32)150 299 +y(and)36 b(an)m(y)h(sequence)h(of)f Ft(IFS)f Fu(c)m(haracters)i(not)f (at)h(the)f(b)s(eginning)f(or)h(end)f(serv)m(es)h(to)h(delimit)f(w)m -(ords.)150 2822 y(If)43 b Ft(IFS)f Fu(has)h(a)h(v)-5 -b(alue)43 b(other)h(than)f(the)g(default,)k(then)c(sequences)h(of)f -(the)h(whitespace)f(c)m(haracters)150 2932 y Ft(space)p -Fu(,)29 b Ft(tab)p Fu(,)h(and)g Ft(newline)e Fu(are)j(ignored)g(at)g -(the)f(b)s(eginning)g(and)g(end)g(of)g(the)h(w)m(ord,)f(as)h(long)g(as) -g(the)150 3041 y(whitespace)c(c)m(haracter)h(is)f(in)f(the)g(v)-5 +(ords.)150 408 y(If)43 b Ft(IFS)f Fu(has)h(a)h(v)-5 b(alue)43 +b(other)h(than)f(the)g(default,)k(then)c(sequences)h(of)f(the)h +(whitespace)f(c)m(haracters)150 518 y Ft(space)p Fu(,)29 +b Ft(tab)p Fu(,)h(and)g Ft(newline)e Fu(are)j(ignored)g(at)g(the)f(b)s +(eginning)g(and)g(end)g(of)g(the)h(w)m(ord,)f(as)h(long)g(as)g(the)150 +628 y(whitespace)c(c)m(haracter)h(is)f(in)f(the)g(v)-5 b(alue)27 b(of)g Ft(IFS)e Fu(\(an)i Ft(IFS)e Fu(whitespace)i(c)m -(haracter\).)42 b(An)m(y)26 b(c)m(haracter)i(in)150 3151 +(haracter\).)42 b(An)m(y)26 b(c)m(haracter)i(in)150 737 y Ft(IFS)c Fu(that)h(is)g(not)f Ft(IFS)g Fu(whitespace,)j(along)f(with) e(an)m(y)h(adjacen)m(t)h Ft(IFS)e Fu(whitespace)h(c)m(haracters,)i -(delimits)150 3260 y(a)k(\014eld.)40 b(A)31 b(sequence)g(of)f +(delimits)150 847 y(a)k(\014eld.)40 b(A)31 b(sequence)g(of)f Ft(IFS)g Fu(whitespace)h(c)m(haracters)h(is)e(also)h(treated)h(as)f(a)f -(delimiter.)42 b(If)30 b(the)g(v)-5 b(alue)150 3370 y(of)31 +(delimiter.)42 b(If)30 b(the)g(v)-5 b(alue)150 956 y(of)31 b Ft(IFS)e Fu(is)h(n)m(ull,)h(no)f(w)m(ord)g(splitting)h(o)s(ccurs.)275 -3518 y(Explicit)21 b(n)m(ull)g(argumen)m(ts)g(\()p Ft("")g +1114 y(Explicit)21 b(n)m(ull)g(argumen)m(ts)g(\()p Ft("")g Fu(or)g Ft('')p Fu(\))f(are)h(retained)h(and)e(passed)g(to)i(commands)e -(as)i(empt)m(y)f(strings.)150 3627 y(Unquoted)37 b(implicit)i(n)m(ull)f +(as)i(empt)m(y)f(strings.)150 1224 y(Unquoted)37 b(implicit)i(n)m(ull)f (argumen)m(ts,)i(resulting)d(from)g(the)h(expansion)g(of)g(parameters)f -(that)i(ha)m(v)m(e)150 3737 y(no)32 b(v)-5 b(alues,)33 +(that)i(ha)m(v)m(e)150 1333 y(no)32 b(v)-5 b(alues,)33 b(are)f(remo)m(v)m(ed.)47 b(If)32 b(a)g(parameter)h(with)e(no)h(v)-5 b(alue)33 b(is)f(expanded)f(within)h(double)f(quotes,)j(a)150 -3846 y(n)m(ull)c(argumen)m(t)g(results)g(and)f(is)h(retained)g(and)f +1443 y(n)m(ull)c(argumen)m(t)g(results)g(and)f(is)h(retained)g(and)f (passed)g(to)i(a)f(command)g(as)g(an)f(empt)m(y)i(string.)40 -b(When)150 3956 y(a)f(quoted)f(n)m(ull)g(argumen)m(t)h(app)s(ears)e(as) +b(When)150 1552 y(a)f(quoted)f(n)m(ull)g(argumen)m(t)h(app)s(ears)e(as) i(part)f(of)g(a)g(w)m(ord)g(whose)g(expansion)g(is)h(non-n)m(ull,)h -(the)e(n)m(ull)150 4066 y(argumen)m(t)i(is)f(remo)m(v)m(ed.)69 +(the)e(n)m(ull)150 1662 y(argumen)m(t)i(is)f(remo)m(v)m(ed.)69 b(That)39 b(is,)j(the)e(w)m(ord)f Ft(-d'')f Fu(b)s(ecomes)i Ft(-d)e Fu(after)i(w)m(ord)f(splitting)h(and)f(n)m(ull)150 -4175 y(argumen)m(t)31 b(remo)m(v)-5 b(al.)275 4323 y(Note)31 +1772 y(argumen)m(t)31 b(remo)m(v)-5 b(al.)275 1929 y(Note)31 b(that)g(if)g(no)f(expansion)g(o)s(ccurs,)g(no)h(splitting)g(is)f(p)s -(erformed.)150 4535 y Fk(3.5.8)63 b(Filename)41 b(Expansion)150 -4682 y Fu(After)30 b(w)m(ord)f(splitting,)i(unless)d(the)i +(erformed.)150 2152 y Fk(3.5.8)63 b(Filename)41 b(Expansion)150 +2299 y Fu(After)30 b(w)m(ord)f(splitting,)i(unless)d(the)i Ft(-f)f Fu(option)h(has)f(b)s(een)g(set)h(\(see)g(Section)h(4.3.1)g -([The)e(Set)h(Builtin],)150 4792 y(page)d(61\),)i(Bash)d(scans)h(eac)m +([The)e(Set)h(Builtin],)150 2408 y(page)d(61\),)i(Bash)d(scans)h(eac)m (h)h(w)m(ord)e(for)g(the)h(c)m(haracters)g(`)p Ft(*)p Fu(',)h(`)p Ft(?)p Fu(',)g(and)e(`)p Ft([)p Fu('.)39 -b(If)26 b(one)h(of)g(these)f(c)m(haracters)150 4902 y(app)s(ears,)h +b(If)26 b(one)h(of)g(these)f(c)m(haracters)150 2518 y(app)s(ears,)h (then)f(the)h(w)m(ord)f(is)h(regarded)g(as)g(a)g Fr(pattern)p Fu(,)g(and)g(replaced)g(with)f(an)h(alphab)s(etically)h(sorted)150 -5011 y(list)k(of)f(\014lenames)g(matc)m(hing)h(the)f(pattern)g(\(see)h -(Section)f(3.5.8.1)j([P)m(attern)e(Matc)m(hing],)h(page)f(32\).)43 -b(If)150 5121 y(no)26 b(matc)m(hing)i(\014lenames)e(are)h(found,)f(and) +2627 y(list)k(of)f(\014lenames)g(matc)m(hing)h(the)f(pattern)g(\(see)h +(Section)f(3.5.8.1)j([P)m(attern)e(Matc)m(hing],)h(page)f(33\).)43 +b(If)150 2737 y(no)26 b(matc)m(hing)i(\014lenames)e(are)h(found,)f(and) g(the)h(shell)f(option)h Ft(nullglob)d Fu(is)j(disabled,)g(the)g(w)m -(ord)f(is)g(left)150 5230 y(unc)m(hanged.)40 b(If)30 +(ord)f(is)g(left)150 2846 y(unc)m(hanged.)40 b(If)30 b(the)g Ft(nullglob)e Fu(option)i(is)h(set,)f(and)g(no)g(matc)m(hes)h (are)g(found,)e(the)h(w)m(ord)g(is)g(remo)m(v)m(ed.)150 -5340 y(If)i(the)g Ft(failglob)e Fu(shell)i(option)h(is)f(set,)h(and)f +2956 y(If)i(the)g Ft(failglob)e Fu(shell)i(option)h(is)f(set,)h(and)f (no)g(matc)m(hes)h(are)g(found,)e(an)h(error)g(message)h(is)f(prin)m -(ted)p eop end -%%Page: 32 38 -TeXDict begin 32 37 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(32)150 299 -y(and)30 b(the)g(command)g(is)h(not)f(executed.)42 b(If)30 -b(the)g(shell)h(option)g Ft(nocaseglob)c Fu(is)k(enabled,)f(the)h(matc) -m(h)g(is)150 408 y(p)s(erformed)e(without)h(regard)h(to)g(the)f(case)i -(of)e(alphab)s(etic)h(c)m(haracters.)275 544 y(When)23 -b(a)h(pattern)f(is)h(used)f(for)g(\014lename)h(expansion,)h(the)e(c)m -(haracter)i(`)p Ft(.)p Fu(')f(at)g(the)g(start)g(of)g(a)g(\014lename) -150 654 y(or)f(immediately)i(follo)m(wing)g(a)f(slash)f(m)m(ust)h(b)s -(e)f(matc)m(hed)h(explicitly)-8 b(,)27 b(unless)c(the)g(shell)h(option) -g Ft(dotglob)150 763 y Fu(is)k(set.)41 b(The)28 b(\014lenames)g(`)p -Ft(.)p Fu(')g(and)g(`)p Ft(..)p Fu(')g(m)m(ust)g(alw)m(a)m(ys)i(b)s(e)e -(matc)m(hed)h(explicitly)-8 b(,)30 b(ev)m(en)f(if)g Ft(dotglob)d -Fu(is)i(set.)150 873 y(In)i(other)g(cases,)i(the)e(`)p +(ted)150 3066 y(and)e(the)g(command)g(is)h(not)f(executed.)42 +b(If)30 b(the)g(shell)h(option)g Ft(nocaseglob)c Fu(is)k(enabled,)f +(the)h(matc)m(h)g(is)150 3175 y(p)s(erformed)e(without)h(regard)h(to)g +(the)f(case)i(of)e(alphab)s(etic)h(c)m(haracters.)275 +3333 y(When)23 b(a)h(pattern)f(is)h(used)f(for)g(\014lename)h +(expansion,)h(the)e(c)m(haracter)i(`)p Ft(.)p Fu(')f(at)g(the)g(start)g +(of)g(a)g(\014lename)150 3442 y(or)f(immediately)i(follo)m(wing)g(a)f +(slash)f(m)m(ust)h(b)s(e)f(matc)m(hed)h(explicitly)-8 +b(,)27 b(unless)c(the)g(shell)h(option)g Ft(dotglob)150 +3552 y Fu(is)k(set.)41 b(The)28 b(\014lenames)g(`)p Ft(.)p +Fu(')g(and)g(`)p Ft(..)p Fu(')g(m)m(ust)g(alw)m(a)m(ys)i(b)s(e)e(matc)m +(hed)h(explicitly)-8 b(,)30 b(ev)m(en)f(if)g Ft(dotglob)d +Fu(is)i(set.)150 3662 y(In)i(other)g(cases,)i(the)e(`)p Ft(.)p Fu(')h(c)m(haracter)h(is)e(not)h(treated)g(sp)s(ecially)-8 -b(.)275 1009 y(When)30 b(matc)m(hing)i(a)f(\014lename,)h(the)f(slash)f +b(.)275 3819 y(When)30 b(matc)m(hing)i(a)f(\014lename,)h(the)f(slash)f (c)m(haracter)j(m)m(ust)d(alw)m(a)m(ys)j(b)s(e)d(matc)m(hed)h -(explicitly)i(b)m(y)e(a)150 1118 y(slash)d(in)f(the)h(pattern,)h(but)e +(explicitly)i(b)m(y)e(a)150 3929 y(slash)d(in)f(the)h(pattern,)h(but)e (in)h(other)g(matc)m(hing)h(con)m(texts)h(it)e(can)g(b)s(e)g(matc)m -(hed)g(b)m(y)g(a)g(sp)s(ecial)h(pattern)150 1228 y(c)m(haracter)j(as)f +(hed)g(b)m(y)g(a)g(sp)s(ecial)h(pattern)150 4038 y(c)m(haracter)j(as)f (describ)s(ed)e(b)s(elo)m(w)h(\(see)i(Section)f(3.5.8.1)i([P)m(attern)e -(Matc)m(hing],)i(page)e(32\).)275 1364 y(See)d(the)g(description)g(of)g +(Matc)m(hing],)i(page)e(33\).)275 4196 y(See)d(the)g(description)g(of)g Ft(shopt)e Fu(in)i(Section)g(4.3.2)i([The)e(Shopt)f(Builtin],)i(page)g -(65,)g(for)f(a)g(descrip-)150 1473 y(tion)j(of)f(the)h +(65,)g(for)f(a)g(descrip-)150 4306 y(tion)j(of)f(the)h Ft(nocaseglob)p Fu(,)d Ft(nullglob)p Fu(,)g Ft(failglob)p -Fu(,)h(and)g Ft(dotglob)g Fu(options.)275 1609 y(The)36 +Fu(,)h(and)g Ft(dotglob)g Fu(options.)275 4463 y(The)36 b Ft(GLOBIGNORE)d Fu(shell)k(v)-5 b(ariable)37 b(ma)m(y)g(b)s(e)f(used) g(to)h(restrict)g(the)g(set)g(of)g(\014le)f(names)h(matc)m(hing)150 -1719 y(a)42 b(pattern.)74 b(If)41 b Ft(GLOBIGNORE)e Fu(is)i(set,)k(eac) +4573 y(a)42 b(pattern.)74 b(If)41 b Ft(GLOBIGNORE)e Fu(is)i(set,)k(eac) m(h)e(matc)m(hing)f(\014le)g(name)f(that)h(also)h(matc)m(hes)f(one)g -(of)g(the)150 1828 y(patterns)34 b(in)g Ft(GLOBIGNORE)d +(of)g(the)150 4682 y(patterns)34 b(in)g Ft(GLOBIGNORE)d Fu(is)k(remo)m(v)m(ed)g(from)f(the)g(list)h(of)f(matc)m(hes.)54 -b(If)33 b(the)i Ft(nocaseglob)c Fu(option)k(is)150 1938 +b(If)33 b(the)i Ft(nocaseglob)c Fu(option)k(is)150 4792 y(set,)c(the)e(matc)m(hing)i(against)g(the)f(patterns)f(in)h Ft(GLOBIGNORE)c Fu(is)k(p)s(erformed)e(without)i(regard)f(to)i(case.) -150 2047 y(The)d(\014lenames)h Ft(.)g Fu(and)f Ft(..)h +150 4902 y(The)d(\014lenames)h Ft(.)g Fu(and)f Ft(..)h Fu(are)g(alw)m(a)m(ys)h(ignored)f(when)f Ft(GLOBIGNORE)f Fu(is)i(set)g(and)f(not)h(n)m(ull.)41 b(Ho)m(w)m(ev)m(er,)150 -2157 y(setting)30 b Ft(GLOBIGNORE)d Fu(to)j(a)f(non-n)m(ull)g(v)-5 +5011 y(setting)30 b Ft(GLOBIGNORE)d Fu(to)j(a)f(non-n)m(ull)g(v)-5 b(alue)30 b(has)f(the)g(e\013ect)i(of)f(enabling)f(the)h -Ft(dotglob)d Fu(shell)i(option,)150 2267 y(so)j(all)h(other)f +Ft(dotglob)d Fu(shell)i(option,)150 5121 y(so)j(all)h(other)f (\014lenames)g(b)s(eginning)f(with)h(a)g(`)p Ft(.)p Fu(')g(will)h(matc) m(h.)46 b(T)-8 b(o)32 b(get)h(the)f(old)g(b)s(eha)m(vior)g(of)h -(ignoring)150 2376 y(\014lenames)c(b)s(eginning)f(with)h(a)h(`)p +(ignoring)150 5230 y(\014lenames)c(b)s(eginning)f(with)h(a)h(`)p Ft(.)p Fu(',)f(mak)m(e)h(`)p Ft(.*)p Fu(')f(one)h(of)f(the)g(patterns)g (in)g Ft(GLOBIGNORE)p Fu(.)37 b(The)29 b Ft(dotglob)150 -2486 y Fu(option)i(is)f(disabled)g(when)g Ft(GLOBIGNORE)d -Fu(is)k(unset.)150 2686 y Fk(3.5.8.1)63 b(P)m(attern)40 -b(Matc)m(hing)150 2833 y Fu(An)m(y)24 b(c)m(haracter)h(that)f(app)s -(ears)f(in)g(a)h(pattern,)i(other)e(than)f(the)h(sp)s(ecial)g(pattern)g -(c)m(haracters)h(describ)s(ed)150 2943 y(b)s(elo)m(w,)31 -b(matc)m(hes)g(itself.)42 b(The)29 b Fm(nul)h Fu(c)m(haracter)i(ma)m(y) -e(not)h(o)s(ccur)f(in)g(a)h(pattern.)40 b(A)31 b(bac)m(kslash)g(escap)s -(es)150 3052 y(the)38 b(follo)m(wing)g(c)m(haracter;)43 -b(the)37 b(escaping)i(bac)m(kslash)e(is)h(discarded)f(when)f(matc)m -(hing.)63 b(The)36 b(sp)s(ecial)150 3162 y(pattern)30 -b(c)m(haracters)i(m)m(ust)f(b)s(e)e(quoted)i(if)f(they)h(are)f(to)i(b)s -(e)d(matc)m(hed)i(literally)-8 b(.)275 3298 y(The)29 -b(sp)s(ecial)i(pattern)g(c)m(haracters)h(ha)m(v)m(e)f(the)g(follo)m -(wing)h(meanings:)150 3459 y Ft(*)432 b Fu(Matc)m(hes)31 -b(an)m(y)e(string,)h(including)f(the)g(n)m(ull)g(string.)41 -b(When)29 b(the)g Ft(globstar)e Fu(shell)i(option)630 -3568 y(is)37 b(enabled,)h(and)e(`)p Ft(*)p Fu(')h(is)g(used)f(in)g(a)h -(\014lename)g(expansion)g(con)m(text,)j(t)m(w)m(o)e(adjacen)m(t)g(`)p -Ft(*)p Fu('s)630 3678 y(used)f(as)g(a)h(single)g(pattern)g(will)f(matc) -m(h)i(all)f(\014les)f(and)g(zero)h(or)g(more)f(directories)i(and)630 -3788 y(sub)s(directories.)g(If)25 b(follo)m(w)m(ed)j(b)m(y)e(a)g(`)p +5340 y Fu(option)i(is)f(disabled)g(when)g Ft(GLOBIGNORE)d +Fu(is)k(unset.)p eop end +%%Page: 33 39 +TeXDict begin 33 38 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(33)150 299 +y Fk(3.5.8.1)63 b(P)m(attern)40 b(Matc)m(hing)150 446 +y Fu(An)m(y)24 b(c)m(haracter)h(that)f(app)s(ears)f(in)g(a)h(pattern,)i +(other)e(than)f(the)h(sp)s(ecial)g(pattern)g(c)m(haracters)h(describ)s +(ed)150 555 y(b)s(elo)m(w,)31 b(matc)m(hes)g(itself.)42 +b(The)29 b Fm(nul)h Fu(c)m(haracter)i(ma)m(y)e(not)h(o)s(ccur)f(in)g(a) +h(pattern.)40 b(A)31 b(bac)m(kslash)g(escap)s(es)150 +665 y(the)38 b(follo)m(wing)g(c)m(haracter;)43 b(the)37 +b(escaping)i(bac)m(kslash)e(is)h(discarded)f(when)f(matc)m(hing.)63 +b(The)36 b(sp)s(ecial)150 775 y(pattern)30 b(c)m(haracters)i(m)m(ust)f +(b)s(e)e(quoted)i(if)f(they)h(are)f(to)i(b)s(e)d(matc)m(hed)i +(literally)-8 b(.)275 901 y(The)29 b(sp)s(ecial)i(pattern)g(c)m +(haracters)h(ha)m(v)m(e)f(the)g(follo)m(wing)h(meanings:)150 +1045 y Ft(*)432 b Fu(Matc)m(hes)31 b(an)m(y)e(string,)h(including)f +(the)g(n)m(ull)g(string.)41 b(When)29 b(the)g Ft(globstar)e +Fu(shell)i(option)630 1155 y(is)37 b(enabled,)h(and)e(`)p +Ft(*)p Fu(')h(is)g(used)f(in)g(a)h(\014lename)g(expansion)g(con)m +(text,)j(t)m(w)m(o)e(adjacen)m(t)g(`)p Ft(*)p Fu('s)630 +1264 y(used)f(as)g(a)h(single)g(pattern)g(will)f(matc)m(h)i(all)f +(\014les)f(and)g(zero)h(or)g(more)f(directories)i(and)630 +1374 y(sub)s(directories.)g(If)25 b(follo)m(w)m(ed)j(b)m(y)e(a)g(`)p Ft(/)p Fu(',)h(t)m(w)m(o)g(adjacen)m(t)h(`)p Ft(*)p Fu('s)e(will)g -(matc)m(h)h(only)f(directories)630 3897 y(and)k(sub)s(directories.)150 -4058 y Ft(?)432 b Fu(Matc)m(hes)32 b(an)m(y)f(single)g(c)m(haracter.) -150 4219 y Ft([...)o(])241 b Fu(Matc)m(hes)27 b(an)m(y)e(one)g(of)g +(matc)m(h)h(only)f(directories)630 1484 y(and)k(sub)s(directories.)150 +1627 y Ft(?)432 b Fu(Matc)m(hes)32 b(an)m(y)f(single)g(c)m(haracter.) +150 1771 y Ft([...)o(])241 b Fu(Matc)m(hes)27 b(an)m(y)e(one)g(of)g (the)g(enclosed)g(c)m(haracters.)41 b(A)25 b(pair)f(of)h(c)m(haracters) -i(separated)e(b)m(y)g(a)630 4328 y(h)m(yphen)k(denotes)i(a)g +i(separated)e(b)m(y)g(a)630 1881 y(h)m(yphen)k(denotes)i(a)g Fr(range)g(expression)p Fu(;)f(an)m(y)h(c)m(haracter)h(that)f(falls)g -(b)s(et)m(w)m(een)g(those)g(t)m(w)m(o)630 4438 y(c)m(haracters,)d +(b)s(et)m(w)m(een)g(those)g(t)m(w)m(o)630 1990 y(c)m(haracters,)d (inclusiv)m(e,)f(using)d(the)h(curren)m(t)f(lo)s(cale's)j(collating)g -(sequence)e(and)f(c)m(haracter)630 4547 y(set,)31 b(is)f(matc)m(hed.)42 +(sequence)e(and)f(c)m(haracter)630 2100 y(set,)31 b(is)f(matc)m(hed.)42 b(If)30 b(the)g(\014rst)g(c)m(haracter)i(follo)m(wing)g(the)e(`)p Ft([)p Fu(')h(is)f(a)h(`)p Ft(!)p Fu(')f(or)g(a)h(`)p -Ft(^)p Fu(')g(then)f(an)m(y)630 4657 y(c)m(haracter)c(not)f(enclosed)g +Ft(^)p Fu(')g(then)f(an)m(y)630 2210 y(c)m(haracter)c(not)f(enclosed)g (is)g(matc)m(hed.)40 b(A)25 b(`)p Fq(\000)p Fu(')f(ma)m(y)i(b)s(e)e -(matc)m(hed)h(b)m(y)f(including)h(it)g(as)g(the)630 4767 +(matc)m(hed)h(b)m(y)f(including)h(it)g(as)g(the)630 2319 y(\014rst)32 b(or)h(last)h(c)m(haracter)h(in)e(the)g(set.)50 b(A)33 b(`)p Ft(])p Fu(')g(ma)m(y)h(b)s(e)e(matc)m(hed)i(b)m(y)f -(including)g(it)g(as)h(the)630 4876 y(\014rst)25 b(c)m(haracter)i(in)e +(including)g(it)g(as)h(the)630 2429 y(\014rst)25 b(c)m(haracter)i(in)e (the)h(set.)40 b(The)25 b(sorting)h(order)f(of)h(c)m(haracters)h(in)f -(range)g(expressions)f(is)630 4986 y(determined)h(b)m(y)h(the)g(curren) +(range)g(expressions)f(is)630 2538 y(determined)h(b)m(y)h(the)g(curren) m(t)f(lo)s(cale)j(and)d(the)h(v)-5 b(alues)27 b(of)g(the)g -Ft(LC_COLLATE)d Fu(and)i Ft(LC_ALL)630 5095 y Fu(shell)31 -b(v)-5 b(ariables,)31 b(if)f(set.)630 5230 y(F)-8 b(or)34 +Ft(LC_COLLATE)d Fu(and)i Ft(LC_ALL)630 2648 y Fu(shell)31 +b(v)-5 b(ariables,)31 b(if)f(set.)630 2775 y(F)-8 b(or)34 b(example,)g(in)f(the)g(default)g(C)f(lo)s(cale,)k(`)p Ft([a-dx-z])p Fu(')31 b(is)i(equiv)-5 b(alen)m(t)34 b(to)g(`)p -Ft([abcdxyz])p Fu('.)630 5340 y(Man)m(y)68 b(lo)s(cales)h(sort)f(c)m +Ft([abcdxyz])p Fu('.)630 2884 y(Man)m(y)68 b(lo)s(cales)h(sort)f(c)m (haracters)h(in)e(dictionary)i(order,)76 b(and)67 b(in)g(these)h(lo)s -(cales)p eop end -%%Page: 33 39 -TeXDict begin 33 38 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(33)630 299 -y(`)p Ft([a-dx-z])p Fu(')36 b(is)i(t)m(ypically)i(not)e(equiv)-5 -b(alen)m(t)39 b(to)g(`)p Ft([abcdxyz])p Fu(';)g(it)g(migh)m(t)f(b)s(e)f -(equiv)-5 b(alen)m(t)630 408 y(to)34 b(`)p Ft([aBbCcDdxXyYz])p -Fu(',)c(for)j(example.)49 b(T)-8 b(o)33 b(obtain)h(the)f(traditional)h -(in)m(terpretation)h(of)630 518 y(ranges)e(in)f(brac)m(k)m(et)i -(expressions,)g(y)m(ou)f(can)g(force)g(the)g(use)f(of)h(the)g(C)f(lo)s -(cale)i(b)m(y)f(setting)630 628 y(the)c Ft(LC_COLLATE)e -Fu(or)i Ft(LC_ALL)f Fu(en)m(vironmen)m(t)i(v)-5 b(ariable)30 -b(to)g(the)f(v)-5 b(alue)30 b(`)p Ft(C)p Fu(',)g(or)f(enable)h(the)630 -737 y Ft(globasciiranges)c Fu(shell)31 b(option.)630 -871 y(Within)23 b(`)p Ft([)p Fu(')h(and)e(`)p Ft(])p -Fu(',)j Fr(c)m(haracter)g(classes)j Fu(can)c(b)s(e)e(sp)s(eci\014ed)h -(using)f(the)i(syn)m(tax)f Ft([:)p Fr(class)t Ft(:])p -Fu(,)630 981 y(where)30 b Fr(class)35 b Fu(is)30 b(one)h(of)f(the)h -(follo)m(wing)h(classes)f(de\014ned)e(in)h(the)h Fm(posix)f -Fu(standard:)870 1115 y Ft(alnum)142 b(alpha)g(ascii)f(blank)h(cntrl)g -(digit)g(graph)g(lower)870 1224 y(print)g(punct)g(space)f(upper)h(word) -190 b(xdigit)630 1358 y Fu(A)42 b(c)m(haracter)h(class)f(matc)m(hes)h -(an)m(y)f(c)m(haracter)h(b)s(elonging)f(to)g(that)g(class.)75 -b(The)41 b Ft(word)630 1468 y Fu(c)m(haracter)32 b(class)f(matc)m(hes)h +(cales)630 2994 y(`)p Ft([a-dx-z])p Fu(')36 b(is)i(t)m(ypically)i(not)e +(equiv)-5 b(alen)m(t)39 b(to)g(`)p Ft([abcdxyz])p Fu(';)g(it)g(migh)m +(t)f(b)s(e)f(equiv)-5 b(alen)m(t)630 3104 y(to)34 b(`)p +Ft([aBbCcDdxXyYz])p Fu(',)c(for)j(example.)49 b(T)-8 +b(o)33 b(obtain)h(the)f(traditional)h(in)m(terpretation)h(of)630 +3213 y(ranges)e(in)f(brac)m(k)m(et)i(expressions,)g(y)m(ou)f(can)g +(force)g(the)g(use)f(of)h(the)g(C)f(lo)s(cale)i(b)m(y)f(setting)630 +3323 y(the)c Ft(LC_COLLATE)e Fu(or)i Ft(LC_ALL)f Fu(en)m(vironmen)m(t)i +(v)-5 b(ariable)30 b(to)g(the)f(v)-5 b(alue)30 b(`)p +Ft(C)p Fu(',)g(or)f(enable)h(the)630 3432 y Ft(globasciiranges)c +Fu(shell)31 b(option.)630 3559 y(Within)23 b(`)p Ft([)p +Fu(')h(and)e(`)p Ft(])p Fu(',)j Fr(c)m(haracter)g(classes)j +Fu(can)c(b)s(e)e(sp)s(eci\014ed)h(using)f(the)i(syn)m(tax)f +Ft([:)p Fr(class)t Ft(:])p Fu(,)630 3669 y(where)30 b +Fr(class)35 b Fu(is)30 b(one)h(of)f(the)h(follo)m(wing)h(classes)f +(de\014ned)e(in)h(the)h Fm(posix)f Fu(standard:)870 3795 +y Ft(alnum)142 b(alpha)g(ascii)f(blank)h(cntrl)g(digit)g(graph)g(lower) +870 3905 y(print)g(punct)g(space)f(upper)h(word)190 b(xdigit)630 +4032 y Fu(A)42 b(c)m(haracter)h(class)f(matc)m(hes)h(an)m(y)f(c)m +(haracter)h(b)s(elonging)f(to)g(that)g(class.)75 b(The)41 +b Ft(word)630 4141 y Fu(c)m(haracter)32 b(class)f(matc)m(hes)h (letters,)f(digits,)h(and)d(the)i(c)m(haracter)h(`)p -Ft(_)p Fu('.)630 1602 y(Within)25 b(`)p Ft([)p Fu(')f(and)g(`)p +Ft(_)p Fu('.)630 4268 y(Within)25 b(`)p Ft([)p Fu(')f(and)g(`)p Ft(])p Fu(',)i(an)e Fr(equiv)-5 b(alence)26 b(class)j Fu(can)24 b(b)s(e)g(sp)s(eci\014ed)g(using)g(the)g(syn)m(tax)h -Ft([=)p Fr(c)6 b Ft(=])p Fu(,)630 1711 y(whic)m(h)29 +Ft([=)p Fr(c)6 b Ft(=])p Fu(,)630 4378 y(whic)m(h)29 b(matc)m(hes)i(all)f(c)m(haracters)h(with)e(the)h(same)g(collation)h(w) -m(eigh)m(t)g(\(as)f(de\014ned)e(b)m(y)i(the)630 1821 +m(eigh)m(t)g(\(as)f(de\014ned)e(b)m(y)i(the)630 4487 y(curren)m(t)g(lo)s(cale\))j(as)d(the)h(c)m(haracter)h -Fr(c)p Fu(.)630 1955 y(Within)22 b(`)p Ft([)p Fu(')f(and)g(`)p +Fr(c)p Fu(.)630 4614 y(Within)22 b(`)p Ft([)p Fu(')f(and)g(`)p Ft(])p Fu(',)j(the)d(syn)m(tax)h Ft([.)p Fr(sym)m(b)s(ol)t Ft(.])e Fu(matc)m(hes)i(the)g(collating)i(sym)m(b)s(ol)d -Fr(sym)m(b)s(ol)p Fu(.)275 2113 y(If)29 b(the)g Ft(extglob)f +Fr(sym)m(b)s(ol)p Fu(.)275 4758 y(If)29 b(the)g Ft(extglob)f Fu(shell)h(option)h(is)g(enabled)f(using)g(the)h Ft(shopt)e -Fu(builtin,)h(sev)m(eral)i(extended)f(pattern)150 2222 +Fu(builtin,)h(sev)m(eral)i(extended)f(pattern)150 4867 y(matc)m(hing)37 b(op)s(erators)e(are)h(recognized.)58 b(In)35 b(the)g(follo)m(wing)i(description,)g(a)f Fr(pattern-list)j -Fu(is)d(a)g(list)g(of)150 2332 y(one)d(or)f(more)h(patterns)f +Fu(is)d(a)g(list)g(of)150 4977 y(one)d(or)f(more)h(patterns)f (separated)h(b)m(y)f(a)h(`)p Ft(|)p Fu('.)47 b(Comp)s(osite)33 b(patterns)f(ma)m(y)i(b)s(e)d(formed)h(using)g(one)h(or)150 -2442 y(more)e(of)f(the)h(follo)m(wing)g(sub-patterns:)150 -2600 y Ft(?\()p Fj(pattern-list)p Ft(\))630 2709 y Fu(Matc)m(hes)h -(zero)f(or)g(one)f(o)s(ccurrence)h(of)f(the)h(giv)m(en)g(patterns.)150 -2867 y Ft(*\()p Fj(pattern-list)p Ft(\))630 2977 y Fu(Matc)m(hes)h -(zero)f(or)g(more)f(o)s(ccurrences)h(of)f(the)h(giv)m(en)g(patterns.) -150 3135 y Ft(+\()p Fj(pattern-list)p Ft(\))630 3245 -y Fu(Matc)m(hes)h(one)f(or)f(more)h(o)s(ccurrences)f(of)h(the)f(giv)m -(en)i(patterns.)150 3403 y Ft(@\()p Fj(pattern-list)p -Ft(\))630 3513 y Fu(Matc)m(hes)g(one)f(of)f(the)h(giv)m(en)g(patterns.) -150 3671 y Ft(!\()p Fj(pattern-list)p Ft(\))630 3780 -y Fu(Matc)m(hes)h(an)m(ything)f(except)g(one)g(of)f(the)h(giv)m(en)g -(patterns.)275 3939 y(Complicated)41 b(extended)f(pattern)g(matc)m -(hing)h(against)h(long)f(strings)f(is)g(slo)m(w,)k(esp)s(ecially)d -(when)150 4048 y(the)29 b(patterns)g(con)m(tain)i(alternations)f(and)f -(the)g(strings)g(con)m(tain)h(m)m(ultiple)g(matc)m(hes.)42 -b(Using)29 b(separate)150 4158 y(matc)m(hes)38 b(against)g(shorter)e +5087 y(more)e(of)f(the)h(follo)m(wing)g(sub-patterns:)150 +5230 y Ft(?\()p Fj(pattern-list)p Ft(\))630 5340 y Fu(Matc)m(hes)h +(zero)f(or)g(one)f(o)s(ccurrence)h(of)f(the)h(giv)m(en)g(patterns.)p +eop end +%%Page: 34 40 +TeXDict begin 34 39 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(34)150 299 +y Ft(*\()p Fj(pattern-list)p Ft(\))630 408 y Fu(Matc)m(hes)32 +b(zero)f(or)g(more)f(o)s(ccurrences)h(of)f(the)h(giv)m(en)g(patterns.) +150 554 y Ft(+\()p Fj(pattern-list)p Ft(\))630 663 y +Fu(Matc)m(hes)h(one)f(or)f(more)h(o)s(ccurrences)f(of)h(the)f(giv)m(en) +i(patterns.)150 809 y Ft(@\()p Fj(pattern-list)p Ft(\))630 +918 y Fu(Matc)m(hes)g(one)f(of)f(the)h(giv)m(en)g(patterns.)150 +1064 y Ft(!\()p Fj(pattern-list)p Ft(\))630 1173 y Fu(Matc)m(hes)h(an)m +(ything)f(except)g(one)g(of)f(the)h(giv)m(en)g(patterns.)275 +1319 y(Complicated)41 b(extended)f(pattern)g(matc)m(hing)h(against)h +(long)f(strings)f(is)g(slo)m(w,)k(esp)s(ecially)d(when)150 +1428 y(the)29 b(patterns)g(con)m(tain)i(alternations)f(and)f(the)g +(strings)g(con)m(tain)h(m)m(ultiple)g(matc)m(hes.)42 +b(Using)29 b(separate)150 1538 y(matc)m(hes)38 b(against)g(shorter)e (strings,)i(or)f(using)f(arra)m(ys)h(of)g(strings)f(instead)h(of)g(a)g -(single)g(long)h(string,)150 4267 y(ma)m(y)31 b(b)s(e)f(faster.)150 -4465 y Fk(3.5.9)63 b(Quote)41 b(Remo)m(v)-7 b(al)150 -4612 y Fu(After)32 b(the)g(preceding)g(expansions,)h(all)f(unquoted)f +(single)g(long)h(string,)150 1647 y(ma)m(y)31 b(b)s(e)f(faster.)150 +1833 y Fk(3.5.9)63 b(Quote)41 b(Remo)m(v)-7 b(al)150 +1979 y Fu(After)32 b(the)g(preceding)g(expansions,)h(all)f(unquoted)f (o)s(ccurrences)h(of)g(the)h(c)m(haracters)g(`)p Ft(\\)p Fu(',)g(`)p Ft(')p Fu(',)f(and)g(`)p Ft(")p Fu(')150 -4722 y(that)f(did)f(not)g(result)g(from)g(one)h(of)g(the)f(ab)s(o)m(v)m -(e)i(expansions)e(are)h(remo)m(v)m(ed.)150 4961 y Fs(3.6)68 -b(Redirections)150 5121 y Fu(Before)32 b(a)f(command)f(is)h(executed,)h +2089 y(that)f(did)f(not)g(result)g(from)g(one)h(of)g(the)f(ab)s(o)m(v)m +(e)i(expansions)e(are)h(remo)m(v)m(ed.)150 2316 y Fs(3.6)68 +b(Redirections)150 2475 y Fu(Before)32 b(a)f(command)f(is)h(executed,)h (its)f(input)e(and)h(output)h(ma)m(y)g(b)s(e)f Fr(redirected)k -Fu(using)c(a)i(sp)s(ecial)f(no-)150 5230 y(tation)d(in)m(terpreted)f(b) +Fu(using)c(a)i(sp)s(ecial)f(no-)150 2585 y(tation)d(in)m(terpreted)f(b) m(y)f(the)h(shell.)40 b(Redirection)27 b(allo)m(ws)h(commands')f -(\014le)f(handles)g(to)i(b)s(e)e(duplicated,)150 5340 +(\014le)f(handles)g(to)i(b)s(e)e(duplicated,)150 2694 y(op)s(ened,)i(closed,)i(made)e(to)h(refer)f(to)h(di\013eren)m(t)f (\014les,)h(and)f(can)g(c)m(hange)h(the)g(\014les)f(the)g(command)g -(reads)p eop end -%%Page: 34 40 -TeXDict begin 34 39 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(34)150 299 -y(from)39 b(and)g(writes)h(to.)69 b(Redirection)40 b(ma)m(y)g(also)h(b) -s(e)e(used)g(to)h(mo)s(dify)f(\014le)g(handles)g(in)g(the)h(curren)m(t) -150 408 y(shell)e(execution)h(en)m(vironmen)m(t.)65 b(The)37 -b(follo)m(wing)j(redirection)f(op)s(erators)f(ma)m(y)g(precede)h(or)f -(app)s(ear)150 518 y(an)m(ywhere)30 b(within)f(a)h(simple)f(command)h -(or)f(ma)m(y)i(follo)m(w)g(a)f(command.)40 b(Redirections)30 -b(are)g(pro)s(cessed)150 628 y(in)g(the)h(order)f(they)g(app)s(ear,)g -(from)g(left)h(to)g(righ)m(t.)275 758 y(Eac)m(h)45 b(redirection)h -(that)f(ma)m(y)h(b)s(e)e(preceded)g(b)m(y)h(a)h(\014le)f(descriptor)f -(n)m(um)m(b)s(er)g(ma)m(y)h(instead)h(b)s(e)150 868 y(preceded)41 -b(b)m(y)g(a)h(w)m(ord)f(of)g(the)h(form)f Fi({)p Fr(v)-5 -b(arname)5 b Fi(})p Fu(.)74 b(In)41 b(this)g(case,)k(for)c(eac)m(h)i -(redirection)f(op)s(erator)150 977 y(except)30 b Ft(>)p -Fu(&-)f(and)f Ft(<)p Fu(&-,)h(the)g(shell)g(will)h(allo)s(cate)h(a)e -(\014le)h(descriptor)e(greater)j(than)d(10)i(and)e(assign)i(it)f(to)150 -1087 y Fi({)p Fr(v)-5 b(arname)5 b Fi(})p Fu(.)45 b(If)31 -b Ft(>)p Fu(&-)g(or)h Ft(<)p Fu(&-)f(is)h(preceded)f(b)m(y)g -Fi({)p Fr(v)-5 b(arname)5 b Fi(})p Fu(,)33 b(the)f(v)-5 +(reads)150 2804 y(from)39 b(and)g(writes)h(to.)69 b(Redirection)40 +b(ma)m(y)g(also)h(b)s(e)e(used)g(to)h(mo)s(dify)f(\014le)g(handles)g +(in)g(the)h(curren)m(t)150 2914 y(shell)e(execution)h(en)m(vironmen)m +(t.)65 b(The)37 b(follo)m(wing)j(redirection)f(op)s(erators)f(ma)m(y)g +(precede)h(or)f(app)s(ear)150 3023 y(an)m(ywhere)30 b(within)f(a)h +(simple)f(command)h(or)f(ma)m(y)i(follo)m(w)g(a)f(command.)40 +b(Redirections)30 b(are)g(pro)s(cessed)150 3133 y(in)g(the)h(order)f +(they)g(app)s(ear,)g(from)g(left)h(to)g(righ)m(t.)275 +3260 y(Eac)m(h)45 b(redirection)h(that)f(ma)m(y)h(b)s(e)e(preceded)g(b) +m(y)h(a)h(\014le)f(descriptor)f(n)m(um)m(b)s(er)g(ma)m(y)h(instead)h(b) +s(e)150 3370 y(preceded)41 b(b)m(y)g(a)h(w)m(ord)f(of)g(the)h(form)f +Fi({)p Fr(v)-5 b(arname)5 b Fi(})p Fu(.)74 b(In)41 b(this)g(case,)k +(for)c(eac)m(h)i(redirection)f(op)s(erator)150 3479 y(except)30 +b Ft(>)p Fu(&-)f(and)f Ft(<)p Fu(&-,)h(the)g(shell)g(will)h(allo)s +(cate)h(a)e(\014le)h(descriptor)e(greater)j(than)d(10)i(and)e(assign)i +(it)f(to)150 3589 y Fi({)p Fr(v)-5 b(arname)5 b Fi(})p +Fu(.)45 b(If)31 b Ft(>)p Fu(&-)g(or)h Ft(<)p Fu(&-)f(is)h(preceded)f(b) +m(y)g Fi({)p Fr(v)-5 b(arname)5 b Fi(})p Fu(,)33 b(the)f(v)-5 b(alue)32 b(of)g Fr(v)-5 b(arname)36 b Fu(de\014nes)31 -b(the)h(\014le)150 1196 y(descriptor)i(to)g(close.)52 +b(the)h(\014le)150 3698 y(descriptor)i(to)g(close.)52 b(If)34 b Fi({)p Fr(v)-5 b(arname)5 b Fi(})34 b Fu(is)g(supplied,)g (the)g(redirection)g(p)s(ersists)f(b)s(ey)m(ond)g(the)h(scop)s(e)g(of) -150 1306 y(the)d(command,)f(allo)m(wing)i(the)f(shell)f(programmer)g +150 3808 y(the)d(command,)f(allo)m(wing)i(the)f(shell)f(programmer)g (to)h(manage)h(the)e(\014le)h(descriptor)f(himself.)275 -1437 y(In)d(the)i(follo)m(wing)h(descriptions,)g(if)e(the)h(\014le)g +3936 y(In)d(the)i(follo)m(wing)h(descriptions,)g(if)e(the)h(\014le)g (descriptor)f(n)m(um)m(b)s(er)g(is)g(omitted,)i(and)f(the)f(\014rst)g -(c)m(har-)150 1546 y(acter)42 b(of)f(the)g(redirection)g(op)s(erator)g +(c)m(har-)150 4045 y(acter)42 b(of)f(the)g(redirection)g(op)s(erator)g (is)g(`)p Ft(<)p Fu(',)i(the)e(redirection)g(refers)g(to)g(the)g -(standard)f(input)f(\(\014le)150 1656 y(descriptor)33 +(standard)f(input)f(\(\014le)150 4155 y(descriptor)33 b(0\).)49 b(If)33 b(the)g(\014rst)f(c)m(haracter)i(of)g(the)f (redirection)g(op)s(erator)h(is)f(`)p Ft(>)p Fu(',)h(the)f(redirection) -g(refers)150 1765 y(to)e(the)g(standard)e(output)h(\(\014le)h -(descriptor)f(1\).)275 1896 y(The)h(w)m(ord)h(follo)m(wing)i(the)f +g(refers)150 4264 y(to)e(the)g(standard)e(output)h(\(\014le)h +(descriptor)f(1\).)275 4392 y(The)h(w)m(ord)h(follo)m(wing)i(the)f (redirection)g(op)s(erator)f(in)g(the)h(follo)m(wing)h(descriptions,)f -(unless)e(other-)150 2005 y(wise)21 b(noted,)i(is)e(sub)5 +(unless)e(other-)150 4501 y(wise)21 b(noted,)i(is)e(sub)5 b(jected)21 b(to)h(brace)f(expansion,)i(tilde)f(expansion,)h(parameter) -e(expansion,)i(command)150 2115 y(substitution,)31 b(arithmetic)h +e(expansion,)i(command)150 4611 y(substitution,)31 b(arithmetic)h (expansion,)f(quote)h(remo)m(v)-5 b(al,)33 b(\014lename)e(expansion,)g -(and)f(w)m(ord)h(splitting.)150 2225 y(If)f(it)h(expands)e(to)i(more)g +(and)f(w)m(ord)h(splitting.)150 4721 y(If)f(it)h(expands)e(to)i(more)g (than)f(one)h(w)m(ord,)f(Bash)h(rep)s(orts)e(an)h(error.)275 -2355 y(Note)h(that)g(the)g(order)f(of)g(redirections)h(is)g +4848 y(Note)h(that)g(the)g(order)f(of)g(redirections)h(is)g (signi\014can)m(t.)41 b(F)-8 b(or)31 b(example,)h(the)e(command)390 -2485 y Ft(ls)47 b(>)h Fj(dirlist)d Ft(2>&1)150 2616 y +4975 y Ft(ls)47 b(>)h Fj(dirlist)d Ft(2>&1)150 5103 y Fu(directs)28 b(b)s(oth)f(standard)g(output)g(\(\014le)h(descriptor)f (1\))i(and)e(standard)f(error)i(\(\014le)g(descriptor)f(2\))h(to)h(the) -150 2725 y(\014le)h Fr(dirlist)p Fu(,)h(while)f(the)h(command)390 -2856 y Ft(ls)47 b(2>&1)g(>)g Fj(dirlist)150 2986 y Fu(directs)28 -b(only)f(the)h(standard)e(output)i(to)g(\014le)f Fr(dirlist)p -Fu(,)h(b)s(ecause)g(the)f(standard)g(error)g(w)m(as)h(made)f(a)h(cop)m -(y)150 3096 y(of)j(the)f(standard)g(output)g(b)s(efore)g(the)g -(standard)g(output)g(w)m(as)g(redirected)h(to)g Fr(dirlist)p -Fu(.)275 3226 y(Bash)26 b(handles)f(sev)m(eral)j(\014lenames)e(sp)s -(ecially)h(when)f(they)g(are)g(used)g(in)g(redirections,)i(as)e -(describ)s(ed)150 3336 y(in)38 b(the)h(follo)m(wing)h(table.)66 -b(If)38 b(the)h(op)s(erating)g(system)f(on)h(whic)m(h)f(Bash)h(is)f -(running)f(pro)m(vides)h(these)150 3446 y(sp)s(ecial)27 -b(\014les,)g(bash)e(will)i(use)f(them;)h(otherwise)g(it)f(will)h(em)m -(ulate)h(them)e(in)m(ternally)h(with)f(the)g(b)s(eha)m(vior)150 -3555 y(describ)s(ed)j(b)s(elo)m(w.)150 3707 y Ft(/dev/fd/)p -Fj(fd)630 3816 y Fu(If)h Fr(fd)j Fu(is)d(a)h(v)-5 b(alid)31 -b(in)m(teger,)h(\014le)e(descriptor)h Fr(fd)i Fu(is)d(duplicated.)150 -3968 y Ft(/dev/stdin)630 4077 y Fu(File)i(descriptor)e(0)h(is)f -(duplicated.)150 4228 y Ft(/dev/stdout)630 4338 y Fu(File)i(descriptor) -e(1)h(is)f(duplicated.)150 4489 y Ft(/dev/stderr)630 -4599 y Fu(File)i(descriptor)e(2)h(is)f(duplicated.)150 -4750 y Ft(/dev/tcp/)p Fj(host)p Ft(/)p Fj(port)630 4860 -y Fu(If)41 b Fr(host)i Fu(is)f(a)g(v)-5 b(alid)41 b(hostname)h(or)f(In) -m(ternet)h(address,)i(and)c Fr(p)s(ort)j Fu(is)f(an)f(in)m(teger)i(p)s -(ort)630 4969 y(n)m(um)m(b)s(er)23 b(or)i(service)h(name,)g(Bash)f -(attempts)h(to)f(op)s(en)f(the)h(corresp)s(onding)f(TCP)g(so)s(c)m(k)m -(et.)150 5121 y Ft(/dev/udp/)p Fj(host)p Ft(/)p Fj(port)630 -5230 y Fu(If)41 b Fr(host)i Fu(is)f(a)g(v)-5 b(alid)41 -b(hostname)h(or)f(In)m(ternet)h(address,)i(and)c Fr(p)s(ort)j -Fu(is)f(an)f(in)m(teger)i(p)s(ort)630 5340 y(n)m(um)m(b)s(er)23 -b(or)h(service)h(name,)h(Bash)e(attempts)h(to)g(op)s(en)f(the)g -(corresp)s(onding)f(UDP)i(so)s(c)m(k)m(et.)p eop end +150 5213 y(\014le)h Fr(dirlist)p Fu(,)h(while)f(the)h(command)390 +5340 y Ft(ls)47 b(2>&1)g(>)g Fj(dirlist)p eop end %%Page: 35 41 TeXDict begin 35 40 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(35)275 299 -y(A)30 b(failure)h(to)g(op)s(en)e(or)i(create)h(a)e(\014le)h(causes)g -(the)f(redirection)h(to)g(fail.)275 439 y(Redirections)f(using)e -(\014le)i(descriptors)f(greater)h(than)f(9)h(should)e(b)s(e)h(used)f -(with)h(care,)h(as)g(they)f(ma)m(y)150 548 y(con\015ict)i(with)f -(\014le)h(descriptors)f(the)g(shell)h(uses)f(in)m(ternally)-8 -b(.)150 753 y Fk(3.6.1)63 b(Redirecting)40 b(Input)150 -900 y Fu(Redirection)35 b(of)f(input)f(causes)i(the)f(\014le)g(whose)g -(name)g(results)g(from)g(the)g(expansion)g(of)g Fr(w)m(ord)k -Fu(to)d(b)s(e)150 1010 y(op)s(ened)d(for)g(reading)g(on)g(\014le)h -(descriptor)f Ft(n)p Fu(,)h(or)f(the)g(standard)g(input)f(\(\014le)i -(descriptor)f(0\))h(if)f Ft(n)g Fu(is)h(not)150 1119 -y(sp)s(eci\014ed.)275 1259 y(The)c(general)j(format)e(for)h -(redirecting)g(input)e(is:)390 1399 y Ft([)p Fj(n)p Ft(]<)p -Fj(word)150 1604 y Fk(3.6.2)63 b(Redirecting)40 b(Output)150 -1751 y Fu(Redirection)31 b(of)g(output)f(causes)h(the)f(\014le)h(whose) +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(35)150 299 +y(directs)28 b(only)f(the)h(standard)e(output)i(to)g(\014le)f +Fr(dirlist)p Fu(,)h(b)s(ecause)g(the)f(standard)g(error)g(w)m(as)h +(made)f(a)h(cop)m(y)150 408 y(of)j(the)f(standard)g(output)g(b)s(efore) +g(the)g(standard)g(output)g(w)m(as)g(redirected)h(to)g +Fr(dirlist)p Fu(.)275 543 y(Bash)26 b(handles)f(sev)m(eral)j +(\014lenames)e(sp)s(ecially)h(when)f(they)g(are)g(used)g(in)g +(redirections,)i(as)e(describ)s(ed)150 652 y(in)38 b(the)h(follo)m +(wing)h(table.)66 b(If)38 b(the)h(op)s(erating)g(system)f(on)h(whic)m +(h)f(Bash)h(is)f(running)f(pro)m(vides)h(these)150 762 +y(sp)s(ecial)27 b(\014les,)g(bash)e(will)i(use)f(them;)h(otherwise)g +(it)f(will)h(em)m(ulate)h(them)e(in)m(ternally)h(with)f(the)g(b)s(eha)m +(vior)150 871 y(describ)s(ed)j(b)s(elo)m(w.)150 1030 +y Ft(/dev/fd/)p Fj(fd)630 1140 y Fu(If)h Fr(fd)j Fu(is)d(a)h(v)-5 +b(alid)31 b(in)m(teger,)h(\014le)e(descriptor)h Fr(fd)i +Fu(is)d(duplicated.)150 1298 y Ft(/dev/stdin)630 1408 +y Fu(File)i(descriptor)e(0)h(is)f(duplicated.)150 1566 +y Ft(/dev/stdout)630 1676 y Fu(File)i(descriptor)e(1)h(is)f +(duplicated.)150 1835 y Ft(/dev/stderr)630 1944 y Fu(File)i(descriptor) +e(2)h(is)f(duplicated.)150 2103 y Ft(/dev/tcp/)p Fj(host)p +Ft(/)p Fj(port)630 2212 y Fu(If)41 b Fr(host)i Fu(is)f(a)g(v)-5 +b(alid)41 b(hostname)h(or)f(In)m(ternet)h(address,)i(and)c +Fr(p)s(ort)j Fu(is)f(an)f(in)m(teger)i(p)s(ort)630 2322 +y(n)m(um)m(b)s(er)23 b(or)i(service)h(name,)g(Bash)f(attempts)h(to)f +(op)s(en)f(the)h(corresp)s(onding)f(TCP)g(so)s(c)m(k)m(et.)150 +2480 y Ft(/dev/udp/)p Fj(host)p Ft(/)p Fj(port)630 2590 +y Fu(If)41 b Fr(host)i Fu(is)f(a)g(v)-5 b(alid)41 b(hostname)h(or)f(In) +m(ternet)h(address,)i(and)c Fr(p)s(ort)j Fu(is)f(an)f(in)m(teger)i(p)s +(ort)630 2700 y(n)m(um)m(b)s(er)23 b(or)h(service)h(name,)h(Bash)e +(attempts)h(to)g(op)s(en)f(the)g(corresp)s(onding)f(UDP)i(so)s(c)m(k)m +(et.)275 2858 y(A)30 b(failure)h(to)g(op)s(en)e(or)i(create)h(a)e +(\014le)h(causes)g(the)f(redirection)h(to)g(fail.)275 +2992 y(Redirections)f(using)e(\014le)i(descriptors)f(greater)h(than)f +(9)h(should)e(b)s(e)h(used)f(with)h(care,)h(as)g(they)f(ma)m(y)150 +3102 y(con\015ict)i(with)f(\014le)h(descriptors)f(the)g(shell)h(uses)f +(in)m(ternally)-8 b(.)150 3300 y Fk(3.6.1)63 b(Redirecting)40 +b(Input)150 3447 y Fu(Redirection)35 b(of)f(input)f(causes)i(the)f +(\014le)g(whose)g(name)g(results)g(from)g(the)g(expansion)g(of)g +Fr(w)m(ord)k Fu(to)d(b)s(e)150 3557 y(op)s(ened)d(for)g(reading)g(on)g +(\014le)h(descriptor)f Ft(n)p Fu(,)h(or)f(the)g(standard)g(input)f +(\(\014le)i(descriptor)f(0\))h(if)f Ft(n)g Fu(is)h(not)150 +3667 y(sp)s(eci\014ed.)275 3801 y(The)c(general)j(format)e(for)h +(redirecting)g(input)e(is:)390 3935 y Ft([)p Fj(n)p Ft(]<)p +Fj(word)150 4133 y Fk(3.6.2)63 b(Redirecting)40 b(Output)150 +4280 y Fu(Redirection)31 b(of)g(output)f(causes)h(the)f(\014le)h(whose) f(name)g(results)h(from)e(the)i(expansion)f(of)h Fr(w)m(ord)i -Fu(to)f(b)s(e)150 1861 y(op)s(ened)d(for)g(writing)g(on)g(\014le)h +Fu(to)f(b)s(e)150 4390 y(op)s(ened)d(for)g(writing)g(on)g(\014le)h (descriptor)f Fr(n)p Fu(,)g(or)g(the)h(standard)e(output)h(\(\014le)h -(descriptor)f(1\))h(if)g Fr(n)e Fu(is)i(not)150 1970 +(descriptor)f(1\))h(if)g Fr(n)e Fu(is)i(not)150 4499 y(sp)s(eci\014ed.)40 b(If)30 b(the)g(\014le)h(do)s(es)f(not)h(exist)g (it)g(is)f(created;)i(if)e(it)h(do)s(es)f(exist)h(it)g(is)g(truncated)f -(to)h(zero)g(size.)275 2110 y(The)e(general)j(format)e(for)h -(redirecting)g(output)f(is:)390 2250 y Ft([)p Fj(n)p -Ft(]>[|])p Fj(word)275 2390 y Fu(If)g(the)h(redirection)g(op)s(erator)g +(to)h(zero)g(size.)275 4633 y(The)e(general)j(format)e(for)h +(redirecting)g(output)f(is:)390 4768 y Ft([)p Fj(n)p +Ft(]>[|])p Fj(word)275 4902 y Fu(If)g(the)h(redirection)g(op)s(erator)g (is)g(`)p Ft(>)p Fu(',)g(and)f(the)h Ft(noclobber)d Fu(option)j(to)g -(the)g Ft(set)f Fu(builtin)g(has)h(b)s(een)150 2500 y(enabled,)h(the)g +(the)g Ft(set)f Fu(builtin)g(has)h(b)s(een)150 5011 y(enabled,)h(the)g (redirection)h(will)f(fail)h(if)e(the)i(\014le)e(whose)h(name)g (results)g(from)f(the)h(expansion)g(of)g Fr(w)m(ord)150 -2609 y Fu(exists)f(and)f(is)g(a)h(regular)g(\014le.)41 +5121 y Fu(exists)f(and)f(is)g(a)h(regular)g(\014le.)41 b(If)30 b(the)h(redirection)g(op)s(erator)g(is)f(`)p Ft(>|)p Fu(',)h(or)f(the)h(redirection)g(op)s(erator)g(is)150 -2719 y(`)p Ft(>)p Fu(')36 b(and)f(the)g Ft(noclobber)e +5230 y(`)p Ft(>)p Fu(')36 b(and)f(the)g Ft(noclobber)e Fu(option)j(is)g(not)g(enabled,)h(the)e(redirection)h(is)g(attempted)g -(ev)m(en)h(if)e(the)h(\014le)150 2829 y(named)30 b(b)m(y)g -Fr(w)m(ord)k Fu(exists.)150 3033 y Fk(3.6.3)63 b(App)s(ending)42 -b(Redirected)e(Output)150 3180 y Fu(Redirection)23 b(of)e(output)h(in)f -(this)h(fashion)f(causes)h(the)g(\014le)g(whose)f(name)h(results)f -(from)g(the)h(expansion)g(of)150 3290 y Fr(w)m(ord)28 -b Fu(to)e(b)s(e)e(op)s(ened)g(for)h(app)s(ending)e(on)i(\014le)g -(descriptor)g Fr(n)p Fu(,)g(or)g(the)g(standard)f(output)h(\(\014le)g -(descriptor)150 3399 y(1\))31 b(if)f Fr(n)g Fu(is)h(not)f(sp)s -(eci\014ed.)40 b(If)30 b(the)h(\014le)f(do)s(es)g(not)h(exist)g(it)g -(is)f(created.)275 3539 y(The)f(general)j(format)e(for)h(app)s(ending)e -(output)h(is:)390 3679 y Ft([)p Fj(n)p Ft(]>>)p Fj(word)150 -3884 y Fk(3.6.4)63 b(Redirecting)40 b(Standard)h(Output)g(and)g -(Standard)g(Error)150 4031 y Fu(This)33 b(construct)i(allo)m(ws)g(b)s -(oth)f(the)g(standard)g(output)f(\(\014le)i(descriptor)f(1\))h(and)f -(the)g(standard)f(error)150 4141 y(output)d(\(\014le)h(descriptor)f -(2\))h(to)g(b)s(e)f(redirected)h(to)g(the)f(\014le)h(whose)f(name)h(is) -f(the)g(expansion)h(of)f Fr(w)m(ord)p Fu(.)275 4281 y(There)f(are)i(t)m -(w)m(o)h(formats)e(for)h(redirecting)g(standard)e(output)h(and)g -(standard)f(error:)390 4421 y Ft(&>)p Fj(word)150 4561 -y Fu(and)390 4701 y Ft(>&)p Fj(word)150 4841 y Fu(Of)h(the)g(t)m(w)m(o) -i(forms,)e(the)h(\014rst)e(is)i(preferred.)39 b(This)30 -b(is)g(seman)m(tically)j(equiv)-5 b(alen)m(t)32 b(to)390 -4981 y Ft(>)p Fj(word)46 b Ft(2>&1)275 5121 y Fu(When)41 -b(using)g(the)h(second)f(form,)k Fr(w)m(ord)f Fu(ma)m(y)e(not)g(expand) -f(to)h(a)g(n)m(um)m(b)s(er)f(or)g(`)p Ft(-)p Fu('.)75 -b(If)41 b(it)h(do)s(es,)150 5230 y(other)27 b(redirection)g(op)s -(erators)f(apply)h(\(see)g(Duplicating)h(File)f(Descriptors)h(b)s(elo)m -(w\))f(for)f(compatibilit)m(y)150 5340 y(reasons.)p eop -end +(ev)m(en)h(if)e(the)h(\014le)150 5340 y(named)30 b(b)m(y)g +Fr(w)m(ord)k Fu(exists.)p eop end %%Page: 36 42 TeXDict begin 36 41 bop 150 -116 a Fu(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(36)150 299 -y Fk(3.6.5)63 b(App)s(ending)42 b(Standard)f(Output)g(and)g(Standard)g -(Error)150 446 y Fu(This)33 b(construct)i(allo)m(ws)g(b)s(oth)f(the)g -(standard)g(output)f(\(\014le)i(descriptor)f(1\))h(and)f(the)g -(standard)f(error)150 555 y(output)d(\(\014le)h(descriptor)f(2\))h(to)g -(b)s(e)f(app)s(ended)f(to)i(the)f(\014le)h(whose)f(name)g(is)h(the)f -(expansion)h(of)f Fr(w)m(ord)p Fu(.)275 691 y(The)f(format)i(for)f(app) -s(ending)f(standard)h(output)g(and)f(standard)h(error)g(is:)390 -828 y Ft(&>>)p Fj(word)150 964 y Fu(This)g(is)g(seman)m(tically)j -(equiv)-5 b(alen)m(t)32 b(to)390 1100 y Ft(>>)p Fj(word)46 -b Ft(2>&1)275 1236 y Fu(\(see)31 b(Duplicating)h(File)f(Descriptors)g -(b)s(elo)m(w\).)150 1436 y Fk(3.6.6)63 b(Here)41 b(Do)s(cumen)m(ts)150 -1583 y Fu(This)26 b(t)m(yp)s(e)g(of)h(redirection)g(instructs)f(the)g +y Fk(3.6.3)63 b(App)s(ending)42 b(Redirected)e(Output)150 +446 y Fu(Redirection)23 b(of)e(output)h(in)f(this)h(fashion)f(causes)h +(the)g(\014le)g(whose)f(name)h(results)f(from)g(the)h(expansion)g(of) +150 555 y Fr(w)m(ord)28 b Fu(to)e(b)s(e)e(op)s(ened)g(for)h(app)s +(ending)e(on)i(\014le)g(descriptor)g Fr(n)p Fu(,)g(or)g(the)g(standard) +f(output)h(\(\014le)g(descriptor)150 665 y(1\))31 b(if)f +Fr(n)g Fu(is)h(not)f(sp)s(eci\014ed.)40 b(If)30 b(the)h(\014le)f(do)s +(es)g(not)h(exist)g(it)g(is)f(created.)275 796 y(The)f(general)j +(format)e(for)h(app)s(ending)e(output)h(is:)390 928 y +Ft([)p Fj(n)p Ft(]>>)p Fj(word)150 1120 y Fk(3.6.4)63 +b(Redirecting)40 b(Standard)h(Output)g(and)g(Standard)g(Error)150 +1267 y Fu(This)33 b(construct)i(allo)m(ws)g(b)s(oth)f(the)g(standard)g +(output)f(\(\014le)i(descriptor)f(1\))h(and)f(the)g(standard)f(error) +150 1377 y(output)d(\(\014le)h(descriptor)f(2\))h(to)g(b)s(e)f +(redirected)h(to)g(the)f(\014le)h(whose)f(name)h(is)f(the)g(expansion)h +(of)f Fr(w)m(ord)p Fu(.)275 1508 y(There)f(are)i(t)m(w)m(o)h(formats)e +(for)h(redirecting)g(standard)e(output)h(and)g(standard)f(error:)390 +1639 y Ft(&>)p Fj(word)150 1771 y Fu(and)390 1902 y Ft(>&)p +Fj(word)150 2033 y Fu(Of)h(the)g(t)m(w)m(o)i(forms,)e(the)h(\014rst)e +(is)i(preferred.)39 b(This)30 b(is)g(seman)m(tically)j(equiv)-5 +b(alen)m(t)32 b(to)390 2164 y Ft(>)p Fj(word)46 b Ft(2>&1)275 +2296 y Fu(When)41 b(using)g(the)h(second)f(form,)k Fr(w)m(ord)f +Fu(ma)m(y)e(not)g(expand)f(to)h(a)g(n)m(um)m(b)s(er)f(or)g(`)p +Ft(-)p Fu('.)75 b(If)41 b(it)h(do)s(es,)150 2405 y(other)27 +b(redirection)g(op)s(erators)f(apply)h(\(see)g(Duplicating)h(File)f +(Descriptors)h(b)s(elo)m(w\))f(for)f(compatibilit)m(y)150 +2515 y(reasons.)150 2707 y Fk(3.6.5)63 b(App)s(ending)42 +b(Standard)f(Output)g(and)g(Standard)g(Error)150 2854 +y Fu(This)33 b(construct)i(allo)m(ws)g(b)s(oth)f(the)g(standard)g +(output)f(\(\014le)i(descriptor)f(1\))h(and)f(the)g(standard)f(error) +150 2964 y(output)d(\(\014le)h(descriptor)f(2\))h(to)g(b)s(e)f(app)s +(ended)f(to)i(the)f(\014le)h(whose)f(name)g(is)h(the)f(expansion)h(of)f +Fr(w)m(ord)p Fu(.)275 3095 y(The)f(format)i(for)f(app)s(ending)f +(standard)h(output)g(and)f(standard)h(error)g(is:)390 +3226 y Ft(&>>)p Fj(word)150 3358 y Fu(This)g(is)g(seman)m(tically)j +(equiv)-5 b(alen)m(t)32 b(to)390 3489 y Ft(>>)p Fj(word)46 +b Ft(2>&1)275 3620 y Fu(\(see)31 b(Duplicating)h(File)f(Descriptors)g +(b)s(elo)m(w\).)150 3813 y Fk(3.6.6)63 b(Here)41 b(Do)s(cumen)m(ts)150 +3960 y Fu(This)26 b(t)m(yp)s(e)g(of)h(redirection)g(instructs)f(the)g (shell)h(to)g(read)f(input)g(from)g(the)g(curren)m(t)h(source)f(un)m -(til)h(a)g(line)150 1693 y(con)m(taining)h(only)e Fr(w)m(ord)k +(til)h(a)g(line)150 4070 y(con)m(taining)h(only)e Fr(w)m(ord)k Fu(\(with)c(no)g(trailing)h(blanks\))f(is)g(seen.)40 b(All)27 b(of)f(the)g(lines)h(read)f(up)f(to)i(that)g(p)s(oin)m(t)150 -1803 y(are)k(then)f(used)f(as)i(the)g(standard)e(input)h(\(or)g(\014le) +4179 y(are)k(then)f(used)f(as)i(the)g(standard)e(input)h(\(or)g(\014le) h(descriptor)f Fr(n)g Fu(if)g Fr(n)g Fu(is)g(sp)s(eci\014ed\))g(for)h -(a)f(command.)275 1939 y(The)f(format)i(of)g(here-do)s(cumen)m(ts)f -(is:)390 2075 y Ft([)p Fj(n)p Ft(]<<[)p Fq(\000)p Ft(])p -Fj(word)772 2184 y(here-document)390 2294 y(delimiter)275 -2430 y Fu(No)i(parameter)h(and)f(v)-5 b(ariable)32 b(expansion,)h +(a)f(command.)275 4310 y(The)f(format)i(of)g(here-do)s(cumen)m(ts)f +(is:)390 4442 y Ft([)p Fj(n)p Ft(]<<[)p Fq(\000)p Ft(])p +Fj(word)772 4551 y(here-document)390 4661 y(delimiter)275 +4792 y Fu(No)i(parameter)h(and)f(v)-5 b(ariable)32 b(expansion,)h (command)f(substitution,)h(arithmetic)g(expansion,)g(or)150 -2540 y(\014lename)26 b(expansion)g(is)g(p)s(erformed)e(on)i +4902 y(\014lename)26 b(expansion)g(is)g(p)s(erformed)e(on)i Fr(w)m(ord)p Fu(.)39 b(If)25 b(an)m(y)i(part)e(of)h Fr(w)m(ord)j Fu(is)d(quoted,)i(the)e Fr(delimiter)33 b Fu(is)26 b(the)150 -2649 y(result)33 b(of)g(quote)g(remo)m(v)-5 b(al)34 b(on)f +5011 y(result)33 b(of)g(quote)g(remo)m(v)-5 b(al)34 b(on)f Fr(w)m(ord)p Fu(,)g(and)f(the)h(lines)g(in)g(the)g(here-do)s(cumen)m(t) -g(are)g(not)g(expanded.)47 b(If)150 2759 y Fr(w)m(ord)26 +g(are)g(not)g(expanded.)47 b(If)150 5121 y Fr(w)m(ord)26 b Fu(is)c(unquoted,)h(all)g(lines)g(of)g(the)f(here-do)s(cumen)m(t)g (are)h(sub)5 b(jected)22 b(to)h(parameter)g(expansion,)h(com-)150 -2868 y(mand)30 b(substitution,)g(and)g(arithmetic)h(expansion,)g(the)f +5230 y(mand)30 b(substitution,)g(and)g(arithmetic)h(expansion,)g(the)f (c)m(haracter)i(sequence)f Ft(\\newline)d Fu(is)j(ignored,)150 -2978 y(and)f(`)p Ft(\\)p Fu(')g(m)m(ust)h(b)s(e)e(used)h(to)h(quote)g +5340 y(and)f(`)p Ft(\\)p Fu(')g(m)m(ust)h(b)s(e)e(used)h(to)h(quote)g (the)g(c)m(haracters)g(`)p Ft(\\)p Fu(',)g(`)p Ft($)p -Fu(',)g(and)f(`)p Ft(`)p Fu('.)275 3114 y(If)21 b(the)i(redirection)g -(op)s(erator)g(is)f(`)p Ft(<<-)p Fu(',)i(then)e(all)h(leading)g(tab)g -(c)m(haracters)h(are)e(stripp)s(ed)f(from)h(input)150 -3224 y(lines)33 b(and)f(the)h(line)h(con)m(taining)g -Fr(delimiter)p Fu(.)49 b(This)32 b(allo)m(ws)i(here-do)s(cumen)m(ts)f -(within)f(shell)i(scripts)e(to)150 3333 y(b)s(e)e(inden)m(ted)g(in)g(a) -h(natural)f(fashion.)150 3534 y Fk(3.6.7)63 b(Here)41 -b(Strings)150 3681 y Fu(A)30 b(v)-5 b(arian)m(t)32 b(of)e(here)h(do)s -(cumen)m(ts,)f(the)g(format)h(is:)390 3817 y Ft([)p Fj(n)p -Ft(]<<<)46 b Fj(word)275 3953 y Fu(The)29 b Fr(w)m(ord)k -Fu(undergo)s(es)c(tilde)i(expansion,)f(parameter)h(and)e(v)-5 -b(ariable)31 b(expansion,)f(command)g(sub-)150 4063 y(stitution,)25 -b(arithmetic)f(expansion,)h(and)d(quote)h(remo)m(v)-5 -b(al.)40 b(P)m(athname)23 b(expansion)g(and)f(w)m(ord)g(splitting)150 -4172 y(are)35 b(not)g(p)s(erformed.)51 b(The)34 b(result)h(is)g -(supplied)e(as)i(a)f(single)i(string,)f(with)g(a)g(newline)f(app)s -(ended,)g(to)150 4282 y(the)d(command)f(on)g(its)h(standard)e(input)h -(\(or)g(\014le)h(descriptor)f Fr(n)g Fu(if)g Fr(n)g Fu(is)h(sp)s -(eci\014ed\).)150 4483 y Fk(3.6.8)63 b(Duplicating)41 -b(File)g(Descriptors)150 4630 y Fu(The)30 b(redirection)h(op)s(erator) -390 4766 y Ft([)p Fj(n)p Ft(]<&)p Fj(word)150 4902 y -Fu(is)k(used)e(to)j(duplicate)f(input)f(\014le)g(descriptors.)53 -b(If)34 b Fr(w)m(ord)k Fu(expands)c(to)h(one)g(or)g(more)g(digits,)h -(the)f(\014le)150 5011 y(descriptor)e(denoted)h(b)m(y)f -Fr(n)g Fu(is)g(made)h(to)g(b)s(e)f(a)g(cop)m(y)h(of)g(that)g(\014le)f -(descriptor.)50 b(If)33 b(the)h(digits)g(in)f Fr(w)m(ord)150 -5121 y Fu(do)c(not)h(sp)s(ecify)f(a)h(\014le)f(descriptor)g(op)s(en)g -(for)g(input,)g(a)h(redirection)g(error)f(o)s(ccurs.)40 -b(If)29 b Fr(w)m(ord)j Fu(ev)-5 b(aluates)150 5230 y(to)31 -b(`)p Ft(-)p Fu(',)g(\014le)g(descriptor)g Fr(n)f Fu(is)g(closed.)43 -b(If)30 b Fr(n)g Fu(is)g(not)h(sp)s(eci\014ed,)f(the)h(standard)f -(input)g(\(\014le)h(descriptor)f(0\))150 5340 y(is)g(used.)p -eop end +Fu(',)g(and)f(`)p Ft(`)p Fu('.)p eop end %%Page: 37 43 TeXDict begin 37 42 bop 150 -116 a Fu(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(37)275 299 -y(The)29 b(op)s(erator)390 432 y Ft([)p Fj(n)p Ft(]>&)p -Fj(word)150 565 y Fu(is)40 b(used)g(similarly)h(to)g(duplicate)f -(output)g(\014le)h(descriptors.)70 b(If)40 b Fr(n)f Fu(is)i(not)f(sp)s -(eci\014ed,)i(the)f(standard)150 674 y(output)30 b(\(\014le)g -(descriptor)g(1\))h(is)f(used.)39 b(If)30 b(the)g(digits)h(in)e -Fr(w)m(ord)34 b Fu(do)29 b(not)i(sp)s(ecify)e(a)i(\014le)f(descriptor)g -(op)s(en)150 784 y(for)35 b(output,)h(a)g(redirection)g(error)e(o)s -(ccurs.)55 b(If)35 b Fr(w)m(ord)j Fu(ev)-5 b(aluates)37 -b(to)f(`)p Ft(-)p Fu(',)h(\014le)e(descriptor)g Fr(n)g -Fu(is)g(closed.)150 894 y(As)f(a)g(sp)s(ecial)h(case,)h(if)e -Fr(n)f Fu(is)h(omitted,)i(and)e Fr(w)m(ord)j Fu(do)s(es)d(not)g(expand) -f(to)i(one)f(or)g(more)g(digits)h(or)f(`)p Ft(-)p Fu(',)150 -1003 y(the)d(standard)e(output)h(and)g(standard)f(error)h(are)h -(redirected)g(as)g(describ)s(ed)e(previously)-8 b(.)150 -1199 y Fk(3.6.9)63 b(Mo)m(ving)41 b(File)h(Descriptors)150 -1346 y Fu(The)30 b(redirection)h(op)s(erator)390 1479 -y Ft([)p Fj(n)p Ft(]<&)p Fj(digit)p Ft(-)150 1612 y Fu(mo)m(v)m(es)i -(the)f(\014le)g(descriptor)f Fr(digit)k Fu(to)d(\014le)g(descriptor)g -Fr(n)p Fu(,)f(or)h(the)g(standard)f(input)f(\(\014le)j(descriptor)e -(0\))150 1722 y(if)f Fr(n)g Fu(is)h(not)f(sp)s(eci\014ed.)40 -b Fr(digit)33 b Fu(is)e(closed)g(after)g(b)s(eing)f(duplicated)g(to)h -Fr(n)p Fu(.)275 1855 y(Similarly)-8 b(,)31 b(the)f(redirection)h(op)s -(erator)390 1988 y Ft([)p Fj(n)p Ft(]>&)p Fj(digit)p -Ft(-)150 2121 y Fu(mo)m(v)m(es)e(the)g(\014le)f(descriptor)f +y(If)21 b(the)i(redirection)g(op)s(erator)g(is)f(`)p +Ft(<<-)p Fu(',)i(then)e(all)h(leading)g(tab)g(c)m(haracters)h(are)e +(stripp)s(ed)f(from)h(input)150 408 y(lines)33 b(and)f(the)h(line)h +(con)m(taining)g Fr(delimiter)p Fu(.)49 b(This)32 b(allo)m(ws)i +(here-do)s(cumen)m(ts)f(within)f(shell)i(scripts)e(to)150 +518 y(b)s(e)e(inden)m(ted)g(in)g(a)h(natural)f(fashion.)150 +709 y Fk(3.6.7)63 b(Here)41 b(Strings)150 856 y Fu(A)30 +b(v)-5 b(arian)m(t)32 b(of)e(here)h(do)s(cumen)m(ts,)f(the)g(format)h +(is:)390 987 y Ft([)p Fj(n)p Ft(]<<<)46 b Fj(word)275 +1117 y Fu(The)29 b Fr(w)m(ord)k Fu(undergo)s(es)c(tilde)i(expansion,)f +(parameter)h(and)e(v)-5 b(ariable)31 b(expansion,)f(command)g(sub-)150 +1227 y(stitution,)25 b(arithmetic)f(expansion,)h(and)d(quote)h(remo)m +(v)-5 b(al.)40 b(P)m(athname)23 b(expansion)g(and)f(w)m(ord)g +(splitting)150 1336 y(are)35 b(not)g(p)s(erformed.)51 +b(The)34 b(result)h(is)g(supplied)e(as)i(a)f(single)i(string,)f(with)g +(a)g(newline)f(app)s(ended,)g(to)150 1446 y(the)d(command)f(on)g(its)h +(standard)e(input)h(\(or)g(\014le)h(descriptor)f Fr(n)g +Fu(if)g Fr(n)g Fu(is)h(sp)s(eci\014ed\).)150 1637 y Fk(3.6.8)63 +b(Duplicating)41 b(File)g(Descriptors)150 1784 y Fu(The)30 +b(redirection)h(op)s(erator)390 1914 y Ft([)p Fj(n)p +Ft(]<&)p Fj(word)150 2045 y Fu(is)k(used)e(to)j(duplicate)f(input)f +(\014le)g(descriptors.)53 b(If)34 b Fr(w)m(ord)k Fu(expands)c(to)h(one) +g(or)g(more)g(digits,)h(the)f(\014le)150 2154 y(descriptor)e(denoted)h +(b)m(y)f Fr(n)g Fu(is)g(made)h(to)g(b)s(e)f(a)g(cop)m(y)h(of)g(that)g +(\014le)f(descriptor.)50 b(If)33 b(the)h(digits)g(in)f +Fr(w)m(ord)150 2264 y Fu(do)c(not)h(sp)s(ecify)f(a)h(\014le)f +(descriptor)g(op)s(en)g(for)g(input,)g(a)h(redirection)g(error)f(o)s +(ccurs.)40 b(If)29 b Fr(w)m(ord)j Fu(ev)-5 b(aluates)150 +2373 y(to)31 b(`)p Ft(-)p Fu(',)g(\014le)g(descriptor)g +Fr(n)f Fu(is)g(closed.)43 b(If)30 b Fr(n)g Fu(is)g(not)h(sp)s +(eci\014ed,)f(the)h(standard)f(input)g(\(\014le)h(descriptor)f(0\))150 +2483 y(is)g(used.)275 2613 y(The)f(op)s(erator)390 2744 +y Ft([)p Fj(n)p Ft(]>&)p Fj(word)150 2874 y Fu(is)40 +b(used)g(similarly)h(to)g(duplicate)f(output)g(\014le)h(descriptors.)70 +b(If)40 b Fr(n)f Fu(is)i(not)f(sp)s(eci\014ed,)i(the)f(standard)150 +2984 y(output)30 b(\(\014le)g(descriptor)g(1\))h(is)f(used.)39 +b(If)30 b(the)g(digits)h(in)e Fr(w)m(ord)34 b Fu(do)29 +b(not)i(sp)s(ecify)e(a)i(\014le)f(descriptor)g(op)s(en)150 +3093 y(for)35 b(output,)h(a)g(redirection)g(error)e(o)s(ccurs.)55 +b(If)35 b Fr(w)m(ord)j Fu(ev)-5 b(aluates)37 b(to)f(`)p +Ft(-)p Fu(',)h(\014le)e(descriptor)g Fr(n)g Fu(is)g(closed.)150 +3203 y(As)f(a)g(sp)s(ecial)h(case,)h(if)e Fr(n)f Fu(is)h(omitted,)i +(and)e Fr(w)m(ord)j Fu(do)s(es)d(not)g(expand)f(to)i(one)f(or)g(more)g +(digits)h(or)f(`)p Ft(-)p Fu(',)150 3313 y(the)d(standard)e(output)h +(and)g(standard)f(error)h(are)h(redirected)g(as)g(describ)s(ed)e +(previously)-8 b(.)150 3504 y Fk(3.6.9)63 b(Mo)m(ving)41 +b(File)h(Descriptors)150 3651 y Fu(The)30 b(redirection)h(op)s(erator) +390 3781 y Ft([)p Fj(n)p Ft(]<&)p Fj(digit)p Ft(-)150 +3911 y Fu(mo)m(v)m(es)i(the)f(\014le)g(descriptor)f Fr(digit)k +Fu(to)d(\014le)g(descriptor)g Fr(n)p Fu(,)f(or)h(the)g(standard)f +(input)f(\(\014le)j(descriptor)e(0\))150 4021 y(if)f +Fr(n)g Fu(is)h(not)f(sp)s(eci\014ed.)40 b Fr(digit)33 +b Fu(is)e(closed)g(after)g(b)s(eing)f(duplicated)g(to)h +Fr(n)p Fu(.)275 4151 y(Similarly)-8 b(,)31 b(the)f(redirection)h(op)s +(erator)390 4282 y Ft([)p Fj(n)p Ft(]>&)p Fj(digit)p +Ft(-)150 4412 y Fu(mo)m(v)m(es)e(the)g(\014le)f(descriptor)f Fr(digit)k Fu(to)e(\014le)f(descriptor)g Fr(n)p Fu(,)g(or)g(the)g (standard)f(output)h(\(\014le)g(descriptor)g(1\))150 -2230 y(if)i Fr(n)g Fu(is)h(not)f(sp)s(eci\014ed.)150 -2426 y Fk(3.6.10)63 b(Op)s(ening)42 b(File)g(Descriptors)g(for)g -(Reading)e(and)h(W)-10 b(riting)150 2573 y Fu(The)30 -b(redirection)h(op)s(erator)390 2706 y Ft([)p Fj(n)p -Ft(]<>)p Fj(word)150 2839 y Fu(causes)39 b(the)g(\014le)g(whose)g(name) +4522 y(if)i Fr(n)g Fu(is)h(not)f(sp)s(eci\014ed.)150 +4713 y Fk(3.6.10)63 b(Op)s(ening)42 b(File)g(Descriptors)g(for)g +(Reading)e(and)h(W)-10 b(riting)150 4860 y Fu(The)30 +b(redirection)h(op)s(erator)390 4990 y Ft([)p Fj(n)p +Ft(]<>)p Fj(word)150 5121 y Fu(causes)39 b(the)g(\014le)g(whose)g(name) g(is)g(the)g(expansion)g(of)g Fr(w)m(ord)j Fu(to)d(b)s(e)g(op)s(ened)f -(for)g(b)s(oth)h(reading)g(and)150 2949 y(writing)33 +(for)g(b)s(oth)h(reading)g(and)150 5230 y(writing)33 b(on)f(\014le)h(descriptor)f Fr(n)p Fu(,)h(or)g(on)f(\014le)h (descriptor)g(0)g(if)f Fr(n)g Fu(is)h(not)g(sp)s(eci\014ed.)47 -b(If)32 b(the)h(\014le)f(do)s(es)h(not)150 3058 y(exist,)e(it)g(is)g -(created.)150 3296 y Fs(3.7)68 b(Executing)46 b(Commands)150 -3519 y Fk(3.7.1)63 b(Simple)41 b(Command)h(Expansion)150 -3666 y Fu(When)33 b(a)g(simple)g(command)g(is)g(executed,)h(the)g -(shell)f(p)s(erforms)e(the)i(follo)m(wing)i(expansions,)e(assign-)150 -3775 y(men)m(ts,)e(and)f(redirections,)h(from)f(left)h(to)g(righ)m(t.) -199 3908 y(1.)61 b(The)38 b(w)m(ords)f(that)i(the)g(parser)e(has)h -(mark)m(ed)g(as)h(v)-5 b(ariable)39 b(assignmen)m(ts)g(\(those)g -(preceding)f(the)330 4018 y(command)30 b(name\))h(and)f(redirections)h -(are)f(sa)m(v)m(ed)i(for)e(later)h(pro)s(cessing.)199 -4151 y(2.)61 b(The)39 b(w)m(ords)g(that)i(are)f(not)g(v)-5 -b(ariable)40 b(assignmen)m(ts)h(or)e(redirections)i(are)f(expanded)f -(\(see)h(Sec-)330 4260 y(tion)d(3.5)i([Shell)e(Expansions],)h(page)g -(22\).)61 b(If)37 b(an)m(y)g(w)m(ords)f(remain)h(after)h(expansion,)h -(the)e(\014rst)330 4370 y(w)m(ord)31 b(is)g(tak)m(en)h(to)g(b)s(e)f -(the)g(name)h(of)f(the)h(command)f(and)f(the)i(remaining)f(w)m(ords)g -(are)g(the)h(argu-)330 4479 y(men)m(ts.)199 4612 y(3.)61 -b(Redirections)25 b(are)f(p)s(erformed)f(as)h(describ)s(ed)f(ab)s(o)m -(v)m(e)i(\(see)g(Section)g(3.6)g([Redirections],)i(page)d(33\).)199 -4745 y(4.)61 b(The)25 b(text)h(after)f(the)g(`)p Ft(=)p -Fu(')h(in)e(eac)m(h)j(v)-5 b(ariable)25 b(assignmen)m(t)h(undergo)s(es) -e(tilde)i(expansion,)g(parameter)330 4855 y(expansion,)49 -b(command)d(substitution,)j(arithmetic)d(expansion,)k(and)45 -b(quote)h(remo)m(v)-5 b(al)46 b(b)s(efore)330 4964 y(b)s(eing)30 -b(assigned)h(to)g(the)f(v)-5 b(ariable.)275 5121 y(If)32 -b(no)i(command)f(name)g(results,)h(the)g(v)-5 b(ariable)34 -b(assignmen)m(ts)g(a\013ect)h(the)f(curren)m(t)f(shell)h(en)m(viron-) -150 5230 y(men)m(t.)39 b(Otherwise,)27 b(the)e(v)-5 b(ariables)26 -b(are)g(added)f(to)h(the)f(en)m(vironmen)m(t)h(of)g(the)f(executed)h -(command)g(and)150 5340 y(do)35 b(not)f(a\013ect)j(the)d(curren)m(t)h -(shell)g(en)m(vironmen)m(t.)54 b(If)34 b(an)m(y)h(of)g(the)f(assignmen) -m(ts)i(attempts)f(to)h(assign)p eop end +b(If)32 b(the)h(\014le)f(do)s(es)h(not)150 5340 y(exist,)e(it)g(is)g +(created.)p eop end %%Page: 38 44 TeXDict begin 38 43 bop 150 -116 a Fu(Chapter)30 b(3:)41 b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(38)150 299 -y(a)39 b(v)-5 b(alue)39 b(to)g(a)g(readonly)f(v)-5 b(ariable,)42 -b(an)c(error)g(o)s(ccurs,)j(and)c(the)i(command)f(exits)h(with)g(a)f -(non-zero)150 408 y(status.)275 538 y(If)33 b(no)g(command)g(name)h -(results,)g(redirections)g(are)g(p)s(erformed,)f(but)g(do)h(not)f -(a\013ect)i(the)f(curren)m(t)150 648 y(shell)d(en)m(vironmen)m(t.)41 -b(A)30 b(redirection)h(error)f(causes)h(the)g(command)f(to)h(exit)g -(with)f(a)h(non-zero)g(status.)275 778 y(If)26 b(there)i(is)f(a)h -(command)f(name)h(left)g(after)g(expansion,)g(execution)h(pro)s(ceeds)e -(as)g(describ)s(ed)f(b)s(elo)m(w.)150 887 y(Otherwise,)39 -b(the)e(command)g(exits.)62 b(If)37 b(one)g(of)g(the)h(expansions)f -(con)m(tained)h(a)g(command)f(substitu-)150 997 y(tion,)i(the)d(exit)h -(status)g(of)f(the)h(command)f(is)h(the)f(exit)h(status)g(of)f(the)h -(last)g(command)f(substitution)150 1107 y(p)s(erformed.)55 -b(If)35 b(there)g(w)m(ere)h(no)g(command)f(substitutions,)i(the)e -(command)h(exits)g(with)f(a)h(status)g(of)150 1216 y(zero.)150 -1406 y Fk(3.7.2)63 b(Command)41 b(Searc)m(h)f(and)h(Execution)150 -1553 y Fu(After)i(a)h(command)f(has)g(b)s(een)f(split)h(in)m(to)h(w)m -(ords,)j(if)c(it)g(results)g(in)g(a)h(simple)f(command)g(and)f(an)150 -1663 y(optional)32 b(list)f(of)f(argumen)m(ts,)h(the)g(follo)m(wing)g -(actions)h(are)f(tak)m(en.)199 1793 y(1.)61 b(If)24 b(the)g(command)g -(name)g(con)m(tains)i(no)e(slashes,)i(the)e(shell)h(attempts)g(to)g(lo) -s(cate)h(it.)39 b(If)24 b(there)g(exists)330 1902 y(a)h(shell)g -(function)f(b)m(y)g(that)h(name,)h(that)f(function)f(is)h(in)m(v)m(ok)m -(ed)h(as)e(describ)s(ed)g(in)g(Section)h(3.3)h([Shell)330 -2012 y(F)-8 b(unctions],)31 b(page)h(17.)199 2142 y(2.)61 -b(If)41 b(the)g(name)h(do)s(es)f(not)g(matc)m(h)i(a)e(function,)j(the)e -(shell)f(searc)m(hes)i(for)e(it)h(in)f(the)g(list)h(of)g(shell)330 -2251 y(builtins.)e(If)30 b(a)h(matc)m(h)g(is)f(found,)g(that)h(builtin) -f(is)g(in)m(v)m(ok)m(ed.)199 2381 y(3.)61 b(If)40 b(the)g(name)h(is)f -(neither)h(a)f(shell)h(function)f(nor)g(a)g(builtin,)j(and)d(con)m -(tains)h(no)g(slashes,)i(Bash)330 2491 y(searc)m(hes)c(eac)m(h)g -(elemen)m(t)g(of)g Ft($PATH)d Fu(for)i(a)g(directory)h(con)m(taining)g -(an)f(executable)h(\014le)f(b)m(y)g(that)330 2600 y(name.)56 -b(Bash)36 b(uses)f(a)h(hash)e(table)j(to)f(remem)m(b)s(er)f(the)h(full) -f(pathnames)g(of)h(executable)h(\014les)e(to)330 2710 -y(a)m(v)m(oid)e(m)m(ultiple)f Ft(PATH)f Fu(searc)m(hes)i(\(see)f(the)g -(description)g(of)f Ft(hash)g Fu(in)g(Section)i(4.1)f([Bourne)g(Shell) -330 2819 y(Builtins],)37 b(page)f(43\).)55 b(A)35 b(full)g(searc)m(h)g -(of)g(the)g(directories)h(in)f Ft($PATH)e Fu(is)i(p)s(erformed)f(only)h -(if)g(the)330 2929 y(command)24 b(is)h(not)g(found)e(in)i(the)g(hash)f -(table.)39 b(If)25 b(the)f(searc)m(h)i(is)e(unsuccessful,)h(the)g -(shell)g(searc)m(hes)330 3039 y(for)e(a)h(de\014ned)e(shell)h(function) -h(named)e Ft(command_not_found_handle)p Fu(.)32 b(If)23 -b(that)h(function)f(exists,)330 3148 y(it)33 b(is)f(in)m(v)m(ok)m(ed)i -(in)e(a)h(separate)h(execution)f(en)m(vironmen)m(t)g(with)f(the)h -(original)h(command)e(and)g(the)330 3258 y(original)26 -b(command's)e(argumen)m(ts)h(as)g(its)g(argumen)m(ts,)h(and)e(the)h -(function's)f(exit)i(status)f(b)s(ecomes)330 3367 y(the)j(exit)g -(status)g(of)f(that)h(subshell.)39 b(If)27 b(that)h(function)f(is)h -(not)g(de\014ned,)f(the)g(shell)h(prin)m(ts)f(an)g(error)330 -3477 y(message)k(and)f(returns)f(an)i(exit)g(status)g(of)f(127.)199 -3607 y(4.)61 b(If)33 b(the)g(searc)m(h)h(is)g(successful,)g(or)f(if)g -(the)h(command)f(name)g(con)m(tains)i(one)f(or)f(more)g(slashes,)i(the) -330 3716 y(shell)g(executes)h(the)f(named)f(program)g(in)h(a)g -(separate)h(execution)f(en)m(vironmen)m(t.)55 b(Argumen)m(t)35 -b(0)330 3826 y(is)30 b(set)h(to)h(the)e(name)h(giv)m(en,)g(and)f(the)h -(remaining)f(argumen)m(ts)h(to)g(the)g(command)f(are)h(set)g(to)g(the) -330 3936 y(argumen)m(ts)g(supplied,)e(if)h(an)m(y)-8 -b(.)199 4065 y(5.)61 b(If)35 b(this)h(execution)h(fails)f(b)s(ecause)g +y Fs(3.7)68 b(Executing)46 b(Commands)150 523 y Fk(3.7.1)63 +b(Simple)41 b(Command)h(Expansion)150 670 y Fu(When)33 +b(a)g(simple)g(command)g(is)g(executed,)h(the)g(shell)f(p)s(erforms)e +(the)i(follo)m(wing)i(expansions,)e(assign-)150 779 y(men)m(ts,)e(and)f +(redirections,)h(from)f(left)h(to)g(righ)m(t.)199 913 +y(1.)61 b(The)38 b(w)m(ords)f(that)i(the)g(parser)e(has)h(mark)m(ed)g +(as)h(v)-5 b(ariable)39 b(assignmen)m(ts)g(\(those)g(preceding)f(the) +330 1023 y(command)30 b(name\))h(and)f(redirections)h(are)f(sa)m(v)m +(ed)i(for)e(later)h(pro)s(cessing.)199 1157 y(2.)61 b(The)39 +b(w)m(ords)g(that)i(are)f(not)g(v)-5 b(ariable)40 b(assignmen)m(ts)h +(or)e(redirections)i(are)f(expanded)f(\(see)h(Sec-)330 +1267 y(tion)d(3.5)i([Shell)e(Expansions],)h(page)g(22\).)61 +b(If)37 b(an)m(y)g(w)m(ords)f(remain)h(after)h(expansion,)h(the)e +(\014rst)330 1376 y(w)m(ord)31 b(is)g(tak)m(en)h(to)g(b)s(e)f(the)g +(name)h(of)f(the)h(command)f(and)f(the)i(remaining)f(w)m(ords)g(are)g +(the)h(argu-)330 1486 y(men)m(ts.)199 1620 y(3.)61 b(Redirections)25 +b(are)f(p)s(erformed)f(as)h(describ)s(ed)f(ab)s(o)m(v)m(e)i(\(see)g +(Section)g(3.6)g([Redirections],)i(page)d(34\).)199 1754 +y(4.)61 b(The)25 b(text)h(after)f(the)g(`)p Ft(=)p Fu(')h(in)e(eac)m(h) +j(v)-5 b(ariable)25 b(assignmen)m(t)h(undergo)s(es)e(tilde)i +(expansion,)g(parameter)330 1864 y(expansion,)49 b(command)d +(substitution,)j(arithmetic)d(expansion,)k(and)45 b(quote)h(remo)m(v)-5 +b(al)46 b(b)s(efore)330 1973 y(b)s(eing)30 b(assigned)h(to)g(the)f(v)-5 +b(ariable.)275 2132 y(If)32 b(no)i(command)f(name)g(results,)h(the)g(v) +-5 b(ariable)34 b(assignmen)m(ts)g(a\013ect)h(the)f(curren)m(t)f(shell) +h(en)m(viron-)150 2242 y(men)m(t.)39 b(Otherwise,)27 +b(the)e(v)-5 b(ariables)26 b(are)g(added)f(to)h(the)f(en)m(vironmen)m +(t)h(of)g(the)f(executed)h(command)g(and)150 2351 y(do)35 +b(not)f(a\013ect)j(the)d(curren)m(t)h(shell)g(en)m(vironmen)m(t.)54 +b(If)34 b(an)m(y)h(of)g(the)f(assignmen)m(ts)i(attempts)f(to)h(assign) +150 2461 y(a)j(v)-5 b(alue)39 b(to)g(a)g(readonly)f(v)-5 +b(ariable,)42 b(an)c(error)g(o)s(ccurs,)j(and)c(the)i(command)f(exits)h +(with)g(a)f(non-zero)150 2570 y(status.)275 2705 y(If)33 +b(no)g(command)g(name)h(results,)g(redirections)g(are)g(p)s(erformed,)f +(but)g(do)h(not)f(a\013ect)i(the)f(curren)m(t)150 2814 +y(shell)d(en)m(vironmen)m(t.)41 b(A)30 b(redirection)h(error)f(causes)h +(the)g(command)f(to)h(exit)g(with)f(a)h(non-zero)g(status.)275 +2948 y(If)26 b(there)i(is)f(a)h(command)f(name)h(left)g(after)g +(expansion,)g(execution)h(pro)s(ceeds)e(as)g(describ)s(ed)f(b)s(elo)m +(w.)150 3058 y(Otherwise,)39 b(the)e(command)g(exits.)62 +b(If)37 b(one)g(of)g(the)h(expansions)f(con)m(tained)h(a)g(command)f +(substitu-)150 3167 y(tion,)i(the)d(exit)h(status)g(of)f(the)h(command) +f(is)h(the)f(exit)h(status)g(of)f(the)h(last)g(command)f(substitution) +150 3277 y(p)s(erformed.)55 b(If)35 b(there)g(w)m(ere)h(no)g(command)f +(substitutions,)i(the)e(command)h(exits)g(with)f(a)h(status)g(of)150 +3387 y(zero.)150 3585 y Fk(3.7.2)63 b(Command)41 b(Searc)m(h)f(and)h +(Execution)150 3732 y Fu(After)i(a)h(command)f(has)g(b)s(een)f(split)h +(in)m(to)h(w)m(ords,)j(if)c(it)g(results)g(in)g(a)h(simple)f(command)g +(and)f(an)150 3842 y(optional)32 b(list)f(of)f(argumen)m(ts,)h(the)g +(follo)m(wing)g(actions)h(are)f(tak)m(en.)199 3976 y(1.)61 +b(If)24 b(the)g(command)g(name)g(con)m(tains)i(no)e(slashes,)i(the)e +(shell)h(attempts)g(to)g(lo)s(cate)h(it.)39 b(If)24 b(there)g(exists) +330 4085 y(a)h(shell)g(function)f(b)m(y)g(that)h(name,)h(that)f +(function)f(is)h(in)m(v)m(ok)m(ed)h(as)e(describ)s(ed)g(in)g(Section)h +(3.3)h([Shell)330 4195 y(F)-8 b(unctions],)31 b(page)h(17.)199 +4329 y(2.)61 b(If)41 b(the)g(name)h(do)s(es)f(not)g(matc)m(h)i(a)e +(function,)j(the)e(shell)f(searc)m(hes)i(for)e(it)h(in)f(the)g(list)h +(of)g(shell)330 4439 y(builtins.)e(If)30 b(a)h(matc)m(h)g(is)f(found,)g +(that)h(builtin)f(is)g(in)m(v)m(ok)m(ed.)199 4573 y(3.)61 +b(If)40 b(the)g(name)h(is)f(neither)h(a)f(shell)h(function)f(nor)g(a)g +(builtin,)j(and)d(con)m(tains)h(no)g(slashes,)i(Bash)330 +4682 y(searc)m(hes)c(eac)m(h)g(elemen)m(t)g(of)g Ft($PATH)d +Fu(for)i(a)g(directory)h(con)m(taining)g(an)f(executable)h(\014le)f(b)m +(y)g(that)330 4792 y(name.)56 b(Bash)36 b(uses)f(a)h(hash)e(table)j(to) +f(remem)m(b)s(er)f(the)h(full)f(pathnames)g(of)h(executable)h(\014les)e +(to)330 4902 y(a)m(v)m(oid)e(m)m(ultiple)f Ft(PATH)f +Fu(searc)m(hes)i(\(see)f(the)g(description)g(of)f Ft(hash)g +Fu(in)g(Section)i(4.1)f([Bourne)g(Shell)330 5011 y(Builtins],)37 +b(page)f(43\).)55 b(A)35 b(full)g(searc)m(h)g(of)g(the)g(directories)h +(in)f Ft($PATH)e Fu(is)i(p)s(erformed)f(only)h(if)g(the)330 +5121 y(command)24 b(is)h(not)g(found)e(in)i(the)g(hash)f(table.)39 +b(If)25 b(the)f(searc)m(h)i(is)e(unsuccessful,)h(the)g(shell)g(searc)m +(hes)330 5230 y(for)e(a)h(de\014ned)e(shell)h(function)h(named)e +Ft(command_not_found_handle)p Fu(.)32 b(If)23 b(that)h(function)f +(exists,)330 5340 y(it)33 b(is)f(in)m(v)m(ok)m(ed)i(in)e(a)h(separate)h +(execution)f(en)m(vironmen)m(t)g(with)f(the)h(original)h(command)e(and) +g(the)p eop end +%%Page: 39 45 +TeXDict begin 39 44 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(39)330 299 +y(original)26 b(command's)e(argumen)m(ts)h(as)g(its)g(argumen)m(ts,)h +(and)e(the)h(function's)f(exit)i(status)f(b)s(ecomes)330 +408 y(the)j(exit)g(status)g(of)f(that)h(subshell.)39 +b(If)27 b(that)h(function)f(is)h(not)g(de\014ned,)f(the)g(shell)h(prin) +m(ts)f(an)g(error)330 518 y(message)k(and)f(returns)f(an)i(exit)g +(status)g(of)f(127.)199 654 y(4.)61 b(If)33 b(the)g(searc)m(h)h(is)g +(successful,)g(or)f(if)g(the)h(command)f(name)g(con)m(tains)i(one)f(or) +f(more)g(slashes,)i(the)330 763 y(shell)g(executes)h(the)f(named)f +(program)g(in)h(a)g(separate)h(execution)f(en)m(vironmen)m(t.)55 +b(Argumen)m(t)35 b(0)330 873 y(is)30 b(set)h(to)h(the)e(name)h(giv)m +(en,)g(and)f(the)h(remaining)f(argumen)m(ts)h(to)g(the)g(command)f(are) +h(set)g(to)g(the)330 983 y(argumen)m(ts)g(supplied,)e(if)h(an)m(y)-8 +b(.)199 1118 y(5.)61 b(If)35 b(this)h(execution)h(fails)f(b)s(ecause)g (the)f(\014le)h(is)g(not)g(in)f(executable)j(format,)f(and)e(the)h -(\014le)g(is)g(not)330 4175 y(a)d(directory)-8 b(,)34 +(\014le)g(is)g(not)330 1228 y(a)d(directory)-8 b(,)34 b(it)f(is)g(assumed)e(to)j(b)s(e)d(a)i Fr(shell)g(script)h Fu(and)e(the)h(shell)f(executes)i(it)f(as)g(describ)s(ed)e(in)330 -4285 y(Section)g(3.8)h([Shell)e(Scripts],)g(page)i(41.)199 -4415 y(6.)61 b(If)38 b(the)h(command)f(w)m(as)h(not)g(b)s(egun)e(async) +1338 y(Section)g(3.8)h([Shell)e(Scripts],)g(page)i(41.)199 +1473 y(6.)61 b(If)38 b(the)h(command)f(w)m(as)h(not)g(b)s(egun)e(async) m(hronously)-8 b(,)42 b(the)c(shell)h(w)m(aits)h(for)e(the)h(command)f -(to)330 4524 y(complete)32 b(and)e(collects)i(its)f(exit)g(status.)150 -4714 y Fk(3.7.3)63 b(Command)41 b(Execution)f(En)m(vironmen)m(t)150 -4861 y Fu(The)30 b(shell)g(has)h(an)f Fr(execution)h(en)m(vironmen)m(t) +(to)330 1583 y(complete)32 b(and)e(collects)i(its)f(exit)g(status.)150 +1785 y Fk(3.7.3)63 b(Command)41 b(Execution)f(En)m(vironmen)m(t)150 +1932 y Fu(The)30 b(shell)g(has)h(an)f Fr(execution)h(en)m(vironmen)m(t) p Fu(,)h(whic)m(h)e(consists)h(of)f(the)h(follo)m(wing:)225 -4991 y Fq(\017)60 b Fu(op)s(en)32 b(\014les)g(inherited)g(b)m(y)h(the)f +2069 y Fq(\017)60 b Fu(op)s(en)32 b(\014les)g(inherited)g(b)m(y)h(the)f (shell)h(at)g(in)m(v)m(o)s(cation,)j(as)c(mo)s(di\014ed)g(b)m(y)g -(redirections)h(supplied)e(to)330 5101 y(the)g Ft(exec)e -Fu(builtin)225 5230 y Fq(\017)60 b Fu(the)28 b(curren)m(t)g(w)m(orking) +(redirections)h(supplied)e(to)330 2178 y(the)g Ft(exec)e +Fu(builtin)225 2314 y Fq(\017)60 b Fu(the)28 b(curren)m(t)g(w)m(orking) h(directory)g(as)f(set)h(b)m(y)f Ft(cd)p Fu(,)g Ft(pushd)p Fu(,)g(or)g Ft(popd)p Fu(,)g(or)g(inherited)g(b)m(y)g(the)h(shell)f(at) -330 5340 y(in)m(v)m(o)s(cation)p eop end -%%Page: 39 45 -TeXDict begin 39 44 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(39)225 299 -y Fq(\017)60 b Fu(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)g(as)h -(set)g(b)m(y)f Ft(umask)f Fu(or)h(inherited)g(from)g(the)h(shell's)f -(paren)m(t)225 434 y Fq(\017)60 b Fu(curren)m(t)30 b(traps)g(set)h(b)m -(y)f Ft(trap)225 570 y Fq(\017)60 b Fu(shell)30 b(parameters)f(that)h -(are)g(set)g(b)m(y)g(v)-5 b(ariable)30 b(assignmen)m(t)g(or)g(with)f -Ft(set)f Fu(or)i(inherited)f(from)g(the)330 680 y(shell's)i(paren)m(t)f -(in)g(the)h(en)m(vironmen)m(t)225 815 y Fq(\017)60 b -Fu(shell)44 b(functions)f(de\014ned)f(during)h(execution)i(or)e +330 2424 y(in)m(v)m(o)s(cation)225 2560 y Fq(\017)60 +b Fu(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)g(as)h(set)g(b)m(y)f +Ft(umask)f Fu(or)h(inherited)g(from)g(the)h(shell's)f(paren)m(t)225 +2695 y Fq(\017)60 b Fu(curren)m(t)30 b(traps)g(set)h(b)m(y)f +Ft(trap)225 2831 y Fq(\017)60 b Fu(shell)30 b(parameters)f(that)h(are)g +(set)g(b)m(y)g(v)-5 b(ariable)30 b(assignmen)m(t)g(or)g(with)f +Ft(set)f Fu(or)i(inherited)f(from)g(the)330 2941 y(shell's)i(paren)m(t) +f(in)g(the)h(en)m(vironmen)m(t)225 3077 y Fq(\017)60 +b Fu(shell)44 b(functions)f(de\014ned)f(during)h(execution)i(or)e (inherited)h(from)f(the)h(shell's)g(paren)m(t)f(in)h(the)330 -925 y(en)m(vironmen)m(t)225 1061 y Fq(\017)60 b Fu(options)33 +3186 y(en)m(vironmen)m(t)225 3322 y Fq(\017)60 b Fu(options)33 b(enabled)g(at)h(in)m(v)m(o)s(cation)h(\(either)f(b)m(y)f(default)g(or) -g(with)g(command-line)g(argumen)m(ts\))h(or)330 1170 -y(b)m(y)c Ft(set)225 1306 y Fq(\017)60 b Fu(options)31 +g(with)g(command-line)g(argumen)m(ts\))h(or)330 3432 +y(b)m(y)c Ft(set)225 3567 y Fq(\017)60 b Fu(options)31 b(enabled)f(b)m(y)g Ft(shopt)f Fu(\(see)j(Section)f(4.3.2)h([The)e -(Shopt)g(Builtin],)h(page)g(65\))225 1441 y Fq(\017)60 +(Shopt)g(Builtin],)h(page)g(65\))225 3703 y Fq(\017)60 b Fu(shell)31 b(aliases)g(de\014ned)f(with)g Ft(alias)f Fu(\(see)i(Section)g(6.6)h([Aliases],)g(page)f(92\))225 -1577 y Fq(\017)60 b Fu(v)-5 b(arious)50 b(pro)s(cess)f +3839 y Fq(\017)60 b Fu(v)-5 b(arious)50 b(pro)s(cess)f Fm(id)p Fu(s,)55 b(including)49 b(those)i(of)e(bac)m(kground)h(jobs)f -(\(see)i(Section)g(3.2.3)g([Lists],)330 1687 y(page)31 +(\(see)i(Section)g(3.2.3)g([Lists],)330 3948 y(page)31 b(9\),)g(the)g(v)-5 b(alue)31 b(of)f Ft($$)p Fu(,)g(and)g(the)h(v)-5 -b(alue)31 b(of)f Ft($PPID)275 1849 y Fu(When)k(a)g(simple)h(command)f +b(alue)31 b(of)f Ft($PPID)275 4112 y Fu(When)k(a)g(simple)h(command)f (other)g(than)g(a)h(builtin)f(or)g(shell)h(function)f(is)g(to)h(b)s(e)f -(executed,)i(it)f(is)150 1959 y(in)m(v)m(ok)m(ed)25 b(in)f(a)g +(executed,)i(it)f(is)150 4221 y(in)m(v)m(ok)m(ed)25 b(in)f(a)g (separate)h(execution)g(en)m(vironmen)m(t)g(that)f(consists)g(of)h(the) -f(follo)m(wing.)40 b(Unless)24 b(otherwise)150 2068 y(noted,)31 +f(follo)m(wing.)40 b(Unless)24 b(otherwise)150 4331 y(noted,)31 b(the)f(v)-5 b(alues)31 b(are)g(inherited)f(from)g(the)g(shell.)225 -2205 y Fq(\017)60 b Fu(the)31 b(shell's)h(op)s(en)e(\014les,)i(plus)e +4468 y Fq(\017)60 b Fu(the)31 b(shell's)h(op)s(en)e(\014les,)i(plus)e (an)m(y)h(mo)s(di\014cations)h(and)e(additions)h(sp)s(eci\014ed)g(b)m -(y)g(redirections)g(to)330 2315 y(the)g(command)225 2450 +(y)g(redirections)g(to)330 4578 y(the)g(command)225 4713 y Fq(\017)60 b Fu(the)31 b(curren)m(t)f(w)m(orking)g(directory)225 -2586 y Fq(\017)60 b Fu(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)225 -2722 y Fq(\017)60 b Fu(shell)32 b(v)-5 b(ariables)33 +4849 y Fq(\017)60 b Fu(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)225 +4985 y Fq(\017)60 b Fu(shell)32 b(v)-5 b(ariables)33 b(and)e(functions)h(mark)m(ed)g(for)g(exp)s(ort,)g(along)h(with)f(v)-5 -b(ariables)32 b(exp)s(orted)g(for)g(the)330 2831 y(command,)e(passed)g +b(ariables)32 b(exp)s(orted)g(for)g(the)330 5095 y(command,)e(passed)g (in)g(the)h(en)m(vironmen)m(t)g(\(see)g(Section)g(3.7.4)i([En)m -(vironmen)m(t],)e(page)g(39\))225 2967 y Fq(\017)60 b +(vironmen)m(t],)e(page)g(40\))225 5230 y Fq(\017)60 b Fu(traps)31 b(caugh)m(t)h(b)m(y)f(the)g(shell)h(are)f(reset)h(to)g(the) f(v)-5 b(alues)32 b(inherited)e(from)h(the)g(shell's)h(paren)m(t,)g -(and)330 3076 y(traps)e(ignored)h(b)m(y)f(the)g(shell)h(are)g(ignored) -275 3239 y(A)41 b(command)g(in)m(v)m(ok)m(ed)i(in)e(this)h(separate)g -(en)m(vironmen)m(t)g(cannot)g(a\013ect)h(the)f(shell's)g(execution)150 -3349 y(en)m(vironmen)m(t.)275 3485 y(Command)35 b(substitution,)j +(and)330 5340 y(traps)e(ignored)h(b)m(y)f(the)g(shell)h(are)g(ignored)p +eop end +%%Page: 40 46 +TeXDict begin 40 45 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(40)275 299 +y(A)41 b(command)g(in)m(v)m(ok)m(ed)i(in)e(this)h(separate)g(en)m +(vironmen)m(t)g(cannot)g(a\013ect)h(the)f(shell's)g(execution)150 +408 y(en)m(vironmen)m(t.)275 552 y(Command)35 b(substitution,)j (commands)e(group)s(ed)f(with)i(paren)m(theses,)h(and)e(async)m -(hronous)g(com-)150 3595 y(mands)c(are)h(in)m(v)m(ok)m(ed)i(in)d(a)i +(hronous)g(com-)150 662 y(mands)c(are)h(in)m(v)m(ok)m(ed)i(in)d(a)i (subshell)e(en)m(vironmen)m(t)h(that)h(is)f(a)g(duplicate)h(of)f(the)g -(shell)g(en)m(vironmen)m(t,)150 3705 y(except)i(that)g(traps)f(caugh)m +(shell)g(en)m(vironmen)m(t,)150 772 y(except)i(that)g(traps)f(caugh)m (t)h(b)m(y)f(the)h(shell)f(are)g(reset)h(to)g(the)f(v)-5 b(alues)35 b(that)g(the)f(shell)h(inherited)e(from)150 -3814 y(its)g(paren)m(t)f(at)h(in)m(v)m(o)s(cation.)49 +881 y(its)g(paren)m(t)f(at)h(in)m(v)m(o)s(cation.)49 b(Builtin)32 b(commands)g(that)h(are)g(in)m(v)m(ok)m(ed)h(as)e(part)g -(of)h(a)f(pip)s(eline)g(are)h(also)150 3924 y(executed)41 +(of)h(a)f(pip)s(eline)g(are)h(also)150 991 y(executed)41 b(in)f(a)h(subshell)e(en)m(vironmen)m(t.)72 b(Changes)40 b(made)g(to)h(the)g(subshell)e(en)m(vironmen)m(t)i(cannot)150 -4033 y(a\013ect)32 b(the)f(shell's)f(execution)i(en)m(vironmen)m(t.)275 -4170 y(Subshells)c(spa)m(wned)i(to)h(execute)g(command)f(substitutions) +1100 y(a\013ect)32 b(the)f(shell's)f(execution)i(en)m(vironmen)m(t.)275 +1244 y(Subshells)c(spa)m(wned)i(to)h(execute)g(command)f(substitutions) g(inherit)g(the)g(v)-5 b(alue)31 b(of)f(the)h Ft(-e)e -Fu(option)150 4280 y(from)23 b(the)i(paren)m(t)f(shell.)38 +Fu(option)150 1354 y(from)23 b(the)i(paren)m(t)f(shell.)38 b(When)24 b(not)g(in)g Fm(posix)f Fu(mo)s(de,)i(Bash)f(clears)h(the)f -Ft(-e)f Fu(option)i(in)e(suc)m(h)h(subshells.)275 4416 +Ft(-e)f Fu(option)i(in)e(suc)m(h)h(subshells.)275 1498 y(If)f(a)h(command)g(is)g(follo)m(w)m(ed)h(b)m(y)f(a)g(`)p Ft(&)p Fu(')g(and)f(job)h(con)m(trol)h(is)f(not)g(activ)m(e,)k(the)c -(default)g(standard)f(input)150 4526 y(for)35 b(the)g(command)g(is)g +(default)g(standard)f(input)150 1607 y(for)35 b(the)g(command)g(is)g (the)g(empt)m(y)h(\014le)f Ft(/dev/null)p Fu(.)52 b(Otherwise,)37 -b(the)e(in)m(v)m(ok)m(ed)h(command)f(inherits)150 4636 +b(the)e(in)m(v)m(ok)m(ed)h(command)f(inherits)150 1717 y(the)c(\014le)f(descriptors)g(of)h(the)f(calling)i(shell)f(as)f(mo)s -(di\014ed)g(b)m(y)g(redirections.)150 4837 y Fk(3.7.4)63 -b(En)m(vironmen)m(t)150 4984 y Fu(When)29 b(a)g(program)f(is)h(in)m(v)m +(di\014ed)g(b)m(y)g(redirections.)150 1926 y Fk(3.7.4)63 +b(En)m(vironmen)m(t)150 2073 y Fu(When)29 b(a)g(program)f(is)h(in)m(v)m (ok)m(ed)h(it)g(is)f(giv)m(en)g(an)g(arra)m(y)g(of)g(strings)g(called)h (the)f Fr(en)m(vironmen)m(t)p Fu(.)41 b(This)28 b(is)h(a)150 -5094 y(list)i(of)g(name-v)-5 b(alue)31 b(pairs,)f(of)h(the)f(form)g -Ft(name=value)p Fu(.)275 5230 y(Bash)39 b(pro)m(vides)g(sev)m(eral)i(w) +2182 y(list)i(of)g(name-v)-5 b(alue)31 b(pairs,)f(of)h(the)f(form)g +Ft(name=value)p Fu(.)275 2326 y(Bash)39 b(pro)m(vides)g(sev)m(eral)i(w) m(a)m(ys)g(to)f(manipulate)f(the)h(en)m(vironmen)m(t.)69 -b(On)38 b(in)m(v)m(o)s(cation,)44 b(the)c(shell)150 5340 +b(On)38 b(in)m(v)m(o)s(cation,)44 b(the)c(shell)150 2436 y(scans)g(its)h(o)m(wn)f(en)m(vironmen)m(t)h(and)f(creates)i(a)f -(parameter)f(for)g(eac)m(h)i(name)e(found,)i(automatically)p -eop end -%%Page: 40 46 -TeXDict begin 40 45 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(40)150 299 -y(marking)26 b(it)g(for)g Fr(exp)s(ort)h Fu(to)g(c)m(hild)f(pro)s +(parameter)f(for)g(eac)m(h)i(name)e(found,)i(automatically)150 +2545 y(marking)26 b(it)g(for)g Fr(exp)s(ort)h Fu(to)g(c)m(hild)f(pro)s (cesses.)39 b(Executed)26 b(commands)g(inherit)g(the)g(en)m(vironmen)m -(t.)39 b(The)150 408 y Ft(export)c Fu(and)i(`)p Ft(declare)29 +(t.)39 b(The)150 2655 y Ft(export)c Fu(and)i(`)p Ft(declare)29 b(-x)p Fu(')36 b(commands)h(allo)m(w)i(parameters)e(and)g(functions)g -(to)h(b)s(e)e(added)h(to)h(and)150 518 y(deleted)21 b(from)f(the)h(en)m -(vironmen)m(t.)38 b(If)20 b(the)h(v)-5 b(alue)21 b(of)g(a)g(parameter)g -(in)f(the)g(en)m(vironmen)m(t)i(is)e(mo)s(di\014ed,)i(the)150 -628 y(new)31 b(v)-5 b(alue)32 b(b)s(ecomes)f(part)h(of)f(the)h(en)m -(vironmen)m(t,)g(replacing)h(the)e(old.)44 b(The)31 b(en)m(vironmen)m -(t)h(inherited)150 737 y(b)m(y)f(an)m(y)g(executed)h(command)f -(consists)g(of)g(the)g(shell's)h(initial)g(en)m(vironmen)m(t,)g(whose)f -(v)-5 b(alues)31 b(ma)m(y)h(b)s(e)150 847 y(mo)s(di\014ed)26 +(to)h(b)s(e)e(added)h(to)h(and)150 2765 y(deleted)21 +b(from)f(the)h(en)m(vironmen)m(t.)38 b(If)20 b(the)h(v)-5 +b(alue)21 b(of)g(a)g(parameter)g(in)f(the)g(en)m(vironmen)m(t)i(is)e +(mo)s(di\014ed,)i(the)150 2874 y(new)31 b(v)-5 b(alue)32 +b(b)s(ecomes)f(part)h(of)f(the)h(en)m(vironmen)m(t,)g(replacing)h(the)e +(old.)44 b(The)31 b(en)m(vironmen)m(t)h(inherited)150 +2984 y(b)m(y)f(an)m(y)g(executed)h(command)f(consists)g(of)g(the)g +(shell's)h(initial)g(en)m(vironmen)m(t,)g(whose)f(v)-5 +b(alues)31 b(ma)m(y)h(b)s(e)150 3093 y(mo)s(di\014ed)26 b(in)g(the)h(shell,)h(less)f(an)m(y)g(pairs)f(remo)m(v)m(ed)i(b)m(y)f (the)g Ft(unset)e Fu(and)h(`)p Ft(export)j(-n)p Fu(')e(commands,)g -(plus)150 956 y(an)m(y)k(additions)f(via)h(the)g Ft(export)d -Fu(and)i(`)p Ft(declare)f(-x)p Fu(')h(commands.)275 1090 +(plus)150 3203 y(an)m(y)k(additions)f(via)h(the)g Ft(export)d +Fu(and)i(`)p Ft(declare)f(-x)p Fu(')h(commands.)275 3347 y(The)j(en)m(vironmen)m(t)i(for)f(an)m(y)g(simple)h(command)f(or)g (function)g(ma)m(y)g(b)s(e)g(augmen)m(ted)h(temp)s(orarily)150 -1199 y(b)m(y)c(pre\014xing)e(it)i(with)g(parameter)g(assignmen)m(ts,)h +3457 y(b)m(y)c(pre\014xing)e(it)i(with)g(parameter)g(assignmen)m(ts,)h (as)e(describ)s(ed)g(in)g(Section)i(3.4)g([Shell)e(P)m(arameters],)150 -1309 y(page)g(19.)41 b(These)29 b(assignmen)m(t)i(statemen)m(ts)g +3566 y(page)g(19.)41 b(These)29 b(assignmen)m(t)i(statemen)m(ts)g (a\013ect)f(only)g(the)f(en)m(vironmen)m(t)h(seen)g(b)m(y)f(that)h -(command.)275 1442 y(If)g(the)h Ft(-k)g Fu(option)g(is)g(set)h(\(see)g +(command.)275 3710 y(If)g(the)h Ft(-k)g Fu(option)g(is)g(set)h(\(see)g (Section)g(4.3.1)g([The)f(Set)g(Builtin],)h(page)g(61\),)h(then)e(all)g -(parameter)150 1552 y(assignmen)m(ts)f(are)g(placed)h(in)e(the)h(en)m +(parameter)150 3820 y(assignmen)m(ts)f(are)g(placed)h(in)e(the)h(en)m (vironmen)m(t)g(for)g(a)g(command,)f(not)h(just)f(those)i(that)f -(precede)g(the)150 1661 y(command)g(name.)275 1795 y(When)h(Bash)h(in)m +(precede)g(the)150 3929 y(command)g(name.)275 4073 y(When)h(Bash)h(in)m (v)m(ok)m(es)i(an)e(external)h(command,)f(the)g(v)-5 b(ariable)33 b(`)p Ft($_)p Fu(')f(is)g(set)h(to)f(the)g(full)g -(pathname)150 1904 y(of)f(the)f(command)g(and)g(passed)g(to)h(that)g -(command)f(in)g(its)h(en)m(vironmen)m(t.)150 2101 y Fk(3.7.5)63 -b(Exit)40 b(Status)150 2248 y Fu(The)26 b(exit)h(status)f(of)g(an)g +(pathname)150 4183 y(of)f(the)f(command)g(and)g(passed)g(to)h(that)g +(command)f(in)g(its)h(en)m(vironmen)m(t.)150 4392 y Fk(3.7.5)63 +b(Exit)40 b(Status)150 4538 y Fu(The)26 b(exit)h(status)f(of)g(an)g (executed)h(command)f(is)g(the)h(v)-5 b(alue)26 b(returned)f(b)m(y)h -(the)g Fr(w)m(aitpid)k Fu(system)d(call)g(or)150 2357 +(the)g Fr(w)m(aitpid)k Fu(system)d(call)g(or)150 4648 y(equiv)-5 b(alen)m(t)33 b(function.)45 b(Exit)32 b(statuses)g(fall)g (b)s(et)m(w)m(een)h(0)f(and)f(255,)i(though,)f(as)g(explained)g(b)s -(elo)m(w,)h(the)150 2467 y(shell)i(ma)m(y)g(use)f(v)-5 +(elo)m(w,)h(the)150 4758 y(shell)i(ma)m(y)g(use)f(v)-5 b(alues)35 b(ab)s(o)m(v)m(e)g(125)h(sp)s(ecially)-8 b(.)54 b(Exit)35 b(statuses)g(from)f(shell)h(builtins)f(and)f(comp)s(ound)150 -2577 y(commands)j(are)g(also)h(limited)g(to)g(this)f(range.)58 +4867 y(commands)j(are)g(also)h(limited)g(to)g(this)f(range.)58 b(Under)36 b(certain)h(circumstances,)h(the)e(shell)h(will)f(use)150 -2686 y(sp)s(ecial)31 b(v)-5 b(alues)31 b(to)g(indicate)g(sp)s(eci\014c) -f(failure)h(mo)s(des.)275 2819 y(F)-8 b(or)32 b(the)g(shell's)g(purp)s +4977 y(sp)s(ecial)31 b(v)-5 b(alues)31 b(to)g(indicate)g(sp)s(eci\014c) +f(failure)h(mo)s(des.)275 5121 y(F)-8 b(or)32 b(the)g(shell's)g(purp)s (oses,)e(a)j(command)e(whic)m(h)h(exits)g(with)g(a)g(zero)g(exit)h -(status)f(has)f(succeeded.)150 2929 y(A)e(non-zero)h(exit)g(status)g +(status)f(has)f(succeeded.)150 5230 y(A)e(non-zero)h(exit)g(status)g (indicates)g(failure.)40 b(This)28 b(seemingly)i(coun)m(ter-in)m -(tuitiv)m(e)i(sc)m(heme)e(is)f(used)g(so)150 3039 y(there)34 +(tuitiv)m(e)i(sc)m(heme)e(is)f(used)g(so)150 5340 y(there)34 b(is)g(one)g(w)m(ell-de\014ned)g(w)m(a)m(y)g(to)h(indicate)g(success)f (and)f(a)h(v)-5 b(ariet)m(y)35 b(of)f(w)m(a)m(ys)h(to)f(indicate)h(v)-5 -b(arious)150 3148 y(failure)38 b(mo)s(des.)62 b(When)37 -b(a)h(command)f(terminates)i(on)e(a)h(fatal)h(signal)g(whose)e(n)m(um)m -(b)s(er)f(is)i Fr(N)p Fu(,)i(Bash)150 3258 y(uses)30 -b(the)g(v)-5 b(alue)31 b(128)p Ft(+)p Fr(N)42 b Fu(as)30 -b(the)h(exit)g(status.)275 3391 y(If)k(a)h(command)g(is)g(not)g(found,) -g(the)g(c)m(hild)h(pro)s(cess)e(created)i(to)g(execute)g(it)g(returns)d -(a)j(status)f(of)150 3501 y(127.)42 b(If)30 b(a)h(command)f(is)g(found) -f(but)h(is)g(not)h(executable,)h(the)f(return)e(status)i(is)f(126.)275 -3634 y(If)i(a)i(command)f(fails)g(b)s(ecause)g(of)h(an)f(error)f -(during)g(expansion)h(or)g(redirection,)i(the)f(exit)g(status)150 -3743 y(is)c(greater)i(than)e(zero.)275 3877 y(The)38 -b(exit)h(status)g(is)g(used)f(b)m(y)g(the)h(Bash)g(conditional)h -(commands)e(\(see)h(Section)h(3.2.4.2)h([Con-)150 3986 -y(ditional)i(Constructs],)h(page)f(11\))g(and)e(some)i(of)f(the)g(list) -g(constructs)g(\(see)h(Section)f(3.2.3)i([Lists],)150 -4096 y(page)31 b(9\).)275 4229 y(All)40 b(of)g(the)h(Bash)f(builtins)f -(return)g(an)h(exit)h(status)g(of)f(zero)h(if)f(they)g(succeed)g(and)g -(a)g(non-zero)150 4339 y(status)34 b(on)f(failure,)i(so)f(they)g(ma)m -(y)g(b)s(e)f(used)g(b)m(y)g(the)h(conditional)h(and)e(list)h -(constructs.)50 b(All)35 b(builtins)150 4448 y(return)e(an)i(exit)g -(status)g(of)f(2)h(to)g(indicate)h(incorrect)f(usage,)h(generally)g(in) -m(v)-5 b(alid)35 b(options)g(or)f(missing)150 4558 y(argumen)m(ts.)150 -4755 y Fk(3.7.6)63 b(Signals)150 4902 y Fu(When)36 b(Bash)g(is)h(in)m +b(arious)p eop end +%%Page: 41 47 +TeXDict begin 41 46 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(41)150 299 +y(failure)38 b(mo)s(des.)62 b(When)37 b(a)h(command)f(terminates)i(on)e +(a)h(fatal)h(signal)g(whose)e(n)m(um)m(b)s(er)f(is)i +Fr(N)p Fu(,)i(Bash)150 408 y(uses)30 b(the)g(v)-5 b(alue)31 +b(128)p Ft(+)p Fr(N)42 b Fu(as)30 b(the)h(exit)g(status.)275 +537 y(If)k(a)h(command)g(is)g(not)g(found,)g(the)g(c)m(hild)h(pro)s +(cess)e(created)i(to)g(execute)g(it)g(returns)d(a)j(status)f(of)150 +647 y(127.)42 b(If)30 b(a)h(command)f(is)g(found)f(but)h(is)g(not)h +(executable,)h(the)f(return)e(status)i(is)f(126.)275 +776 y(If)i(a)i(command)f(fails)g(b)s(ecause)g(of)h(an)f(error)f(during) +g(expansion)h(or)g(redirection,)i(the)f(exit)g(status)150 +885 y(is)c(greater)i(than)e(zero.)275 1014 y(The)38 b(exit)h(status)g +(is)g(used)f(b)m(y)g(the)h(Bash)g(conditional)h(commands)e(\(see)h +(Section)h(3.2.4.2)h([Con-)150 1123 y(ditional)i(Constructs],)h(page)f +(11\))g(and)e(some)i(of)f(the)g(list)g(constructs)g(\(see)h(Section)f +(3.2.3)i([Lists],)150 1233 y(page)31 b(9\).)275 1362 +y(All)40 b(of)g(the)h(Bash)f(builtins)f(return)g(an)h(exit)h(status)g +(of)f(zero)h(if)f(they)g(succeed)g(and)g(a)g(non-zero)150 +1471 y(status)34 b(on)f(failure,)i(so)f(they)g(ma)m(y)g(b)s(e)f(used)g +(b)m(y)g(the)h(conditional)h(and)e(list)h(constructs.)50 +b(All)35 b(builtins)150 1581 y(return)e(an)i(exit)g(status)g(of)f(2)h +(to)g(indicate)h(incorrect)f(usage,)h(generally)g(in)m(v)-5 +b(alid)35 b(options)g(or)f(missing)150 1691 y(argumen)m(ts.)150 +1878 y Fk(3.7.6)63 b(Signals)150 2025 y Fu(When)36 b(Bash)g(is)h(in)m (teractiv)m(e,)j(in)c(the)h(absence)f(of)h(an)m(y)f(traps,)i(it)e (ignores)h Ft(SIGTERM)d Fu(\(so)j(that)g(`)p Ft(kill)150 -5011 y(0)p Fu(')c(do)s(es)g(not)g(kill)g(an)g(in)m(teractiv)m(e)j +2135 y(0)p Fu(')c(do)s(es)g(not)g(kill)g(an)g(in)m(teractiv)m(e)j (shell\),)f(and)d Ft(SIGINT)f Fu(is)i(caugh)m(t)h(and)f(handled)f(\(so) -h(that)h(the)f Ft(wait)150 5121 y Fu(builtin)24 b(is)h(in)m +h(that)h(the)f Ft(wait)150 2244 y Fu(builtin)24 b(is)h(in)m (terruptible\).)39 b(When)24 b(Bash)g(receiv)m(es)j(a)d Ft(SIGINT)p Fu(,)h(it)g(breaks)f(out)h(of)f(an)m(y)h(executing)h(lo)s -(ops.)150 5230 y(In)31 b(all)h(cases,)h(Bash)f(ignores)g +(ops.)150 2354 y(In)31 b(all)h(cases,)h(Bash)f(ignores)g Ft(SIGQUIT)p Fu(.)42 b(If)32 b(job)f(con)m(trol)i(is)e(in)h(e\013ect)h -(\(see)f(Chapter)f(7)h([Job)g(Con)m(trol],)150 5340 y(page)f(102\),)h +(\(see)f(Chapter)f(7)h([Job)g(Con)m(trol],)150 2464 y(page)f(102\),)h (Bash)f(ignores)g Ft(SIGTTIN)p Fu(,)d Ft(SIGTTOU)p Fu(,)h(and)h -Ft(SIGTSTP)p Fu(.)p eop end -%%Page: 41 47 -TeXDict begin 41 46 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(41)275 299 -y(Non-builtin)31 b(commands)g(started)g(b)m(y)g(Bash)h(ha)m(v)m(e)g -(signal)g(handlers)e(set)i(to)g(the)g(v)-5 b(alues)31 -b(inherited)150 408 y(b)m(y)37 b(the)h(shell)g(from)f(its)h(paren)m(t.) -62 b(When)38 b(job)f(con)m(trol)i(is)e(not)h(in)f(e\013ect,)k(async)m -(hronous)c(commands)150 518 y(ignore)f Ft(SIGINT)e Fu(and)h -Ft(SIGQUIT)e Fu(in)j(addition)f(to)i(these)f(inherited)f(handlers.)55 -b(Commands)35 b(run)f(as)i(a)150 628 y(result)27 b(of)h(command)f -(substitution)h(ignore)g(the)g(k)m(eyb)s(oard-generated)g(job)g(con)m -(trol)h(signals)f Ft(SIGTTIN)p Fu(,)150 737 y Ft(SIGTTOU)p -Fu(,)h(and)g Ft(SIGTSTP)p Fu(.)275 882 y(The)h(shell)i(exits)g(b)m(y)f -(default)g(up)s(on)f(receipt)i(of)f(a)h Ft(SIGHUP)p Fu(.)42 -b(Before)32 b(exiting,)h(an)e(in)m(teractiv)m(e)j(shell)150 -992 y(resends)41 b(the)i Ft(SIGHUP)e Fu(to)i(all)g(jobs,)i(running)c -(or)h(stopp)s(ed.)76 b(Stopp)s(ed)41 b(jobs)h(are)h(sen)m(t)g -Ft(SIGCONT)d Fu(to)150 1101 y(ensure)32 b(that)h(they)g(receiv)m(e)i +Ft(SIGTSTP)p Fu(.)275 2592 y(Non-builtin)h(commands)g(started)g(b)m(y)g +(Bash)h(ha)m(v)m(e)g(signal)g(handlers)e(set)i(to)g(the)g(v)-5 +b(alues)31 b(inherited)150 2702 y(b)m(y)37 b(the)h(shell)g(from)f(its)h +(paren)m(t.)62 b(When)38 b(job)f(con)m(trol)i(is)e(not)h(in)f +(e\013ect,)k(async)m(hronous)c(commands)150 2812 y(ignore)f +Ft(SIGINT)e Fu(and)h Ft(SIGQUIT)e Fu(in)j(addition)f(to)i(these)f +(inherited)f(handlers.)55 b(Commands)35 b(run)f(as)i(a)150 +2921 y(result)27 b(of)h(command)f(substitution)h(ignore)g(the)g(k)m +(eyb)s(oard-generated)g(job)g(con)m(trol)h(signals)f +Ft(SIGTTIN)p Fu(,)150 3031 y Ft(SIGTTOU)p Fu(,)h(and)g +Ft(SIGTSTP)p Fu(.)275 3160 y(The)h(shell)i(exits)g(b)m(y)f(default)g +(up)s(on)f(receipt)i(of)f(a)h Ft(SIGHUP)p Fu(.)42 b(Before)32 +b(exiting,)h(an)e(in)m(teractiv)m(e)j(shell)150 3269 +y(resends)41 b(the)i Ft(SIGHUP)e Fu(to)i(all)g(jobs,)i(running)c(or)h +(stopp)s(ed.)76 b(Stopp)s(ed)41 b(jobs)h(are)h(sen)m(t)g +Ft(SIGCONT)d Fu(to)150 3379 y(ensure)32 b(that)h(they)g(receiv)m(e)i (the)e Ft(SIGHUP)p Fu(.)47 b(T)-8 b(o)33 b(prev)m(en)m(t)g(the)g(shell) -g(from)g(sending)f(the)h Ft(SIGHUP)e Fu(signal)150 1211 +g(from)g(sending)f(the)h Ft(SIGHUP)e Fu(signal)150 3488 y(to)i(a)g(particular)g(job,)g(it)g(should)f(b)s(e)g(remo)m(v)m(ed)h (from)g(the)f(jobs)g(table)i(with)e(the)h Ft(disown)e -Fu(builtin)h(\(see)150 1320 y(Section)c(7.2)g([Job)e(Con)m(trol)i +Fu(builtin)h(\(see)150 3598 y(Section)c(7.2)g([Job)e(Con)m(trol)i (Builtins],)g(page)g(103\))h(or)e(mark)m(ed)g(to)g(not)g(receiv)m(e)i -Ft(SIGHUP)c Fu(using)i Ft(disown)150 1430 y(-h)p Fu(.)275 -1575 y(If)38 b(the)h Ft(huponexit)e Fu(shell)i(option)g(has)g(b)s(een)f +Ft(SIGHUP)c Fu(using)i Ft(disown)150 3707 y(-h)p Fu(.)275 +3836 y(If)38 b(the)h Ft(huponexit)e Fu(shell)i(option)g(has)g(b)s(een)f (set)i(with)f Ft(shopt)e Fu(\(see)j(Section)g(4.3.2)h([The)e(Shopt)150 -1684 y(Builtin],)31 b(page)g(65\),)h(Bash)f(sends)e(a)i +3946 y(Builtin],)31 b(page)g(65\),)h(Bash)f(sends)e(a)i Ft(SIGHUP)e Fu(to)i(all)g(jobs)f(when)f(an)i(in)m(teractiv)m(e)i(login) -e(shell)g(exits.)275 1829 y(If)38 b(Bash)h(is)g(w)m(aiting)h(for)f(a)g +e(shell)g(exits.)275 4075 y(If)38 b(Bash)h(is)g(w)m(aiting)h(for)f(a)g (command)f(to)i(complete)g(and)e(receiv)m(es)j(a)e(signal)h(for)e(whic) -m(h)h(a)g(trap)150 1939 y(has)c(b)s(een)f(set,)i(the)f(trap)g(will)g +m(h)h(a)g(trap)150 4184 y(has)c(b)s(een)f(set,)i(the)f(trap)g(will)g (not)g(b)s(e)f(executed)i(un)m(til)f(the)g(command)f(completes.)55 -b(When)35 b(Bash)g(is)150 2048 y(w)m(aiting)j(for)f(an)g(async)m +b(When)35 b(Bash)g(is)150 4294 y(w)m(aiting)j(for)f(an)g(async)m (hronous)g(command)g(via)h(the)f Ft(wait)f Fu(builtin,)i(the)g -(reception)g(of)f(a)g(signal)h(for)150 2158 y(whic)m(h)d(a)g(trap)g +(reception)g(of)f(a)g(signal)h(for)150 4403 y(whic)m(h)d(a)g(trap)g (has)g(b)s(een)f(set)h(will)h(cause)f(the)g Ft(wait)f Fu(builtin)h(to)g(return)f(immediately)i(with)f(an)g(exit)150 -2267 y(status)c(greater)g(than)f(128,)i(immediately)g(after)f(whic)m(h) -f(the)h(trap)f(is)g(executed.)150 2524 y Fs(3.8)68 b(Shell)45 -b(Scripts)150 2683 y Fu(A)30 b(shell)f(script)h(is)f(a)h(text)h(\014le) +4513 y(status)c(greater)g(than)f(128,)i(immediately)g(after)f(whic)m(h) +f(the)h(trap)f(is)g(executed.)150 4742 y Fs(3.8)68 b(Shell)45 +b(Scripts)150 4902 y Fu(A)30 b(shell)f(script)h(is)f(a)h(text)h(\014le) f(con)m(taining)h(shell)f(commands.)40 b(When)29 b(suc)m(h)g(a)h -(\014le)g(is)f(used)g(as)h(the)g(\014rst)150 2792 y(non-option)c +(\014le)g(is)f(used)g(as)h(the)g(\014rst)150 5011 y(non-option)c (argumen)m(t)h(when)e(in)m(v)m(oking)i(Bash,)g(and)f(neither)g(the)g Ft(-c)g Fu(nor)f Ft(-s)h Fu(option)g(is)g(supplied)f(\(see)150 -2902 y(Section)39 b(6.1)g([In)m(v)m(oking)g(Bash],)h(page)f(84\),)i +5121 y(Section)39 b(6.1)g([In)m(v)m(oking)g(Bash],)h(page)f(84\),)i (Bash)d(reads)g(and)f(executes)i(commands)f(from)f(the)i(\014le,)150 -3012 y(then)32 b(exits.)46 b(This)32 b(mo)s(de)f(of)i(op)s(eration)f +5230 y(then)32 b(exits.)46 b(This)32 b(mo)s(de)f(of)i(op)s(eration)f (creates)i(a)e(non-in)m(teractiv)m(e)j(shell.)46 b(The)31 -b(shell)i(\014rst)e(searc)m(hes)150 3121 y(for)d(the)g(\014le)g(in)g +b(shell)i(\014rst)e(searc)m(hes)150 5340 y(for)d(the)g(\014le)g(in)g (the)g(curren)m(t)f(directory)-8 b(,)30 b(and)d(lo)s(oks)i(in)e(the)i -(directories)g(in)e Ft($PATH)g Fu(if)h(not)g(found)e(there.)275 -3266 y(When)34 b(Bash)h(runs)e(a)i(shell)g(script,)g(it)h(sets)f(the)f -(sp)s(ecial)i(parameter)f Ft(0)f Fu(to)h(the)g(name)g(of)g(the)g -(\014le,)150 3376 y(rather)k(than)g(the)h(name)f(of)h(the)f(shell,)j -(and)d(the)h(p)s(ositional)g(parameters)f(are)h(set)g(to)g(the)g -(remain-)150 3485 y(ing)f(argumen)m(ts,)j(if)d(an)m(y)g(are)g(giv)m -(en.)67 b(If)39 b(no)g(additional)g(argumen)m(ts)h(are)f(supplied,)h -(the)f(p)s(ositional)150 3595 y(parameters)31 b(are)f(unset.)275 -3740 y(A)39 b(shell)h(script)f(ma)m(y)h(b)s(e)f(made)h(executable)h(b)m +(directories)g(in)e Ft($PATH)g Fu(if)h(not)g(found)e(there.)p +eop end +%%Page: 42 48 +TeXDict begin 42 47 bop 150 -116 a Fu(Chapter)30 b(3:)41 +b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(42)275 299 +y(When)34 b(Bash)h(runs)e(a)i(shell)g(script,)g(it)h(sets)f(the)f(sp)s +(ecial)i(parameter)f Ft(0)f Fu(to)h(the)g(name)g(of)g(the)g(\014le,)150 +408 y(rather)k(than)g(the)h(name)f(of)h(the)f(shell,)j(and)d(the)h(p)s +(ositional)g(parameters)f(are)h(set)g(to)g(the)g(remain-)150 +518 y(ing)f(argumen)m(ts,)j(if)d(an)m(y)g(are)g(giv)m(en.)67 +b(If)39 b(no)g(additional)g(argumen)m(ts)h(are)f(supplied,)h(the)f(p)s +(ositional)150 628 y(parameters)31 b(are)f(unset.)275 +762 y(A)39 b(shell)h(script)f(ma)m(y)h(b)s(e)f(made)h(executable)h(b)m (y)e(using)g(the)h Ft(chmod)e Fu(command)h(to)h(turn)e(on)i(the)150 -3849 y(execute)j(bit.)73 b(When)41 b(Bash)g(\014nds)e(suc)m(h)i(a)h +872 y(execute)j(bit.)73 b(When)41 b(Bash)g(\014nds)e(suc)m(h)i(a)h (\014le)f(while)g(searc)m(hing)h(the)f Ft($PATH)f Fu(for)h(a)h -(command,)h(it)150 3959 y(spa)m(wns)30 b(a)g(subshell)g(to)h(execute)h -(it.)41 b(In)30 b(other)g(w)m(ords,)g(executing)390 4103 -y Ft(filename)46 b Fj(arguments)150 4248 y Fu(is)30 b(equiv)-5 -b(alen)m(t)32 b(to)f(executing)390 4393 y Ft(bash)47 -b(filename)e Fj(arguments)150 4538 y Fu(if)30 b Ft(filename)d +(command,)h(it)150 981 y(spa)m(wns)30 b(a)g(subshell)g(to)h(execute)h +(it.)41 b(In)30 b(other)g(w)m(ords,)g(executing)390 1116 +y Ft(filename)46 b Fj(arguments)150 1250 y Fu(is)30 b(equiv)-5 +b(alen)m(t)32 b(to)f(executing)390 1385 y Ft(bash)47 +b(filename)e Fj(arguments)150 1519 y Fu(if)30 b Ft(filename)d Fu(is)j(an)f(executable)j(shell)e(script.)40 b(This)29 b(subshell)g(reinitializes)i(itself,)g(so)f(that)h(the)e(e\013ect)150 -4647 y(is)36 b(as)h(if)g(a)f(new)g(shell)h(had)f(b)s(een)g(in)m(v)m(ok) +1629 y(is)36 b(as)h(if)g(a)f(new)g(shell)h(had)f(b)s(een)g(in)m(v)m(ok) m(ed)h(to)h(in)m(terpret)e(the)h(script,)h(with)e(the)h(exception)h -(that)f(the)150 4757 y(lo)s(cations)25 b(of)g(commands)e(remem)m(b)s +(that)f(the)150 1738 y(lo)s(cations)25 b(of)g(commands)e(remem)m(b)s (ered)h(b)m(y)g(the)g(paren)m(t)g(\(see)h(the)f(description)g(of)g -Ft(hash)f Fu(in)h(Section)h(4.1)150 4866 y([Bourne)30 +Ft(hash)f Fu(in)h(Section)h(4.1)150 1848 y([Bourne)30 b(Shell)h(Builtins],)g(page)g(43\))h(are)e(retained)h(b)m(y)f(the)h(c)m -(hild.)275 5011 y(Most)36 b(v)m(ersions)g(of)g(Unix)f(mak)m(e)h(this)g +(hild.)275 1983 y(Most)36 b(v)m(ersions)g(of)g(Unix)f(mak)m(e)h(this)g (a)g(part)f(of)h(the)g(op)s(erating)g(system's)f(command)h(execution) -150 5121 y(mec)m(hanism.)50 b(If)33 b(the)g(\014rst)g(line)h(of)f(a)h +150 2092 y(mec)m(hanism.)50 b(If)33 b(the)g(\014rst)g(line)h(of)f(a)h (script)f(b)s(egins)g(with)g(the)g(t)m(w)m(o)i(c)m(haracters)g(`)p -Ft(#!)p Fu(',)f(the)g(remainder)150 5230 y(of)d(the)g(line)h(sp)s +Ft(#!)p Fu(',)f(the)g(remainder)150 2202 y(of)d(the)g(line)h(sp)s (eci\014es)e(an)h(in)m(terpreter)g(for)g(the)g(program.)43 b(Th)m(us,)30 b(y)m(ou)h(can)h(sp)s(ecify)e(Bash,)i Ft(awk)p -Fu(,)e(P)m(erl,)150 5340 y(or)g(some)h(other)g(in)m(terpreter)g(and)e +Fu(,)e(P)m(erl,)150 2311 y(or)g(some)h(other)g(in)m(terpreter)g(and)e (write)i(the)f(rest)h(of)g(the)f(script)g(\014le)h(in)f(that)h -(language.)p eop end -%%Page: 42 48 -TeXDict begin 42 47 bop 150 -116 a Fu(Chapter)30 b(3:)41 -b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(42)275 299 -y(The)40 b(argumen)m(ts)h(to)g(the)g(in)m(terpreter)g(consist)g(of)g(a) -g(single)h(optional)f(argumen)m(t)h(follo)m(wing)g(the)150 -408 y(in)m(terpreter)33 b(name)h(on)f(the)g(\014rst)f(line)i(of)f(the)g -(script)g(\014le,)h(follo)m(w)m(ed)h(b)m(y)e(the)g(name)g(of)g(the)h -(script)f(\014le,)150 518 y(follo)m(w)m(ed)g(b)m(y)f(the)f(rest)h(of)g -(the)f(argumen)m(ts.)45 b(Bash)31 b(will)h(p)s(erform)e(this)i(action)h -(on)e(op)s(erating)h(systems)150 628 y(that)24 b(do)g(not)f(handle)g -(it)h(themselv)m(es.)40 b(Note)25 b(that)f(some)g(older)g(v)m(ersions)f -(of)h(Unix)f(limit)i(the)f(in)m(terpreter)150 737 y(name)30 -b(and)g(argumen)m(t)h(to)g(a)g(maxim)m(um)f(of)h(32)g(c)m(haracters.) -275 872 y(Bash)h(scripts)g(often)g(b)s(egin)g(with)g -Ft(#!)e(/bin/bash)g Fu(\(assuming)i(that)h(Bash)f(has)g(b)s(een)f -(installed)i(in)150 981 y Ft(/bin)p Fu(\),)26 b(since)h(this)f(ensures) -f(that)i(Bash)f(will)h(b)s(e)f(used)f(to)i(in)m(terpret)f(the)h -(script,)g(ev)m(en)g(if)f(it)h(is)f(executed)150 1091 -y(under)j(another)h(shell.)p eop end +(language.)275 2446 y(The)40 b(argumen)m(ts)h(to)g(the)g(in)m +(terpreter)g(consist)g(of)g(a)g(single)h(optional)f(argumen)m(t)h +(follo)m(wing)g(the)150 2555 y(in)m(terpreter)33 b(name)h(on)f(the)g +(\014rst)f(line)i(of)f(the)g(script)g(\014le,)h(follo)m(w)m(ed)h(b)m(y) +e(the)g(name)g(of)g(the)h(script)f(\014le,)150 2665 y(follo)m(w)m(ed)g +(b)m(y)f(the)f(rest)h(of)g(the)f(argumen)m(ts.)45 b(Bash)31 +b(will)h(p)s(erform)e(this)i(action)h(on)e(op)s(erating)h(systems)150 +2775 y(that)24 b(do)g(not)f(handle)g(it)h(themselv)m(es.)40 +b(Note)25 b(that)f(some)g(older)g(v)m(ersions)f(of)h(Unix)f(limit)i +(the)f(in)m(terpreter)150 2884 y(name)30 b(and)g(argumen)m(t)h(to)g(a)g +(maxim)m(um)f(of)h(32)g(c)m(haracters.)275 3019 y(Bash)h(scripts)g +(often)g(b)s(egin)g(with)g Ft(#!)e(/bin/bash)g Fu(\(assuming)i(that)h +(Bash)f(has)g(b)s(een)f(installed)i(in)150 3128 y Ft(/bin)p +Fu(\),)26 b(since)h(this)f(ensures)f(that)i(Bash)f(will)h(b)s(e)f(used) +f(to)i(in)m(terpret)f(the)h(script,)g(ev)m(en)g(if)f(it)h(is)f +(executed)150 3238 y(under)j(another)h(shell.)p eop end %%Page: 43 49 TeXDict begin 43 48 bop 3659 -116 a Fu(43)150 299 y Fp(4)80 b(Shell)53 b(Builtin)f(Commands)150 499 y Fu(Builtin)34 @@ -12202,10 +12262,10 @@ Fj(n)p Ft(])630 940 y Fu(Exit)31 b(a)g(login)g(shell,)g(returning)e(a)i (status)g(of)f Fr(n)g Fu(to)h(the)g(shell's)f(paren)m(t.)150 1096 y Ft(mapfile)870 1229 y(mapfile)46 b([-d)h Fj(delim)p Ft(])f([-n)h Fj(count)p Ft(])f([-O)h Fj(origin)p Ft(])f([-s)g -Fj(count)p Ft(])h([-t])f([-u)h Fj(fd)p Ft(])1061 1338 -y([-C)g Fj(callback)p Ft(])e([-c)i Fj(quantum)p Ft(])f([)p -Fj(array)p Ft(])630 1471 y Fu(Read)38 b(lines)f(from)g(the)h(standard)e -(input)g(in)m(to)j(the)e(indexed)g(arra)m(y)h(v)-5 b(ariable)38 +Fj(count)p Ft(])1061 1338 y([-t])h([-u)f Fj(fd)p Ft(])h([-C)g +Fj(callback)p Ft(])f([-c)g Fj(quantum)p Ft(])g([)p Fj(array)p +Ft(])630 1471 y Fu(Read)38 b(lines)f(from)g(the)h(standard)e(input)g +(in)m(to)j(the)e(indexed)g(arra)m(y)h(v)-5 b(ariable)38 b Fr(arra)m(y)p Fu(,)i(or)630 1581 y(from)28 b(\014le)h(descriptor)f Fr(fd)k Fu(if)c(the)h Ft(-u)f Fu(option)h(is)g(supplied.)39 b(The)28 b(v)-5 b(ariable)29 b Ft(MAPFILE)e Fu(is)i(the)630 @@ -12430,33 +12490,33 @@ Fr(fd)p Fu(.)p eop end TeXDict begin 59 64 bop 150 -116 a Fu(Chapter)30 b(4:)41 b(Shell)30 b(Builtin)h(Commands)2069 b(59)150 299 y Ft(readarray)870 408 y(readarray)45 b([-d)i Fj(delim)p Ft(])f([-n)h Fj(count)p -Ft(])f([-O)h Fj(origin)p Ft(])f([-s)h Fj(count)p Ft(])f([-t])h([-u)g -Fj(fd)p Ft(])1061 518 y([-C)g Fj(callback)p Ft(])e([-c)i -Fj(quantum)p Ft(])f([)p Fj(array)p Ft(])630 650 y Fu(Read)38 -b(lines)f(from)g(the)h(standard)e(input)g(in)m(to)j(the)e(indexed)g -(arra)m(y)h(v)-5 b(ariable)38 b Fr(arra)m(y)p Fu(,)i(or)630 -760 y(from)30 b(\014le)g(descriptor)h Fr(fd)i Fu(if)d(the)h -Ft(-u)e Fu(option)i(is)g(supplied.)630 892 y(A)f(synon)m(ym)g(for)g -Ft(mapfile)p Fu(.)150 1047 y Ft(source)870 1179 y(source)46 -b Fj(filename)630 1312 y Fu(A)30 b(synon)m(ym)g(for)g -Ft(.)g Fu(\(see)i(Section)f(4.1)g([Bourne)g(Shell)f(Builtins],)h(page)g -(43\).)150 1467 y Ft(type)870 1599 y(type)47 b([-afptP])e([)p -Fj(name)i Ft(...)o(])630 1731 y Fu(F)-8 b(or)42 b(eac)m(h)g -Fr(name)p Fu(,)i(indicate)e(ho)m(w)g(it)f(w)m(ould)g(b)s(e)g(in)m -(terpreted)g(if)g(used)f(as)i(a)f(command)630 1841 y(name.)630 -1973 y(If)g(the)g Ft(-t)g Fu(option)h(is)f(used,)j Ft(type)c -Fu(prin)m(ts)h(a)h(single)g(w)m(ord)f(whic)m(h)g(is)g(one)h(of)g(`)p -Ft(alias)p Fu(',)630 2083 y(`)p Ft(function)p Fu(',)32 -b(`)p Ft(builtin)p Fu(',)g(`)p Ft(file)p Fu(')g(or)h(`)p -Ft(keyword)p Fu(',)f(if)h Fr(name)38 b Fu(is)33 b(an)f(alias,)j(shell)e -(function,)630 2192 y(shell)i(builtin,)g(disk)g(\014le,)h(or)e(shell)h -(reserv)m(ed)g(w)m(ord,)h(resp)s(ectiv)m(ely)-8 b(.)55 -b(If)34 b(the)h Fr(name)40 b Fu(is)35 b(not)630 2302 -y(found,)29 b(then)h(nothing)h(is)f(prin)m(ted,)g(and)g -Ft(type)f Fu(returns)g(a)i(failure)g(status.)630 2434 -y(If)25 b(the)g Ft(-p)g Fu(option)h(is)f(used,)h Ft(type)e -Fu(either)h(returns)g(the)g(name)g(of)h(the)f(disk)g(\014le)g(that)h(w) -m(ould)630 2544 y(b)s(e)k(executed,)h(or)g(nothing)f(if)g +Ft(])f([-O)h Fj(origin)p Ft(])f([-s)h Fj(count)p Ft(])1061 +518 y([-t])g([-u)f Fj(fd)p Ft(])h([-C)g Fj(callback)p +Ft(])f([-c)g Fj(quantum)p Ft(])g([)p Fj(array)p Ft(])630 +650 y Fu(Read)38 b(lines)f(from)g(the)h(standard)e(input)g(in)m(to)j +(the)e(indexed)g(arra)m(y)h(v)-5 b(ariable)38 b Fr(arra)m(y)p +Fu(,)i(or)630 760 y(from)30 b(\014le)g(descriptor)h Fr(fd)i +Fu(if)d(the)h Ft(-u)e Fu(option)i(is)g(supplied.)630 +892 y(A)f(synon)m(ym)g(for)g Ft(mapfile)p Fu(.)150 1047 +y Ft(source)870 1179 y(source)46 b Fj(filename)630 1312 +y Fu(A)30 b(synon)m(ym)g(for)g Ft(.)g Fu(\(see)i(Section)f(4.1)g +([Bourne)g(Shell)f(Builtins],)h(page)g(43\).)150 1467 +y Ft(type)870 1599 y(type)47 b([-afptP])e([)p Fj(name)i +Ft(...)o(])630 1731 y Fu(F)-8 b(or)42 b(eac)m(h)g Fr(name)p +Fu(,)i(indicate)e(ho)m(w)g(it)f(w)m(ould)g(b)s(e)g(in)m(terpreted)g(if) +g(used)f(as)i(a)f(command)630 1841 y(name.)630 1973 y(If)g(the)g +Ft(-t)g Fu(option)h(is)f(used,)j Ft(type)c Fu(prin)m(ts)h(a)h(single)g +(w)m(ord)f(whic)m(h)g(is)g(one)h(of)g(`)p Ft(alias)p +Fu(',)630 2083 y(`)p Ft(function)p Fu(',)32 b(`)p Ft(builtin)p +Fu(',)g(`)p Ft(file)p Fu(')g(or)h(`)p Ft(keyword)p Fu(',)f(if)h +Fr(name)38 b Fu(is)33 b(an)f(alias,)j(shell)e(function,)630 +2192 y(shell)i(builtin,)g(disk)g(\014le,)h(or)e(shell)h(reserv)m(ed)g +(w)m(ord,)h(resp)s(ectiv)m(ely)-8 b(.)55 b(If)34 b(the)h +Fr(name)40 b Fu(is)35 b(not)630 2302 y(found,)29 b(then)h(nothing)h(is) +f(prin)m(ted,)g(and)g Ft(type)f Fu(returns)g(a)i(failure)g(status.)630 +2434 y(If)25 b(the)g Ft(-p)g Fu(option)h(is)f(used,)h +Ft(type)e Fu(either)h(returns)g(the)g(name)g(of)h(the)f(disk)g(\014le)g +(that)h(w)m(ould)630 2544 y(b)s(e)k(executed,)h(or)g(nothing)f(if)g Ft(-t)g Fu(w)m(ould)g(not)h(return)e(`)p Ft(file)p Fu('.)630 2676 y(The)h Ft(-P)g Fu(option)h(forces)g(a)g(path)f(searc)m(h)h(for)g (eac)m(h)g Fr(name)p Fu(,)g(ev)m(en)g(if)g Ft(-t)f Fu(w)m(ould)g(not)h @@ -12628,7 +12688,7 @@ Ft(-e)f Fu(w)m(as)i(b)s(eing)e(ignored,)j(the)e(shell)g(do)s(es)g(not) 5011 y(This)f(option)h(applies)f(to)h(the)g(shell)g(en)m(vironmen)m(t)g (and)f(eac)m(h)h(subshell)f(en-)1110 5121 y(vironmen)m(t)j(separately)i (\(see)f(Section)g(3.7.3)h([Command)d(Execution)i(En-)1110 -5230 y(vironmen)m(t],)i(page)f(38\),)i(and)d(ma)m(y)h(cause)f +5230 y(vironmen)m(t],)i(page)f(39\),)i(and)d(ma)m(y)h(cause)f (subshells)g(to)h(exit)g(b)s(efore)f(exe-)1110 5340 y(cuting)d(all)g (the)g(commands)f(in)g(the)g(subshell.)p eop end %%Page: 62 68 @@ -12762,7 +12822,7 @@ b(resultan)m(t)h(v)-5 b(alue)24 b(is)g(prin)m(ted)g(b)s(efore)f(the)h (command)g(and)f(its)i(expanded)1110 1275 y(argumen)m(ts.)630 1435 y Ft(-B)384 b Fu(The)41 b(shell)g(will)g(p)s(erform)f(brace)h (expansion)g(\(see)h(Section)g(3.5.1)g([Brace)1110 1544 -y(Expansion],)30 b(page)h(22\).)42 b(This)30 b(option)h(is)f(on)g(b)m +y(Expansion],)30 b(page)h(23\).)42 b(This)30 b(option)h(is)f(on)g(b)m (y)h(default.)630 1704 y Ft(-C)384 b Fu(Prev)m(en)m(t)25 b(output)e(redirection)h(using)f(`)p Ft(>)p Fu(',)i(`)p Ft(>&)p Fu(',)g(and)e(`)p Ft(<>)p Fu(')g(from)h(o)m(v)m(erwriting)1110 @@ -13078,7 +13138,7 @@ b(tracing)i(is)f(enabled:)63 b(command)42 b(substitution,)i(shell)f Ft(ERR)1290 3915 y Fu(trap.)630 4080 y Ft(extglob)144 b Fu(If)26 b(set,)i(the)f(extended)f(pattern)h(matc)m(hing)g(features)g (describ)s(ed)e(ab)s(o)m(v)m(e)j(\(see)1110 4189 y(Section)j(3.5.8.1)i -([P)m(attern)f(Matc)m(hing],)g(page)f(32\))h(are)f(enabled.)630 +([P)m(attern)f(Matc)m(hing],)g(page)f(33\))h(are)f(enabled.)630 4354 y Ft(extquote)96 b Fu(If)51 b(set,)58 b Ft($')p Fj(string)p Ft(')49 b Fu(and)i Ft($")p Fj(string)p Ft(")e Fu(quoting)k(is)e(p)s(erformed)f(within)1110 4463 y Ft(${)p @@ -13101,7 +13161,7 @@ Ft(FIGNORE)p Fu(.)37 b(This)22 b(option)1110 408 y(is)30 b(enabled)h(b)m(y)f(default.)630 603 y Ft(globasciiranges)1110 713 y Fu(If)j(set,)h(range)f(expressions)g(used)f(in)h(pattern)g(matc)m (hing)h(brac)m(k)m(et)h(expres-)1110 822 y(sions)28 b(\(see)h(Section)h -(3.5.8.1)g([P)m(attern)g(Matc)m(hing],)h(page)e(32\))g(b)s(eha)m(v)m(e) +(3.5.8.1)g([P)m(attern)g(Matc)m(hing],)h(page)e(33\))g(b)s(eha)m(v)m(e) g(as)g(if)1110 932 y(in)i(the)g(traditional)i(C)d(lo)s(cale)j(when)d(p) s(erforming)g(comparisons.)44 b(That)31 b(is,)1110 1042 y(the)d(curren)m(t)g(lo)s(cale's)i(collating)h(sequence)d(is)h(not)f @@ -13141,7 +13201,7 @@ y Ft(hostcomplete)1110 4074 y Fu(If)38 b(set,)j(and)c(Readline)i(is)f 630 4597 y Ft(huponexit)1110 4707 y Fu(If)i(set,)i(Bash)f(will)h(send)d Ft(SIGHUP)h Fu(to)h(all)h(jobs)e(when)g(an)g(in)m(teractiv)m(e)k(login) 1110 4816 y(shell)31 b(exits)g(\(see)g(Section)g(3.7.6)h([Signals],)g -(page)f(40\).)630 5011 y Ft(inherit_errexit)1110 5121 +(page)f(41\).)630 5011 y Ft(inherit_errexit)1110 5121 y Fu(If)e(set,)h(command)g(substitution)f(inherits)g(the)g(v)-5 b(alue)30 b(of)g(the)f Ft(errexit)f Fu(op-)1110 5230 y(tion,)33 b(instead)g(of)f(unsetting)g(it)h(in)f(the)g(subshell)f(en)m @@ -13342,817 +13402,828 @@ b(ariable)36 b(is)f(in)f(the)h(en)m(vironmen)m(t)g(when)f(Bash)630 737 y(starts)25 b(up,)f(eac)m(h)i(shell)e(option)h(in)e(the)i(list)g (will)f(b)s(e)g(enabled)g(b)s(efore)g(reading)g(an)m(y)g(startup)630 847 y(\014les.)41 b(This)29 b(v)-5 b(ariable)31 b(is)g(readonly)-8 -b(.)150 1011 y Ft(BASHPID)144 b Fu(Expands)35 b(to)i(the)f(pro)s(cess)f +b(.)150 1044 y Ft(BASHPID)144 b Fu(Expands)35 b(to)i(the)f(pro)s(cess)f (ID)i(of)f(the)g(curren)m(t)g(Bash)g(pro)s(cess.)58 b(This)35 -b(di\013ers)h(from)g Ft($$)630 1121 y Fu(under)31 b(certain)j +b(di\013ers)h(from)g Ft($$)630 1154 y Fu(under)31 b(certain)j (circumstances,)h(suc)m(h)e(as)g(subshells)f(that)i(do)f(not)g(require) -g(Bash)g(to)h(b)s(e)630 1230 y(re-initialized.)57 b(Assignmen)m(ts)35 +g(Bash)g(to)h(b)s(e)630 1263 y(re-initialized.)57 b(Assignmen)m(ts)35 b(to)h Ft(BASHPID)d Fu(ha)m(v)m(e)j(no)f(e\013ect.)56 -b(If)34 b Ft(BASHPID)f Fu(is)i(unset,)h(it)630 1340 y(loses)31 +b(If)34 b Ft(BASHPID)f Fu(is)i(unset,)h(it)630 1373 y(loses)31 b(its)g(sp)s(ecial)g(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)g -(subsequen)m(tly)f(reset.)150 1504 y Ft(BASH_ALIASES)630 -1614 y Fu(An)40 b(asso)s(ciativ)m(e)j(arra)m(y)d(v)-5 +(subsequen)m(tly)f(reset.)150 1570 y Ft(BASH_ALIASES)630 +1680 y Fu(An)40 b(asso)s(ciativ)m(e)j(arra)m(y)d(v)-5 b(ariable)41 b(whose)f(mem)m(b)s(ers)f(corresp)s(ond)g(to)i(the)f(in)m -(ternal)h(list)630 1724 y(of)c(aliases)h(as)f(main)m(tained)g(b)m(y)g +(ternal)h(list)630 1789 y(of)c(aliases)h(as)f(main)m(tained)g(b)m(y)g (the)g Ft(alias)e Fu(builtin.)59 b(\(see)37 b(Section)h(4.1)f([Bourne)g -(Shell)630 1833 y(Builtins],)31 b(page)g(43\).)42 b(Elemen)m(ts)31 +(Shell)630 1899 y(Builtins],)31 b(page)g(43\).)42 b(Elemen)m(ts)31 b(added)e(to)i(this)f(arra)m(y)h(app)s(ear)f(in)g(the)g(alias)h(list;)h -(ho)m(w-)630 1943 y(ev)m(er,)k(unsetting)f(arra)m(y)g(elemen)m(ts)g +(ho)m(w-)630 2008 y(ev)m(er,)k(unsetting)f(arra)m(y)g(elemen)m(ts)g (curren)m(tly)g(do)s(es)f(not)g(cause)h(aliases)h(to)f(b)s(e)f(remo)m -(v)m(ed)630 2052 y(from)25 b(the)h(alias)h(list.)40 b(If)25 +(v)m(ed)630 2118 y(from)25 b(the)h(alias)h(list.)40 b(If)25 b Ft(BASH_ALIASES)d Fu(is)k(unset,)g(it)g(loses)h(its)f(sp)s(ecial)g -(prop)s(erties,)g(ev)m(en)630 2162 y(if)k(it)h(is)g(subsequen)m(tly)f -(reset.)150 2326 y Ft(BASH_ARGC)630 2436 y Fu(An)39 b(arra)m(y)g(v)-5 +(prop)s(erties,)g(ev)m(en)630 2228 y(if)k(it)h(is)g(subsequen)m(tly)f +(reset.)150 2425 y Ft(BASH_ARGC)630 2534 y Fu(An)39 b(arra)m(y)g(v)-5 b(ariable)40 b(whose)f(v)-5 b(alues)39 b(are)h(the)f(n)m(um)m(b)s(er)f -(of)h(parameters)g(in)g(eac)m(h)h(frame)630 2545 y(of)i(the)g(curren)m +(of)h(parameters)g(in)g(eac)m(h)h(frame)630 2644 y(of)i(the)g(curren)m (t)g(bash)f(execution)i(call)g(stac)m(k.)76 b(The)42 -b(n)m(um)m(b)s(er)e(of)i(parameters)g(to)h(the)630 2655 +b(n)m(um)m(b)s(er)e(of)i(parameters)g(to)h(the)630 2754 y(curren)m(t)38 b(subroutine)f(\(shell)i(function)e(or)i(script)f (executed)h(with)e Ft(.)h Fu(or)g Ft(source)p Fu(\))f(is)h(at)630 -2765 y(the)27 b(top)g(of)g(the)g(stac)m(k.)41 b(When)27 +2863 y(the)27 b(top)g(of)g(the)g(stac)m(k.)41 b(When)27 b(a)g(subroutine)f(is)h(executed,)i(the)e(n)m(um)m(b)s(er)f(of)h -(parameters)630 2874 y(passed)44 b(is)h(pushed)e(on)m(to)j +(parameters)630 2973 y(passed)44 b(is)h(pushed)e(on)m(to)j Ft(BASH_ARGC)p Fu(.)81 b(The)44 b(shell)h(sets)g Ft(BASH_ARGC)e -Fu(only)i(when)e(in)630 2984 y(extended)34 b(debugging)f(mo)s(de)g +Fu(only)i(when)e(in)630 3082 y(extended)34 b(debugging)f(mo)s(de)g (\(see)i(Section)f(4.3.2)i([The)d(Shopt)g(Builtin],)i(page)g(65,)g(for) -630 3093 y(a)e(description)g(of)f(the)h Ft(extdebug)d +630 3192 y(a)e(description)g(of)f(the)h Ft(extdebug)d Fu(option)j(to)h(the)e Ft(shopt)g Fu(builtin\).)47 b(Setting)33 -b Ft(extdebug)630 3203 y Fu(after)d(the)f(shell)g(has)g(started)h(to)g -(execute)g(a)g(script)f(ma)m(y)g(result)g(in)g(inconsisten)m(t)h(v)-5 -b(alues.)150 3367 y Ft(BASH_ARGV)630 3477 y Fu(An)24 -b(arra)m(y)g(v)-5 b(ariable)25 b(con)m(taining)h(all)f(of)f(the)h -(parameters)f(in)g(the)g(curren)m(t)g(bash)g(execution)630 -3587 y(call)35 b(stac)m(k.)53 b(The)34 b(\014nal)g(parameter)g(of)g -(the)g(last)h(subroutine)e(call)i(is)f(at)h(the)f(top)h(of)f(the)630 -3696 y(stac)m(k;)28 b(the)c(\014rst)f(parameter)i(of)f(the)g(initial)i -(call)f(is)f(at)h(the)f(b)s(ottom.)39 b(When)24 b(a)g(subroutine)630 -3806 y(is)40 b(executed,)j(the)d(parameters)h(supplied)d(are)i(pushed)f -(on)m(to)i Ft(BASH_ARGV)p Fu(.)66 b(The)40 b(shell)630 -3915 y(sets)28 b Ft(BASH_ARGV)e Fu(only)i(when)f(in)h(extended)g -(debugging)g(mo)s(de)g(\(see)h(Section)f(4.3.2)i([The)630 -4025 y(Shopt)g(Builtin],)h(page)g(65,)g(for)g(a)f(description)h(of)f -(the)h Ft(extdebug)d Fu(option)j(to)g(the)f Ft(shopt)630 -4134 y Fu(builtin\).)51 b(Setting)35 b Ft(extdebug)c -Fu(after)k(the)f(shell)g(has)f(started)i(to)f(execute)h(a)g(script)e -(ma)m(y)630 4244 y(result)d(in)g(inconsisten)m(t)i(v)-5 -b(alues.)150 4408 y Ft(BASH_ARGV0)630 4518 y Fu(When)31 +b Ft(extdebug)630 3302 y Fu(after)c(the)g(shell)g(has)g(started)g(to)g +(execute)i(a)e(script,)g(or)g(referencing)g(this)f(v)-5 +b(ariable)30 b(when)630 3411 y Ft(extdebug)e Fu(is)j(not)f(set,)h(ma)m +(y)g(result)g(in)f(inconsisten)m(t)h(v)-5 b(alues.)150 +3608 y Ft(BASH_ARGV)630 3718 y Fu(An)24 b(arra)m(y)g(v)-5 +b(ariable)25 b(con)m(taining)h(all)f(of)f(the)h(parameters)f(in)g(the)g +(curren)m(t)g(bash)g(execution)630 3828 y(call)35 b(stac)m(k.)53 +b(The)34 b(\014nal)g(parameter)g(of)g(the)g(last)h(subroutine)e(call)i +(is)f(at)h(the)f(top)h(of)f(the)630 3937 y(stac)m(k;)28 +b(the)c(\014rst)f(parameter)i(of)f(the)g(initial)i(call)f(is)f(at)h +(the)f(b)s(ottom.)39 b(When)24 b(a)g(subroutine)630 4047 +y(is)40 b(executed,)j(the)d(parameters)h(supplied)d(are)i(pushed)f(on)m +(to)i Ft(BASH_ARGV)p Fu(.)66 b(The)40 b(shell)630 4156 +y(sets)28 b Ft(BASH_ARGV)e Fu(only)i(when)f(in)h(extended)g(debugging)g +(mo)s(de)g(\(see)h(Section)f(4.3.2)i([The)630 4266 y(Shopt)g(Builtin],) +h(page)g(65,)g(for)g(a)f(description)h(of)f(the)h Ft(extdebug)d +Fu(option)j(to)g(the)f Ft(shopt)630 4376 y Fu(builtin\).)64 +b(Setting)38 b Ft(extdebug)e Fu(after)j(the)f(shell)g(has)g(started)g +(to)h(execute)g(a)g(script,)h(or)630 4485 y(referencing)35 +b(this)f(v)-5 b(ariable)35 b(when)e Ft(extdebug)f Fu(is)j(not)f(set,)j +(ma)m(y)e(result)f(in)g(inconsisten)m(t)630 4595 y(v)-5 +b(alues.)150 4792 y Ft(BASH_ARGV0)630 4902 y Fu(When)31 b(referenced,)g(this)g(v)-5 b(ariable)32 b(expands)e(to)h(the)h(name)f -(of)g(the)g(shell)g(or)g(shell)g(script)630 4628 y(\(iden)m(tical)42 +(of)g(the)g(shell)g(or)g(shell)g(script)630 5011 y(\(iden)m(tical)42 b(to)e Ft($0)p Fu(;)j(See)d(Section)g(3.4.2)i([Sp)s(ecial)e(P)m -(arameters],)j(page)d(21,)j(for)c(the)h(de-)630 4737 +(arameters],)j(page)d(21,)j(for)c(the)h(de-)630 5121 y(scription)32 b(of)g(sp)s(ecial)g(parameter)g(0\).)45 b(Assignmen)m(t)32 b(to)h Ft(BASH_ARGV0)c Fu(causes)j(the)f(v)-5 -b(alue)630 4847 y(assigned)34 b(to)h(also)g(b)s(e)e(assigned)h(to)g +b(alue)630 5230 y(assigned)34 b(to)h(also)g(b)s(e)e(assigned)h(to)g Ft($0)p Fu(.)51 b(If)33 b Ft(BASH_ARGV0)f Fu(is)h(unset,)i(it)f(loses)h -(its)f(sp)s(ecial)630 4956 y(prop)s(erties,)c(ev)m(en)h(if)f(it)h(is)g -(subsequen)m(tly)f(reset.)150 5121 y Ft(BASH_CMDS)630 -5230 y Fu(An)k(asso)s(ciativ)m(e)i(arra)m(y)f(v)-5 b(ariable)35 -b(whose)f(mem)m(b)s(ers)f(corresp)s(ond)g(to)i(the)f(in)m(ternal)h -(hash)630 5340 y(table)c(of)g(commands)f(as)g(main)m(tained)h(b)m(y)g -(the)f Ft(hash)f Fu(builtin)h(\(see)h(Section)g(4.1)h([Bourne)p -eop end +(its)f(sp)s(ecial)630 5340 y(prop)s(erties,)c(ev)m(en)h(if)f(it)h(is)g +(subsequen)m(tly)f(reset.)p eop end %%Page: 74 80 TeXDict begin 74 79 bop 150 -116 a Fu(Chapter)30 b(5:)41 -b(Shell)30 b(V)-8 b(ariables)2459 b(74)630 299 y(Shell)42 -b(Builtins],)k(page)d(43\).)77 b(Elemen)m(ts)43 b(added)e(to)i(this)f -(arra)m(y)h(app)s(ear)f(in)f(the)i(hash)630 408 y(table;)k(ho)m(w)m(ev) -m(er,)e(unsetting)c(arra)m(y)g(elemen)m(ts)i(curren)m(tly)d(do)s(es)h -(not)g(cause)g(command)630 518 y(names)36 b(to)g(b)s(e)f(remo)m(v)m(ed) -i(from)e(the)h(hash)f(table.)58 b(If)36 b Ft(BASH_CMDS)d -Fu(is)j(unset,)h(it)f(loses)h(its)630 628 y(sp)s(ecial)31 -b(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)g(subsequen)m(tly)f(reset.) -150 792 y Ft(BASH_COMMAND)630 902 y Fu(The)39 b(command)h(curren)m(tly) -g(b)s(eing)f(executed)i(or)e(ab)s(out)h(to)g(b)s(e)f(executed,)44 -b(unless)39 b(the)630 1011 y(shell)g(is)g(executing)g(a)g(command)g(as) -g(the)f(result)h(of)g(a)g(trap,)i(in)d(whic)m(h)g(case)i(it)f(is)g(the) -630 1121 y(command)30 b(executing)i(at)f(the)f(time)h(of)g(the)g(trap.) -150 1285 y Ft(BASH_COMPAT)630 1395 y Fu(The)i(v)-5 b(alue)34 +b(Shell)30 b(V)-8 b(ariables)2459 b(74)150 299 y Ft(BASH_CMDS)630 +408 y Fu(An)34 b(asso)s(ciativ)m(e)i(arra)m(y)f(v)-5 +b(ariable)35 b(whose)f(mem)m(b)s(ers)f(corresp)s(ond)g(to)i(the)f(in)m +(ternal)h(hash)630 518 y(table)c(of)g(commands)f(as)g(main)m(tained)h +(b)m(y)g(the)f Ft(hash)f Fu(builtin)h(\(see)h(Section)g(4.1)h([Bourne) +630 628 y(Shell)42 b(Builtins],)k(page)d(43\).)77 b(Elemen)m(ts)43 +b(added)e(to)i(this)f(arra)m(y)h(app)s(ear)f(in)f(the)i(hash)630 +737 y(table;)k(ho)m(w)m(ev)m(er,)e(unsetting)c(arra)m(y)g(elemen)m(ts)i +(curren)m(tly)d(do)s(es)h(not)g(cause)g(command)630 847 +y(names)36 b(to)g(b)s(e)f(remo)m(v)m(ed)i(from)e(the)h(hash)f(table.)58 +b(If)36 b Ft(BASH_CMDS)d Fu(is)j(unset,)h(it)f(loses)h(its)630 +956 y(sp)s(ecial)31 b(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)g +(subsequen)m(tly)f(reset.)150 1129 y Ft(BASH_COMMAND)630 +1238 y Fu(The)39 b(command)h(curren)m(tly)g(b)s(eing)f(executed)i(or)e +(ab)s(out)h(to)g(b)s(e)f(executed,)44 b(unless)39 b(the)630 +1348 y(shell)g(is)g(executing)g(a)g(command)g(as)g(the)f(result)h(of)g +(a)g(trap,)i(in)d(whic)m(h)g(case)i(it)f(is)g(the)630 +1457 y(command)30 b(executing)i(at)f(the)f(time)h(of)g(the)g(trap.)150 +1630 y Ft(BASH_COMPAT)630 1739 y Fu(The)i(v)-5 b(alue)34 b(is)f(used)g(to)h(set)f(the)h(shell's)g(compatibilit)m(y)h(lev)m(el.) -51 b(See)34 b(Section)g(4.3.2)h([The)630 1504 y(Shopt)40 +51 b(See)34 b(Section)g(4.3.2)h([The)630 1849 y(Shopt)40 b(Builtin],)45 b(page)c(65,)k(for)c(a)g(description)g(of)g(the)g(v)-5 -b(arious)41 b(compatibilit)m(y)i(lev)m(els)630 1614 y(and)31 +b(arious)41 b(compatibilit)m(y)i(lev)m(els)630 1958 y(and)31 b(their)g(e\013ects.)45 b(The)31 b(v)-5 b(alue)31 b(ma)m(y)h(b)s(e)f(a) h(decimal)g(n)m(um)m(b)s(er)e(\(e.g.,)j(4.2\))g(or)e(an)h(in)m(teger) -630 1724 y(\(e.g.,)39 b(42\))f(corresp)s(onding)d(to)i(the)f(desired)f +630 2068 y(\(e.g.,)39 b(42\))f(corresp)s(onding)d(to)i(the)f(desired)f (compatibilit)m(y)k(lev)m(el.)59 b(If)36 b Ft(BASH_COMPAT)d -Fu(is)630 1833 y(unset)k(or)g(set)h(to)g(the)g(empt)m(y)f(string,)j +Fu(is)630 2178 y(unset)k(or)g(set)h(to)g(the)g(empt)m(y)f(string,)j (the)d(compatibilit)m(y)j(lev)m(el)f(is)e(set)h(to)g(the)g(default)630 -1943 y(for)i(the)h(curren)m(t)f(v)m(ersion.)72 b(If)40 +2287 y(for)i(the)h(curren)m(t)f(v)m(ersion.)72 b(If)40 b Ft(BASH_COMPAT)e Fu(is)i(set)h(to)h(a)e(v)-5 b(alue)41 -b(that)h(is)e(not)h(one)g(of)630 2052 y(the)f(v)-5 b(alid)40 +b(that)h(is)e(not)h(one)g(of)630 2397 y(the)f(v)-5 b(alid)40 b(compatibilit)m(y)i(lev)m(els,)i(the)c(shell)g(prin)m(ts)f(an)h(error) -f(message)i(and)f(sets)g(the)630 2162 y(compatibilit)m(y)23 +f(message)i(and)f(sets)g(the)630 2506 y(compatibilit)m(y)23 b(lev)m(el)f(to)f(the)f(default)h(for)f(the)g(curren)m(t)g(v)m(ersion.) -38 b(The)20 b(v)-5 b(alid)21 b(compatibilit)m(y)630 2271 +38 b(The)20 b(v)-5 b(alid)21 b(compatibilit)m(y)630 2616 y(lev)m(els)40 b(corresp)s(ond)e(to)h(the)g(compatibilit)m(y)i(options) e(accepted)h(b)m(y)f(the)g Ft(shopt)e Fu(builtin)630 -2381 y(describ)s(ed)20 b(ab)s(o)m(v)m(e)i(\(for)g(example,)h +2725 y(describ)s(ed)20 b(ab)s(o)m(v)m(e)i(\(for)g(example,)h Fr(compat42)31 b Fu(means)21 b(that)g(4.2)i(and)d(42)i(are)g(v)-5 -b(alid)21 b(v)-5 b(alues\).)630 2491 y(The)30 b(curren)m(t)g(v)m +b(alid)21 b(v)-5 b(alues\).)630 2835 y(The)30 b(curren)m(t)g(v)m (ersion)h(is)f(also)i(a)e(v)-5 b(alid)31 b(v)-5 b(alue.)150 -2655 y Ft(BASH_ENV)96 b Fu(If)28 b(this)g(v)-5 b(ariable)30 +3007 y Ft(BASH_ENV)96 b Fu(If)28 b(this)g(v)-5 b(ariable)30 b(is)e(set)h(when)f(Bash)g(is)h(in)m(v)m(ok)m(ed)h(to)f(execute)h(a)e -(shell)h(script,)g(its)g(v)-5 b(alue)29 b(is)630 2765 +(shell)h(script,)g(its)g(v)-5 b(alue)29 b(is)630 3117 y(expanded)k(and)h(used)g(as)g(the)h(name)f(of)g(a)h(startup)f(\014le)g -(to)h(read)f(b)s(efore)g(executing)i(the)630 2874 y(script.)41 +(to)h(read)f(b)s(efore)g(executing)i(the)630 3226 y(script.)41 b(See)30 b(Section)h(6.2)h([Bash)f(Startup)e(Files],)j(page)f(86.)150 -3039 y Ft(BASH_EXECUTION_STRING)630 3148 y Fu(The)f(command)g(argumen)m +3399 y Ft(BASH_EXECUTION_STRING)630 3508 y Fu(The)f(command)g(argumen)m (t)h(to)g(the)g Ft(-c)e Fu(in)m(v)m(o)s(cation)k(option.)150 -3313 y Ft(BASH_LINENO)630 3422 y Fu(An)62 b(arra)m(y)i(v)-5 +3680 y Ft(BASH_LINENO)630 3790 y Fu(An)62 b(arra)m(y)i(v)-5 b(ariable)63 b(whose)g(mem)m(b)s(ers)e(are)j(the)e(line)h(n)m(um)m(b)s -(ers)f(in)g(source)h(\014les)630 3532 y(where)46 b(eac)m(h)i(corresp)s +(ers)f(in)g(source)h(\014les)630 3900 y(where)46 b(eac)m(h)i(corresp)s (onding)d(mem)m(b)s(er)h(of)h Fr(FUNCNAME)53 b Fu(w)m(as)47 -b(in)m(v)m(ok)m(ed.)91 b Ft(${BASH_)630 3641 y(LINENO[$i]})39 +b(in)m(v)m(ok)m(ed.)91 b Ft(${BASH_)630 4009 y(LINENO[$i]})39 b Fu(is)i(the)h(line)g(n)m(um)m(b)s(er)e(in)i(the)f(source)h(\014le)g -(\()p Ft(${BASH_SOURCE[$i+1]})p Fu(\))630 3751 y(where)d +(\()p Ft(${BASH_SOURCE[$i+1]})p Fu(\))630 4119 y(where)d Ft(${FUNCNAME[$i]})c Fu(w)m(as)k(called)i(\(or)e Ft (${BASH_LINENO[$i-1]})34 b Fu(if)39 b(referenced)630 -3861 y(within)30 b(another)g(shell)h(function\).)41 b(Use)31 +4228 y(within)30 b(another)g(shell)h(function\).)41 b(Use)31 b Ft(LINENO)d Fu(to)j(obtain)g(the)g(curren)m(t)f(line)h(n)m(um)m(b)s -(er.)150 4025 y Ft(BASH_LOADABLES_PATH)630 4134 y Fu(A)39 +(er.)150 4401 y Ft(BASH_LOADABLES_PATH)630 4510 y Fu(A)39 b(colon-separated)i(list)f(of)f(directories)h(in)f(whic)m(h)g(the)g -(shell)h(lo)s(oks)f(for)g(dynamically)630 4244 y(loadable)32 +(shell)h(lo)s(oks)f(for)g(dynamically)630 4620 y(loadable)32 b(builtins)d(sp)s(eci\014ed)h(b)m(y)g(the)h Ft(enable)e -Fu(command.)150 4408 y Ft(BASH_REMATCH)630 4518 y Fu(An)43 +Fu(command.)150 4792 y Ft(BASH_REMATCH)630 4902 y Fu(An)43 b(arra)m(y)i(v)-5 b(ariable)44 b(whose)g(mem)m(b)s(ers)f(are)h (assigned)g(b)m(y)f(the)h(`)p Ft(=~)p Fu(')g(binary)f(op)s(erator)630 -4628 y(to)37 b(the)f Ft([[)g Fu(conditional)i(command)e(\(see)h +5011 y(to)37 b(the)f Ft([[)g Fu(conditional)i(command)e(\(see)h (Section)g(3.2.4.2)i([Conditional)e(Constructs],)630 -4737 y(page)e(11\).)52 b(The)33 b(elemen)m(t)j(with)d(index)g(0)i(is)f +5121 y(page)e(11\).)52 b(The)33 b(elemen)m(t)j(with)d(index)g(0)i(is)f (the)g(p)s(ortion)f(of)h(the)g(string)g(matc)m(hing)h(the)630 -4847 y(en)m(tire)29 b(regular)f(expression.)40 b(The)27 +5230 y(en)m(tire)29 b(regular)f(expression.)40 b(The)27 b(elemen)m(t)j(with)d(index)h Fr(n)f Fu(is)h(the)g(p)s(ortion)g(of)g -(the)g(string)630 4956 y(matc)m(hing)j(the)g Fr(n)p Fu(th)f(paren)m +(the)g(string)630 5340 y(matc)m(hing)j(the)g Fr(n)p Fu(th)f(paren)m (thesized)h(sub)s(expression.)39 b(This)29 b(v)-5 b(ariable)31 -b(is)g(read-only)-8 b(.)150 5121 y Ft(BASH_SOURCE)630 -5230 y Fu(An)40 b(arra)m(y)h(v)-5 b(ariable)41 b(whose)f(mem)m(b)s(ers) -g(are)h(the)g(source)f(\014lenames)h(where)f(the)g(corre-)630 -5340 y(sp)s(onding)27 b(shell)i(function)f(names)g(in)g(the)h -Ft(FUNCNAME)d Fu(arra)m(y)j(v)-5 b(ariable)30 b(are)f(de\014ned.)38 -b(The)p eop end +b(is)g(read-only)-8 b(.)p eop end %%Page: 75 81 TeXDict begin 75 80 bop 150 -116 a Fu(Chapter)30 b(5:)41 -b(Shell)30 b(V)-8 b(ariables)2459 b(75)630 299 y(shell)26 -b(function)g Ft(${FUNCNAME[$i]})c Fu(is)k(de\014ned)f(in)g(the)h -(\014le)h Ft(${BASH_SOURCE[$i]})21 b Fu(and)630 408 y(called)32 -b(from)d Ft(${BASH_SOURCE[$i+1]})150 573 y(BASH_SUBSHELL)630 -682 y Fu(Incremen)m(ted)24 b(b)m(y)f(one)h(within)f(eac)m(h)i(subshell) -d(or)i(subshell)e(en)m(vironmen)m(t)i(when)f(the)h(shell)630 -792 y(b)s(egins)30 b(executing)h(in)f(that)h(en)m(vironmen)m(t.)42 -b(The)30 b(initial)h(v)-5 b(alue)31 b(is)f(0.)150 956 -y Ft(BASH_VERSINFO)630 1066 y Fu(A)36 b(readonly)g(arra)m(y)g(v)-5 -b(ariable)37 b(\(see)f(Section)h(6.7)g([Arra)m(ys],)h(page)e(93\))h -(whose)f(mem)m(b)s(ers)630 1176 y(hold)c(v)m(ersion)h(information)f -(for)g(this)g(instance)h(of)g(Bash.)46 b(The)32 b(v)-5 -b(alues)32 b(assigned)h(to)g(the)630 1285 y(arra)m(y)e(mem)m(b)s(ers)e -(are)i(as)g(follo)m(ws:)630 1450 y Ft(BASH_VERSINFO[0])1110 -1559 y Fu(The)f(ma)5 b(jor)30 b(v)m(ersion)h(n)m(um)m(b)s(er)e(\(the)i -Fr(release)5 b Fu(\).)630 1724 y Ft(BASH_VERSINFO[1])1110 -1833 y Fu(The)30 b(minor)g(v)m(ersion)h(n)m(um)m(b)s(er)e(\(the)i -Fr(v)m(ersion)p Fu(\).)630 1998 y Ft(BASH_VERSINFO[2])1110 -2107 y Fu(The)f(patc)m(h)h(lev)m(el.)630 2271 y Ft(BASH_VERSINFO[3]) -1110 2381 y Fu(The)f(build)f(v)m(ersion.)630 2545 y Ft -(BASH_VERSINFO[4])1110 2655 y Fu(The)h(release)i(status)e(\(e.g.,)j -Fr(b)s(eta1)7 b Fu(\).)630 2819 y Ft(BASH_VERSINFO[5])1110 -2929 y Fu(The)30 b(v)-5 b(alue)31 b(of)f Ft(MACHTYPE)p -Fu(.)150 3093 y Ft(BASH_VERSION)630 3203 y Fu(The)g(v)m(ersion)h(n)m -(um)m(b)s(er)e(of)h(the)h(curren)m(t)f(instance)h(of)g(Bash.)150 -3367 y Ft(BASH_XTRACEFD)630 3477 y Fu(If)f(set)h(to)h(an)e(in)m(teger)i +b(Shell)30 b(V)-8 b(ariables)2459 b(75)150 299 y Ft(BASH_SOURCE)630 +408 y Fu(An)40 b(arra)m(y)h(v)-5 b(ariable)41 b(whose)f(mem)m(b)s(ers)g +(are)h(the)g(source)f(\014lenames)h(where)f(the)g(corre-)630 +518 y(sp)s(onding)27 b(shell)i(function)f(names)g(in)g(the)h +Ft(FUNCNAME)d Fu(arra)m(y)j(v)-5 b(ariable)30 b(are)f(de\014ned.)38 +b(The)630 628 y(shell)26 b(function)g Ft(${FUNCNAME[$i]})c +Fu(is)k(de\014ned)f(in)g(the)h(\014le)h Ft(${BASH_SOURCE[$i]})21 +b Fu(and)630 737 y(called)32 b(from)d Ft(${BASH_SOURCE[$i+1]})150 +892 y(BASH_SUBSHELL)630 1002 y Fu(Incremen)m(ted)24 b(b)m(y)f(one)h +(within)f(eac)m(h)i(subshell)d(or)i(subshell)e(en)m(vironmen)m(t)i +(when)f(the)h(shell)630 1112 y(b)s(egins)30 b(executing)h(in)f(that)h +(en)m(vironmen)m(t.)42 b(The)30 b(initial)h(v)-5 b(alue)31 +b(is)f(0.)150 1267 y Ft(BASH_VERSINFO)630 1377 y Fu(A)36 +b(readonly)g(arra)m(y)g(v)-5 b(ariable)37 b(\(see)f(Section)h(6.7)g +([Arra)m(ys],)h(page)e(93\))h(whose)f(mem)m(b)s(ers)630 +1486 y(hold)c(v)m(ersion)h(information)f(for)g(this)g(instance)h(of)g +(Bash.)46 b(The)32 b(v)-5 b(alues)32 b(assigned)h(to)g(the)630 +1596 y(arra)m(y)e(mem)m(b)s(ers)e(are)i(as)g(follo)m(ws:)630 +1751 y Ft(BASH_VERSINFO[0])1110 1861 y Fu(The)f(ma)5 +b(jor)30 b(v)m(ersion)h(n)m(um)m(b)s(er)e(\(the)i Fr(release)5 +b Fu(\).)630 2016 y Ft(BASH_VERSINFO[1])1110 2125 y Fu(The)30 +b(minor)g(v)m(ersion)h(n)m(um)m(b)s(er)e(\(the)i Fr(v)m(ersion)p +Fu(\).)630 2281 y Ft(BASH_VERSINFO[2])1110 2390 y Fu(The)f(patc)m(h)h +(lev)m(el.)630 2545 y Ft(BASH_VERSINFO[3])1110 2655 y +Fu(The)f(build)f(v)m(ersion.)630 2810 y Ft(BASH_VERSINFO[4])1110 +2920 y Fu(The)h(release)i(status)e(\(e.g.,)j Fr(b)s(eta1)7 +b Fu(\).)630 3075 y Ft(BASH_VERSINFO[5])1110 3185 y Fu(The)30 +b(v)-5 b(alue)31 b(of)f Ft(MACHTYPE)p Fu(.)150 3340 y +Ft(BASH_VERSION)630 3450 y Fu(The)g(v)m(ersion)h(n)m(um)m(b)s(er)e(of)h +(the)h(curren)m(t)f(instance)h(of)g(Bash.)150 3605 y +Ft(BASH_XTRACEFD)630 3714 y Fu(If)f(set)h(to)h(an)e(in)m(teger)i (corresp)s(onding)e(to)h(a)g(v)-5 b(alid)31 b(\014le)g(descriptor,)g -(Bash)g(will)g(write)g(the)630 3587 y(trace)37 b(output)f(generated)h +(Bash)g(will)g(write)g(the)630 3824 y(trace)37 b(output)f(generated)h (when)f(`)p Ft(set)29 b(-x)p Fu(')36 b(is)g(enabled)h(to)g(that)f -(\014le)h(descriptor.)58 b(This)630 3696 y(allo)m(ws)29 +(\014le)h(descriptor.)58 b(This)630 3934 y(allo)m(ws)29 b(tracing)h(output)d(to)i(b)s(e)f(separated)g(from)g(diagnostic)h(and)f -(error)f(messages.)41 b(The)630 3806 y(\014le)31 b(descriptor)f(is)h +(error)f(messages.)41 b(The)630 4043 y(\014le)31 b(descriptor)f(is)h (closed)g(when)f Ft(BASH_XTRACEFD)d Fu(is)k(unset)f(or)g(assigned)h(a)g -(new)f(v)-5 b(alue.)630 3915 y(Unsetting)45 b Ft(BASH_XTRACEFD)40 +(new)f(v)-5 b(alue.)630 4153 y(Unsetting)45 b Ft(BASH_XTRACEFD)40 b Fu(or)k(assigning)g(it)g(the)g(empt)m(y)h(string)e(causes)i(the)f -(trace)630 4025 y(output)33 b(to)i(b)s(e)d(sen)m(t)j(to)f(the)g +(trace)630 4262 y(output)33 b(to)i(b)s(e)d(sen)m(t)j(to)f(the)g (standard)e(error.)50 b(Note)35 b(that)g(setting)f Ft(BASH_XTRACEFD)c -Fu(to)630 4134 y(2)39 b(\(the)h(standard)e(error)g(\014le)h +Fu(to)630 4372 y(2)39 b(\(the)h(standard)e(error)g(\014le)h (descriptor\))h(and)e(then)h(unsetting)g(it)g(will)g(result)g(in)g(the) -630 4244 y(standard)30 b(error)g(b)s(eing)f(closed.)150 -4408 y Ft(CHILD_MAX)630 4518 y Fu(Set)35 b(the)h(n)m(um)m(b)s(er)e(of)h +630 4482 y(standard)30 b(error)g(b)s(eing)f(closed.)150 +4637 y Ft(CHILD_MAX)630 4746 y Fu(Set)35 b(the)h(n)m(um)m(b)s(er)e(of)h (exited)h(c)m(hild)g(status)f(v)-5 b(alues)36 b(for)f(the)g(shell)g(to) -h(remem)m(b)s(er.)55 b(Bash)630 4628 y(will)37 b(not)g(allo)m(w)i(this) +h(remem)m(b)s(er.)55 b(Bash)630 4856 y(will)37 b(not)g(allo)m(w)i(this) e(v)-5 b(alue)37 b(to)h(b)s(e)e(decreased)i(b)s(elo)m(w)f(a)g -Fm(posix)p Fu(-mandated)f(minim)m(um,)630 4737 y(and)30 +Fm(posix)p Fu(-mandated)f(minim)m(um,)630 4966 y(and)30 b(there)g(is)g(a)h(maxim)m(um)f(v)-5 b(alue)30 b(\(curren)m(tly)h (8192\))h(that)f(this)f(ma)m(y)g(not)h(exceed.)41 b(The)630 -4847 y(minim)m(um)30 b(v)-5 b(alue)30 b(is)h(system-dep)s(enden)m(t.) -150 5011 y Ft(COLUMNS)144 b Fu(Used)32 b(b)m(y)f(the)h +5075 y(minim)m(um)30 b(v)-5 b(alue)30 b(is)h(system-dep)s(enden)m(t.) +150 5230 y Ft(COLUMNS)144 b Fu(Used)32 b(b)m(y)f(the)h Ft(select)e Fu(command)h(to)i(determine)f(the)f(terminal)i(width)d -(when)h(prin)m(ting)630 5121 y(selection)39 b(lists.)63 +(when)h(prin)m(ting)630 5340 y(selection)39 b(lists.)63 b(Automatically)41 b(set)d(if)f(the)h Ft(checkwinsize)d -Fu(option)j(is)f(enabled)h(\(see)630 5230 y(Section)44 -b(4.3.2)h([The)e(Shopt)g(Builtin],)k(page)d(65\),)k(or)43 -b(in)g(an)g(in)m(teractiv)m(e)j(shell)e(up)s(on)630 5340 -y(receipt)31 b(of)g(a)g Ft(SIGWINCH)p Fu(.)p eop end +Fu(option)j(is)f(enabled)h(\(see)p eop end %%Page: 76 82 TeXDict begin 76 81 bop 150 -116 a Fu(Chapter)30 b(5:)41 -b(Shell)30 b(V)-8 b(ariables)2459 b(76)150 299 y Ft(COMP_CWORD)630 -408 y Fu(An)38 b(index)g(in)m(to)h Ft(${COMP_WORDS})c -Fu(of)k(the)g(w)m(ord)f(con)m(taining)i(the)e(curren)m(t)g(cursor)g(p)s -(o-)630 518 y(sition.)72 b(This)40 b(v)-5 b(ariable)41 -b(is)f(a)m(v)-5 b(ailable)43 b(only)e(in)f(shell)h(functions)f(in)m(v)m -(ok)m(ed)i(b)m(y)e(the)h(pro-)630 628 y(grammable)36 -b(completion)g(facilities)i(\(see)e(Section)g(8.6)g([Programmable)g -(Completion],)630 737 y(page)31 b(131\).)150 883 y Ft(COMP_LINE)630 -993 y Fu(The)38 b(curren)m(t)h(command)f(line.)66 b(This)37 -b(v)-5 b(ariable)40 b(is)f(a)m(v)-5 b(ailable)41 b(only)d(in)h(shell)f -(functions)630 1103 y(and)25 b(external)h(commands)f(in)m(v)m(ok)m(ed)h -(b)m(y)f(the)h(programmable)f(completion)i(facilities)g(\(see)630 -1212 y(Section)k(8.6)h([Programmable)f(Completion],)g(page)g(131\).)150 -1358 y Ft(COMP_POINT)630 1468 y Fu(The)25 b(index)g(of)h(the)g(curren)m +b(Shell)30 b(V)-8 b(ariables)2459 b(76)630 299 y(Section)44 +b(4.3.2)h([The)e(Shopt)g(Builtin],)k(page)d(65\),)k(or)43 +b(in)g(an)g(in)m(teractiv)m(e)j(shell)e(up)s(on)630 408 +y(receipt)31 b(of)g(a)g Ft(SIGWINCH)p Fu(.)150 555 y +Ft(COMP_CWORD)630 664 y Fu(An)38 b(index)g(in)m(to)h +Ft(${COMP_WORDS})c Fu(of)k(the)g(w)m(ord)f(con)m(taining)i(the)e +(curren)m(t)g(cursor)g(p)s(o-)630 774 y(sition.)72 b(This)40 +b(v)-5 b(ariable)41 b(is)f(a)m(v)-5 b(ailable)43 b(only)e(in)f(shell)h +(functions)f(in)m(v)m(ok)m(ed)i(b)m(y)e(the)h(pro-)630 +883 y(grammable)36 b(completion)g(facilities)i(\(see)e(Section)g(8.6)g +([Programmable)g(Completion],)630 993 y(page)31 b(131\).)150 +1139 y Ft(COMP_LINE)630 1249 y Fu(The)38 b(curren)m(t)h(command)f +(line.)66 b(This)37 b(v)-5 b(ariable)40 b(is)f(a)m(v)-5 +b(ailable)41 b(only)d(in)h(shell)f(functions)630 1358 +y(and)25 b(external)h(commands)f(in)m(v)m(ok)m(ed)h(b)m(y)f(the)h +(programmable)f(completion)i(facilities)g(\(see)630 1468 +y(Section)k(8.6)h([Programmable)f(Completion],)g(page)g(131\).)150 +1614 y Ft(COMP_POINT)630 1724 y Fu(The)25 b(index)g(of)h(the)g(curren)m (t)f(cursor)g(p)s(osition)h(relativ)m(e)i(to)e(the)g(b)s(eginning)f(of) -g(the)h(curren)m(t)630 1577 y(command.)40 b(If)27 b(the)h(curren)m(t)g +g(the)h(curren)m(t)630 1833 y(command.)40 b(If)27 b(the)h(curren)m(t)g (cursor)g(p)s(osition)g(is)g(at)g(the)g(end)g(of)g(the)g(curren)m(t)g -(command,)630 1687 y(the)i(v)-5 b(alue)30 b(of)g(this)g(v)-5 +(command,)630 1943 y(the)i(v)-5 b(alue)30 b(of)g(this)g(v)-5 b(ariable)31 b(is)f(equal)g(to)h Ft(${#COMP_LINE})p Fu(.)37 b(This)29 b(v)-5 b(ariable)31 b(is)f(a)m(v)-5 b(ailable)630 -1797 y(only)36 b(in)f(shell)h(functions)f(and)g(external)h(commands)g -(in)m(v)m(ok)m(ed)h(b)m(y)e(the)h(programmable)630 1906 +2052 y(only)36 b(in)f(shell)h(functions)f(and)g(external)h(commands)g +(in)m(v)m(ok)m(ed)h(b)m(y)e(the)h(programmable)630 2162 y(completion)c(facilities)g(\(see)g(Section)f(8.6)g([Programmable)g -(Completion],)h(page)f(131\).)150 2052 y Ft(COMP_TYPE)630 -2162 y Fu(Set)c(to)h(an)f(in)m(teger)h(v)-5 b(alue)28 +(Completion],)h(page)f(131\).)150 2308 y Ft(COMP_TYPE)630 +2418 y Fu(Set)c(to)h(an)f(in)m(teger)h(v)-5 b(alue)28 b(corresp)s(onding)e(to)h(the)h(t)m(yp)s(e)f(of)g(completion)h -(attempted)g(that)630 2271 y(caused)e(a)h(completion)h(function)e(to)h +(attempted)g(that)630 2527 y(caused)e(a)h(completion)h(function)e(to)h (b)s(e)f(called:)40 b Fr(T)-8 b(AB)p Fu(,)27 b(for)g(normal)f -(completion,)j(`)p Ft(?)p Fu(',)e(for)630 2381 y(listing)35 +(completion,)j(`)p Ft(?)p Fu(',)e(for)630 2637 y(listing)35 b(completions)h(after)f(successiv)m(e)g(tabs,)h(`)p Ft(!)p Fu(',)g(for)e(listing)h(alternativ)m(es)i(on)d(partial)630 -2491 y(w)m(ord)22 b(completion,)k(`)p Ft(@)p Fu(',)f(to)e(list)g +2746 y(w)m(ord)22 b(completion,)k(`)p Ft(@)p Fu(',)f(to)e(list)g (completions)h(if)f(the)g(w)m(ord)f(is)h(not)g(unmo)s(di\014ed,)f(or)h -(`)p Ft(\045)p Fu(',)h(for)630 2600 y(men)m(u)i(completion.)41 +(`)p Ft(\045)p Fu(',)h(for)630 2856 y(men)m(u)i(completion.)41 b(This)25 b(v)-5 b(ariable)27 b(is)g(a)m(v)-5 b(ailable)28 b(only)f(in)f(shell)g(functions)g(and)g(external)630 -2710 y(commands)32 b(in)m(v)m(ok)m(ed)i(b)m(y)e(the)g(programmable)h +2966 y(commands)32 b(in)m(v)m(ok)m(ed)i(b)m(y)e(the)g(programmable)h (completion)g(facilities)i(\(see)e(Section)g(8.6)630 -2819 y([Programmable)e(Completion],)h(page)f(131\).)150 -2966 y Ft(COMP_KEY)96 b Fu(The)29 b(k)m(ey)i(\(or)g(\014nal)e(k)m(ey)i +3075 y([Programmable)e(Completion],)h(page)f(131\).)150 +3221 y Ft(COMP_KEY)96 b Fu(The)29 b(k)m(ey)i(\(or)g(\014nal)e(k)m(ey)i (of)f(a)g(k)m(ey)h(sequence\))g(used)e(to)i(in)m(v)m(ok)m(e)h(the)e -(curren)m(t)g(completion)630 3075 y(function.)150 3221 -y Ft(COMP_WORDBREAKS)630 3331 y Fu(The)f(set)i(of)e(c)m(haracters)j +(curren)m(t)g(completion)630 3331 y(function.)150 3477 +y Ft(COMP_WORDBREAKS)630 3587 y Fu(The)f(set)i(of)e(c)m(haracters)j (that)e(the)g(Readline)g(library)g(treats)g(as)g(w)m(ord)g(separators)g -(when)630 3440 y(p)s(erforming)i(w)m(ord)h(completion.)51 +(when)630 3696 y(p)s(erforming)i(w)m(ord)h(completion.)51 b(If)33 b Ft(COMP_WORDBREAKS)c Fu(is)34 b(unset,)g(it)f(loses)i(its)e -(sp)s(ecial)630 3550 y(prop)s(erties,)d(ev)m(en)h(if)f(it)h(is)g -(subsequen)m(tly)f(reset.)150 3696 y Ft(COMP_WORDS)630 -3806 y Fu(An)36 b(arra)m(y)g(v)-5 b(ariable)37 b(consisting)g(of)f(the) +(sp)s(ecial)630 3806 y(prop)s(erties,)d(ev)m(en)h(if)f(it)h(is)g +(subsequen)m(tly)f(reset.)150 3952 y Ft(COMP_WORDS)630 +4061 y Fu(An)36 b(arra)m(y)g(v)-5 b(ariable)37 b(consisting)g(of)f(the) g(individual)f(w)m(ords)h(in)f(the)h(curren)m(t)g(command)630 -3915 y(line.)94 b(The)47 b(line)i(is)f(split)g(in)m(to)h(w)m(ords)e(as) +4171 y(line.)94 b(The)47 b(line)i(is)f(split)g(in)m(to)h(w)m(ords)e(as) h(Readline)h(w)m(ould)f(split)g(it,)53 b(using)47 b Ft(COMP_)630 -4025 y(WORDBREAKS)34 b Fu(as)i(describ)s(ed)g(ab)s(o)m(v)m(e.)60 +4281 y(WORDBREAKS)34 b Fu(as)i(describ)s(ed)g(ab)s(o)m(v)m(e.)60 b(This)36 b(v)-5 b(ariable)37 b(is)f(a)m(v)-5 b(ailable)39 -b(only)e(in)f(shell)h(func-)630 4134 y(tions)32 b(in)m(v)m(ok)m(ed)i(b) +b(only)e(in)f(shell)h(func-)630 4390 y(tions)32 b(in)m(v)m(ok)m(ed)i(b) m(y)d(the)i(programmable)f(completion)h(facilities)h(\(see)f(Section)g -(8.6)g([Pro-)630 4244 y(grammable)e(Completion],)g(page)g(131\).)150 -4390 y Ft(COMPREPLY)630 4500 y Fu(An)37 b(arra)m(y)h(v)-5 +(8.6)g([Pro-)630 4500 y(grammable)e(Completion],)g(page)g(131\).)150 +4646 y Ft(COMPREPLY)630 4756 y Fu(An)37 b(arra)m(y)h(v)-5 b(ariable)38 b(from)f(whic)m(h)g(Bash)g(reads)g(the)h(p)s(ossible)e -(completions)j(generated)630 4609 y(b)m(y)33 b(a)g(shell)h(function)f +(completions)j(generated)630 4865 y(b)m(y)33 b(a)g(shell)h(function)f (in)m(v)m(ok)m(ed)h(b)m(y)f(the)g(programmable)h(completion)g(facilit)m -(y)h(\(see)f(Sec-)630 4719 y(tion)g(8.6)g([Programmable)g(Completion],) +(y)h(\(see)f(Sec-)630 4975 y(tion)g(8.6)g([Programmable)g(Completion],) h(page)f(131\).)51 b(Eac)m(h)34 b(arra)m(y)g(elemen)m(t)h(con)m(tains) -630 4829 y(one)c(p)s(ossible)f(completion.)150 4975 y +630 5084 y(one)c(p)s(ossible)f(completion.)150 5230 y Ft(COPROC)192 b Fu(An)27 b(arra)m(y)g(v)-5 b(ariable)28 b(created)g(to)f(hold)g(the)g(\014le)g(descriptors)g(for)g(output)f -(from)h(and)f(input)630 5084 y(to)31 b(an)f(unnamed)f(copro)s(cess)i -(\(see)g(Section)h(3.2.5)g([Copro)s(cesses],)f(page)g(15\).)150 -5230 y Ft(DIRSTACK)96 b Fu(An)26 b(arra)m(y)h(v)-5 b(ariable)28 -b(con)m(taining)g(the)f(curren)m(t)f(con)m(ten)m(ts)j(of)e(the)f -(directory)i(stac)m(k.)41 b(Direc-)630 5340 y(tories)33 -b(app)s(ear)f(in)g(the)h(stac)m(k)h(in)e(the)h(order)f(they)h(are)g -(displa)m(y)m(ed)g(b)m(y)f(the)h Ft(dirs)e Fu(builtin.)p +(from)h(and)f(input)630 5340 y(to)31 b(an)f(unnamed)f(copro)s(cess)i +(\(see)g(Section)h(3.2.5)g([Copro)s(cesses],)f(page)g(15\).)p eop end %%Page: 77 83 TeXDict begin 77 82 bop 150 -116 a Fu(Chapter)30 b(5:)41 -b(Shell)30 b(V)-8 b(ariables)2459 b(77)630 299 y(Assigning)30 -b(to)h(mem)m(b)s(ers)f(of)g(this)g(arra)m(y)g(v)-5 b(ariable)31 -b(ma)m(y)g(b)s(e)e(used)h(to)h(mo)s(dify)e(directories)630 -408 y(already)41 b(in)f(the)h(stac)m(k,)k(but)40 b(the)h -Ft(pushd)e Fu(and)h Ft(popd)f Fu(builtins)h(m)m(ust)h(b)s(e)e(used)h -(to)i(add)630 518 y(and)37 b(remo)m(v)m(e)h(directories.)63 +b(Shell)30 b(V)-8 b(ariables)2459 b(77)150 299 y Ft(DIRSTACK)96 +b Fu(An)26 b(arra)m(y)h(v)-5 b(ariable)28 b(con)m(taining)g(the)f +(curren)m(t)f(con)m(ten)m(ts)j(of)e(the)f(directory)i(stac)m(k.)41 +b(Direc-)630 408 y(tories)33 b(app)s(ear)f(in)g(the)h(stac)m(k)h(in)e +(the)h(order)f(they)h(are)g(displa)m(y)m(ed)g(b)m(y)f(the)h +Ft(dirs)e Fu(builtin.)630 518 y(Assigning)f(to)h(mem)m(b)s(ers)f(of)g +(this)g(arra)m(y)g(v)-5 b(ariable)31 b(ma)m(y)g(b)s(e)e(used)h(to)h(mo) +s(dify)e(directories)630 628 y(already)41 b(in)f(the)h(stac)m(k,)k(but) +40 b(the)h Ft(pushd)e Fu(and)h Ft(popd)f Fu(builtins)h(m)m(ust)h(b)s(e) +e(used)h(to)i(add)630 737 y(and)37 b(remo)m(v)m(e)h(directories.)63 b(Assignmen)m(t)37 b(to)h(this)f(v)-5 b(ariable)38 b(will)g(not)f(c)m -(hange)i(the)e(cur-)630 628 y(ren)m(t)c(directory)-8 +(hange)i(the)e(cur-)630 847 y(ren)m(t)c(directory)-8 b(.)47 b(If)32 b Ft(DIRSTACK)e Fu(is)i(unset,)g(it)h(loses)g(its)g(sp)s (ecial)g(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)630 -737 y(subsequen)m(tly)d(reset.)150 896 y Ft(EMACS)240 +956 y(subsequen)m(tly)d(reset.)150 1115 y Ft(EMACS)240 b Fu(If)31 b(Bash)h(\014nds)d(this)j(v)-5 b(ariable)32 b(in)f(the)h(en)m(vironmen)m(t)g(when)e(the)i(shell)f(starts)h(with)f -(v)-5 b(alue)630 1005 y(`)p Ft(t)p Fu(',)36 b(it)f(assumes)f(that)h +(v)-5 b(alue)630 1224 y(`)p Ft(t)p Fu(',)36 b(it)f(assumes)f(that)h (the)g(shell)f(is)h(running)e(in)h(an)g(Emacs)h(shell)g(bu\013er)e(and) -h(disables)630 1115 y(line)d(editing.)150 1273 y Ft(ENV)336 +h(disables)630 1334 y(line)d(editing.)150 1492 y Ft(ENV)336 b Fu(Similar)35 b(to)g Ft(BASH_ENV)p Fu(;)h(used)e(when)g(the)h(shell)g (is)g(in)m(v)m(ok)m(ed)h(in)e Fm(posix)h Fu(Mo)s(de)g(\(see)g(Sec-)630 -1383 y(tion)c(6.11)h([Bash)f(POSIX)e(Mo)s(de],)i(page)g(98\).)150 -1541 y Ft(EPOCHREALTIME)630 1650 y Fu(Eac)m(h)38 b(time)f(this)g +1602 y(tion)c(6.11)h([Bash)f(POSIX)e(Mo)s(de],)i(page)g(98\).)150 +1760 y Ft(EPOCHREALTIME)630 1870 y Fu(Eac)m(h)38 b(time)f(this)g (parameter)h(is)f(referenced,)i(it)f(expands)e(to)i(the)f(n)m(um)m(b)s -(er)f(of)h(seconds)630 1760 y(since)f(the)g(Unix)f(Ep)s(o)s(c)m(h)g(as) +(er)f(of)h(seconds)630 1979 y(since)f(the)g(Unix)f(Ep)s(o)s(c)m(h)g(as) h(a)g(\015oating)h(p)s(oin)m(t)f(v)-5 b(alue)36 b(with)f(micro-second)i -(gran)m(ularit)m(y)630 1870 y(\(see)42 b(the)g(do)s(cumen)m(tation)g +(gran)m(ularit)m(y)630 2089 y(\(see)42 b(the)g(do)s(cumen)m(tation)g (for)f(the)g(C)g(library)g(function)g Fr(time)47 b Fu(for)41 -b(the)h(de\014nition)f(of)630 1979 y(Ep)s(o)s(c)m(h\).)82 +b(the)h(de\014nition)f(of)630 2198 y(Ep)s(o)s(c)m(h\).)82 b(Assignmen)m(ts)44 b(to)h Ft(EPOCHREALTIME)c Fu(are)j(ignored.)83 -b(If)43 b Ft(EPOCHREALTIME)e Fu(is)630 2089 y(unset,)30 +b(If)43 b Ft(EPOCHREALTIME)e Fu(is)630 2308 y(unset,)30 b(it)h(loses)g(its)g(sp)s(ecial)g(prop)s(erties,)f(ev)m(en)h(if)f(it)h -(is)g(subsequen)m(tly)f(reset.)150 2247 y Ft(EPOCHSECONDS)630 -2357 y Fu(Eac)m(h)38 b(time)f(this)g(parameter)h(is)f(referenced,)i(it) +(is)g(subsequen)m(tly)f(reset.)150 2466 y Ft(EPOCHSECONDS)630 +2576 y Fu(Eac)m(h)38 b(time)f(this)g(parameter)h(is)f(referenced,)i(it) f(expands)e(to)i(the)f(n)m(um)m(b)s(er)f(of)h(seconds)630 -2466 y(since)e(the)g(Unix)f(Ep)s(o)s(c)m(h)g(\(see)i(the)f(do)s(cumen)m +2685 y(since)e(the)g(Unix)f(Ep)s(o)s(c)m(h)g(\(see)i(the)f(do)s(cumen)m (tation)g(for)g(the)f(C)h(library)f(function)g Fr(time)630 -2576 y Fu(for)41 b(the)g(de\014nition)g(of)h(Ep)s(o)s(c)m(h\).)73 +2795 y Fu(for)41 b(the)g(de\014nition)g(of)h(Ep)s(o)s(c)m(h\).)73 b(Assignmen)m(ts)41 b(to)h Ft(EPOCHSECONDS)c Fu(are)k(ignored.)73 -b(If)630 2685 y Ft(EPOCHSECONDS)27 b Fu(is)j(unset,)g(it)g(loses)h(its) +b(If)630 2905 y Ft(EPOCHSECONDS)27 b Fu(is)j(unset,)g(it)g(loses)h(its) g(sp)s(ecial)f(prop)s(erties,)g(ev)m(en)h(if)f(it)g(is)g(subsequen)m -(tly)630 2795 y(reset.)150 2953 y Ft(EUID)288 b Fu(The)30 +(tly)630 3014 y(reset.)150 3173 y Ft(EUID)288 b Fu(The)30 b(n)m(umeric)g(e\013ectiv)m(e)j(user)d(id)g(of)g(the)h(curren)m(t)f (user.)40 b(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8 -b(.)150 3112 y Ft(EXECIGNORE)630 3221 y Fu(A)29 b(colon-separated)h +b(.)150 3331 y Ft(EXECIGNORE)630 3440 y Fu(A)29 b(colon-separated)h (list)f(of)g(shell)g(patterns)f(\(see)i(Section)f(3.5.8.1)i([P)m -(attern)f(Matc)m(hing],)630 3331 y(page)j(32\))g(de\014ning)e(the)h +(attern)f(Matc)m(hing],)630 3550 y(page)j(33\))g(de\014ning)e(the)h (list)g(of)g(\014lenames)g(to)g(b)s(e)g(ignored)g(b)m(y)f(command)h -(searc)m(h)g(using)630 3440 y Ft(PATH)p Fu(.)k(Files)22 +(searc)m(h)g(using)630 3660 y Ft(PATH)p Fu(.)k(Files)22 b(whose)f(full)g(pathnames)g(matc)m(h)h(one)f(of)g(these)h(patterns)e -(are)i(not)f(considered)630 3550 y(executable)j(\014les)e(for)g(the)h +(are)i(not)f(considered)630 3769 y(executable)j(\014les)e(for)g(the)h (purp)s(oses)d(of)j(completion)h(and)d(command)i(execution)g(via)g -Ft(PATH)630 3660 y Fu(lo)s(okup.)56 b(This)35 b(do)s(es)g(not)h +Ft(PATH)630 3879 y Fu(lo)s(okup.)56 b(This)35 b(do)s(es)g(not)h (a\013ect)i(the)d(b)s(eha)m(vior)h(of)g(the)g Ft([)p Fu(,)h Ft(test)p Fu(,)f(and)f Ft([[)g Fu(commands.)630 -3769 y(F)-8 b(ull)42 b(pathnames)e(in)h(the)g(command)g(hash)f(table)i +3988 y(F)-8 b(ull)42 b(pathnames)e(in)h(the)g(command)g(hash)f(table)i (are)g(not)f(sub)5 b(ject)41 b(to)g Ft(EXECIGNORE)p Fu(.)630 -3879 y(Use)30 b(this)f(v)-5 b(ariable)30 b(to)g(ignore)g(shared)f +4098 y(Use)30 b(this)f(v)-5 b(ariable)30 b(to)g(ignore)g(shared)f (library)g(\014les)g(that)h(ha)m(v)m(e)h(the)f(executable)h(bit)e(set,) -630 3988 y(but)36 b(are)h(not)g(executable)i(\014les.)60 +630 4208 y(but)36 b(are)h(not)g(executable)i(\014les.)60 b(The)36 b(pattern)h(matc)m(hing)h(honors)e(the)h(setting)h(of)f(the) -630 4098 y Ft(extglob)28 b Fu(shell)j(option.)150 4256 +630 4317 y Ft(extglob)28 b Fu(shell)j(option.)150 4475 y Ft(FCEDIT)192 b Fu(The)30 b(editor)h(used)e(as)i(a)g(default)f(b)m(y) h(the)f Ft(-e)g Fu(option)h(to)g(the)f Ft(fc)g Fu(builtin)g(command.) -150 4415 y Ft(FIGNORE)144 b Fu(A)35 b(colon-separated)i(list)f(of)g +150 4634 y Ft(FIGNORE)144 b Fu(A)35 b(colon-separated)i(list)f(of)g (su\016xes)e(to)i(ignore)g(when)e(p)s(erforming)g(\014lename)i(comple-) -630 4524 y(tion.)k(A)27 b(\014lename)g(whose)f(su\016x)g(matc)m(hes)i +630 4743 y(tion.)k(A)27 b(\014lename)g(whose)f(su\016x)g(matc)m(hes)i (one)f(of)g(the)g(en)m(tries)g(in)g Ft(FIGNORE)d Fu(is)j(excluded)630 -4634 y(from)j(the)g(list)h(of)g(matc)m(hed)g(\014lenames.)41 +4853 y(from)j(the)g(list)h(of)g(matc)m(hed)g(\014lenames.)41 b(A)30 b(sample)h(v)-5 b(alue)31 b(is)f(`)p Ft(.o:~)p -Fu(')150 4792 y Ft(FUNCNAME)96 b Fu(An)35 b(arra)m(y)i(v)-5 +Fu(')150 5011 y Ft(FUNCNAME)96 b Fu(An)35 b(arra)m(y)i(v)-5 b(ariable)36 b(con)m(taining)h(the)f(names)g(of)g(all)g(shell)g -(functions)g(curren)m(tly)f(in)h(the)630 4902 y(execution)g(call)h +(functions)g(curren)m(tly)f(in)h(the)630 5121 y(execution)g(call)h (stac)m(k.)57 b(The)34 b(elemen)m(t)j(with)e(index)g(0)h(is)f(the)g -(name)h(of)f(an)m(y)h(curren)m(tly-)630 5011 y(executing)f(shell)f +(name)h(of)f(an)m(y)h(curren)m(tly-)630 5230 y(executing)f(shell)f (function.)51 b(The)34 b(b)s(ottom-most)h(elemen)m(t)g(\(the)g(one)f -(with)g(the)g(highest)630 5121 y(index\))e(is)h Ft("main")p +(with)g(the)g(highest)630 5340 y(index\))e(is)h Ft("main")p Fu(.)44 b(This)32 b(v)-5 b(ariable)33 b(exists)g(only)g(when)e(a)i -(shell)f(function)g(is)g(executing.)630 5230 y(Assignmen)m(ts)23 -b(to)f Ft(FUNCNAME)e Fu(ha)m(v)m(e)k(no)e(e\013ect.)39 -b(If)22 b Ft(FUNCNAME)e Fu(is)i(unset,)h(it)g(loses)g(its)f(sp)s(ecial) -630 5340 y(prop)s(erties,)30 b(ev)m(en)h(if)f(it)h(is)g(subsequen)m -(tly)f(reset.)p eop end +(shell)f(function)g(is)g(executing.)p eop end %%Page: 78 84 TeXDict begin 78 83 bop 150 -116 a Fu(Chapter)30 b(5:)41 -b(Shell)30 b(V)-8 b(ariables)2459 b(78)630 299 y(This)31 -b(v)-5 b(ariable)32 b(can)f(b)s(e)g(used)g(with)g Ft(BASH_LINENO)d -Fu(and)j Ft(BASH_SOURCE)p Fu(.)40 b(Eac)m(h)32 b(elemen)m(t)630 -408 y(of)g Ft(FUNCNAME)d Fu(has)j(corresp)s(onding)e(elemen)m(ts)j(in)f -Ft(BASH_LINENO)c Fu(and)k Ft(BASH_SOURCE)c Fu(to)630 -518 y(describ)s(e)39 b(the)h(call)h(stac)m(k.)70 b(F)-8 -b(or)41 b(instance,)i Ft(${FUNCNAME[$i]})35 b Fu(w)m(as)41 -b(called)f(from)g(the)630 628 y(\014le)27 b Ft(${BASH_SOURCE[$i+1]})21 -b Fu(at)27 b(line)h(n)m(um)m(b)s(er)d Ft(${BASH_LINENO[$i]})p -Fu(.)34 b(The)27 b Ft(caller)630 737 y Fu(builtin)j(displa)m(ys)g(the)h -(curren)m(t)f(call)i(stac)m(k)g(using)d(this)i(information.)150 -894 y Ft(FUNCNEST)96 b Fu(If)34 b(set)i(to)f(a)h(n)m(umeric)e(v)-5 +b(Shell)30 b(V)-8 b(ariables)2459 b(78)630 299 y(Assignmen)m(ts)23 +b(to)f Ft(FUNCNAME)e Fu(ha)m(v)m(e)k(no)e(e\013ect.)39 +b(If)22 b Ft(FUNCNAME)e Fu(is)i(unset,)h(it)g(loses)g(its)f(sp)s(ecial) +630 408 y(prop)s(erties,)30 b(ev)m(en)h(if)f(it)h(is)g(subsequen)m(tly) +f(reset.)630 543 y(This)h(v)-5 b(ariable)32 b(can)f(b)s(e)g(used)g +(with)g Ft(BASH_LINENO)d Fu(and)j Ft(BASH_SOURCE)p Fu(.)40 +b(Eac)m(h)32 b(elemen)m(t)630 653 y(of)g Ft(FUNCNAME)d +Fu(has)j(corresp)s(onding)e(elemen)m(ts)j(in)f Ft(BASH_LINENO)c +Fu(and)k Ft(BASH_SOURCE)c Fu(to)630 763 y(describ)s(e)39 +b(the)h(call)h(stac)m(k.)70 b(F)-8 b(or)41 b(instance,)i +Ft(${FUNCNAME[$i]})35 b Fu(w)m(as)41 b(called)f(from)g(the)630 +872 y(\014le)27 b Ft(${BASH_SOURCE[$i+1]})21 b Fu(at)27 +b(line)h(n)m(um)m(b)s(er)d Ft(${BASH_LINENO[$i]})p Fu(.)34 +b(The)27 b Ft(caller)630 982 y Fu(builtin)j(displa)m(ys)g(the)h(curren) +m(t)f(call)i(stac)m(k)g(using)d(this)i(information.)150 +1142 y Ft(FUNCNEST)96 b Fu(If)34 b(set)i(to)f(a)h(n)m(umeric)e(v)-5 b(alue)36 b(greater)g(than)e(0,)j(de\014nes)d(a)h(maxim)m(um)g -(function)g(nesting)630 1003 y(lev)m(el.)42 b(F)-8 b(unction)29 +(function)g(nesting)630 1251 y(lev)m(el.)42 b(F)-8 b(unction)29 b(in)m(v)m(o)s(cations)h(that)f(exceed)h(this)e(nesting)h(lev)m(el)h -(will)f(cause)g(the)f(curren)m(t)630 1113 y(command)i(to)h(ab)s(ort.) -150 1270 y Ft(GLOBIGNORE)630 1379 y Fu(A)k(colon-separated)i(list)f(of) +(will)f(cause)g(the)f(curren)m(t)630 1361 y(command)i(to)h(ab)s(ort.) +150 1521 y Ft(GLOBIGNORE)630 1631 y Fu(A)k(colon-separated)i(list)f(of) f(patterns)g(de\014ning)f(the)i(set)f(of)g(\014le)h(names)f(to)g(b)s(e) -g(ignored)630 1489 y(b)m(y)28 b(\014lename)h(expansion.)40 +g(ignored)630 1740 y(b)m(y)28 b(\014lename)h(expansion.)40 b(If)28 b(a)h(\014le)g(name)g(matc)m(hed)g(b)m(y)g(a)g(\014lename)f -(expansion)h(pattern)630 1598 y(also)k(matc)m(hes)g(one)f(of)g(the)g +(expansion)h(pattern)630 1850 y(also)k(matc)m(hes)g(one)f(of)g(the)g (patterns)g(in)f Ft(GLOBIGNORE)p Fu(,)f(it)i(is)g(remo)m(v)m(ed)h(from) -e(the)h(list)h(of)630 1708 y(matc)m(hes.)41 b(The)27 +e(the)h(list)h(of)630 1960 y(matc)m(hes.)41 b(The)27 b(pattern)g(matc)m(hing)h(honors)f(the)g(setting)i(of)e(the)h -Ft(extglob)d Fu(shell)i(option.)150 1864 y Ft(GROUPS)192 +Ft(extglob)d Fu(shell)i(option.)150 2120 y Ft(GROUPS)192 b Fu(An)36 b(arra)m(y)g(v)-5 b(ariable)37 b(con)m(taining)g(the)f(list) h(of)f(groups)g(of)g(whic)m(h)f(the)i(curren)m(t)e(user)h(is)g(a)630 -1974 y(mem)m(b)s(er.)41 b(Assignmen)m(ts)30 b(to)i Ft(GROUPS)d +2229 y(mem)m(b)s(er.)41 b(Assignmen)m(ts)30 b(to)i Ft(GROUPS)d Fu(ha)m(v)m(e)i(no)g(e\013ect.)42 b(If)30 b Ft(GROUPS)f -Fu(is)i(unset,)f(it)h(loses)h(its)630 2084 y(sp)s(ecial)f(prop)s +Fu(is)i(unset,)f(it)h(loses)h(its)630 2339 y(sp)s(ecial)f(prop)s (erties,)f(ev)m(en)h(if)f(it)h(is)g(subsequen)m(tly)f(reset.)150 -2240 y Ft(histchars)630 2350 y Fu(Up)c(to)g(three)g(c)m(haracters)i +2499 y Ft(histchars)630 2609 y Fu(Up)c(to)g(three)g(c)m(haracters)i (whic)m(h)d(con)m(trol)j(history)d(expansion,)i(quic)m(k)g -(substitution,)g(and)630 2459 y(tok)m(enization)k(\(see)f(Section)f +(substitution,)g(and)630 2718 y(tok)m(enization)k(\(see)f(Section)f (9.3)h([History)f(In)m(teraction],)i(page)f(142\).)41 -b(The)29 b(\014rst)e(c)m(harac-)630 2569 y(ter)j(is)f(the)g +b(The)29 b(\014rst)e(c)m(harac-)630 2828 y(ter)j(is)f(the)g Fr(history)g(expansion)g Fu(c)m(haracter,)j(that)e(is,)f(the)h(c)m -(haracter)h(whic)m(h)d(signi\014es)i(the)630 2679 y(start)25 +(haracter)h(whic)m(h)d(signi\014es)i(the)630 2937 y(start)25 b(of)f(a)h(history)f(expansion,)i(normally)e(`)p Ft(!)p Fu('.)39 b(The)24 b(second)g(c)m(haracter)i(is)e(the)g(c)m(haracter)630 -2788 y(whic)m(h)36 b(signi\014es)g(`quic)m(k)h(substitution')f(when)f +3047 y(whic)m(h)36 b(signi\014es)g(`quic)m(k)h(substitution')f(when)f (seen)h(as)g(the)g(\014rst)f(c)m(haracter)j(on)e(a)g(line,)630 -2898 y(normally)27 b(`)p Ft(^)p Fu('.)39 b(The)26 b(optional)i(third)d +3157 y(normally)27 b(`)p Ft(^)p Fu('.)39 b(The)26 b(optional)i(third)d (c)m(haracter)j(is)e(the)h(c)m(haracter)h(whic)m(h)e(indicates)h(that) -630 3007 y(the)34 b(remainder)f(of)h(the)g(line)g(is)f(a)h(commen)m(t)h +630 3266 y(the)34 b(remainder)f(of)h(the)g(line)g(is)f(a)h(commen)m(t)h (when)e(found)f(as)i(the)g(\014rst)f(c)m(haracter)i(of)f(a)630 -3117 y(w)m(ord,)i(usually)f(`)p Ft(#)p Fu('.)55 b(The)34 +3376 y(w)m(ord,)i(usually)f(`)p Ft(#)p Fu('.)55 b(The)34 b(history)h(commen)m(t)h(c)m(haracter)h(causes)e(history)g -(substitution)630 3226 y(to)27 b(b)s(e)f(skipp)s(ed)f(for)i(the)f +(substitution)630 3485 y(to)27 b(b)s(e)f(skipp)s(ed)f(for)i(the)f (remaining)h(w)m(ords)f(on)h(the)f(line.)40 b(It)27 b(do)s(es)f(not)h -(necessarily)g(cause)630 3336 y(the)k(shell)f(parser)g(to)h(treat)g +(necessarily)g(cause)630 3595 y(the)k(shell)f(parser)g(to)h(treat)g (the)g(rest)g(of)f(the)h(line)f(as)h(a)g(commen)m(t.)150 -3493 y Ft(HISTCMD)144 b Fu(The)35 b(history)h(n)m(um)m(b)s(er,)g(or)f +3755 y Ft(HISTCMD)144 b Fu(The)35 b(history)h(n)m(um)m(b)s(er,)g(or)f (index)g(in)h(the)g(history)f(list,)j(of)e(the)g(curren)m(t)f(command.) -56 b(If)630 3602 y Ft(HISTCMD)28 b Fu(is)h(unset,)h(it)g(loses)h(its)f +56 b(If)630 3865 y Ft(HISTCMD)28 b Fu(is)h(unset,)h(it)g(loses)h(its)f (sp)s(ecial)g(prop)s(erties,)g(ev)m(en)g(if)g(it)g(is)g(subsequen)m -(tly)f(reset.)150 3759 y Ft(HISTCONTROL)630 3868 y Fu(A)40 +(tly)f(reset.)150 4025 y Ft(HISTCONTROL)630 4134 y Fu(A)40 b(colon-separated)i(list)f(of)f(v)-5 b(alues)40 b(con)m(trolling)i(ho)m -(w)e(commands)g(are)h(sa)m(v)m(ed)g(on)f(the)630 3978 +(w)e(commands)g(are)h(sa)m(v)m(ed)g(on)f(the)630 4244 y(history)29 b(list.)41 b(If)28 b(the)h(list)h(of)f(v)-5 b(alues)29 b(includes)f(`)p Ft(ignorespace)p Fu(',)f(lines)i(whic)m(h)g -(b)s(egin)f(with)630 4088 y(a)39 b(space)g(c)m(haracter)i(are)e(not)g +(b)s(egin)f(with)630 4354 y(a)39 b(space)g(c)m(haracter)i(are)e(not)g (sa)m(v)m(ed)g(in)g(the)g(history)f(list.)66 b(A)39 b(v)-5 -b(alue)39 b(of)g(`)p Ft(ignoredups)p Fu(')630 4197 y(causes)34 +b(alue)39 b(of)g(`)p Ft(ignoredups)p Fu(')630 4463 y(causes)34 b(lines)h(whic)m(h)f(matc)m(h)h(the)f(previous)f(history)h(en)m(try)h (to)g(not)f(b)s(e)f(sa)m(v)m(ed.)53 b(A)34 b(v)-5 b(alue)630 -4307 y(of)32 b(`)p Ft(ignoreboth)p Fu(')d(is)j(shorthand)e(for)i(`)p +4573 y(of)32 b(`)p Ft(ignoreboth)p Fu(')d(is)j(shorthand)e(for)i(`)p Ft(ignorespace)p Fu(')d(and)i(`)p Ft(ignoredups)p Fu('.)42 -b(A)32 b(v)-5 b(alue)32 b(of)630 4416 y(`)p Ft(erasedups)p +b(A)32 b(v)-5 b(alue)32 b(of)630 4682 y(`)p Ft(erasedups)p Fu(')f(causes)i(all)h(previous)f(lines)g(matc)m(hing)h(the)f(curren)m -(t)g(line)g(to)h(b)s(e)e(remo)m(v)m(ed)630 4526 y(from)42 +(t)g(line)g(to)h(b)s(e)e(remo)m(v)m(ed)630 4792 y(from)42 b(the)h(history)f(list)i(b)s(efore)e(that)h(line)g(is)g(sa)m(v)m(ed.)78 b(An)m(y)43 b(v)-5 b(alue)43 b(not)g(in)f(the)h(ab)s(o)m(v)m(e)630 -4635 y(list)35 b(is)g(ignored.)53 b(If)34 b Ft(HISTCONTROL)e +4902 y(list)35 b(is)g(ignored.)53 b(If)34 b Ft(HISTCONTROL)e Fu(is)i(unset,)i(or)e(do)s(es)h(not)g(include)f(a)h(v)-5 -b(alid)35 b(v)-5 b(alue,)36 b(all)630 4745 y(lines)30 +b(alid)35 b(v)-5 b(alue,)36 b(all)630 5011 y(lines)30 b(read)g(b)m(y)g(the)g(shell)g(parser)g(are)g(sa)m(v)m(ed)h(on)f(the)g (history)g(list,)h(sub)5 b(ject)30 b(to)g(the)g(v)-5 -b(alue)630 4855 y(of)42 b Ft(HISTIGNORE)p Fu(.)73 b(The)42 +b(alue)630 5121 y(of)42 b Ft(HISTIGNORE)p Fu(.)73 b(The)42 b(second)g(and)g(subsequen)m(t)f(lines)h(of)h(a)f(m)m(ulti-line)h(comp) -s(ound)630 4964 y(command)33 b(are)h(not)g(tested,)i(and)d(are)h(added) +s(ound)630 5230 y(command)33 b(are)h(not)g(tested,)i(and)d(are)h(added) f(to)h(the)g(history)g(regardless)g(of)g(the)f(v)-5 b(alue)630 -5074 y(of)31 b Ft(HISTCONTROL)p Fu(.)150 5230 y Ft(HISTFILE)96 -b Fu(The)27 b(name)h(of)g(the)g(\014le)g(to)h(whic)m(h)f(the)g(command) -f(history)h(is)g(sa)m(v)m(ed.)41 b(The)27 b(default)h(v)-5 -b(alue)630 5340 y(is)30 b Ft(~/.bash_history)p Fu(.)p -eop end +5340 y(of)31 b Ft(HISTCONTROL)p Fu(.)p eop end %%Page: 79 85 TeXDict begin 79 84 bop 150 -116 a Fu(Chapter)30 b(5:)41 -b(Shell)30 b(V)-8 b(ariables)2459 b(79)150 299 y Ft(HISTFILESIZE)630 -408 y Fu(The)26 b(maxim)m(um)f(n)m(um)m(b)s(er)g(of)h(lines)h(con)m -(tained)g(in)f(the)g(history)g(\014le.)39 b(When)26 b(this)g(v)-5 -b(ariable)630 518 y(is)25 b(assigned)h(a)g(v)-5 b(alue,)27 -b(the)f(history)f(\014le)h(is)f(truncated,)i(if)e(necessary)-8 -b(,)28 b(to)e(con)m(tain)g(no)g(more)630 628 y(than)37 +b(Shell)30 b(V)-8 b(ariables)2459 b(79)150 299 y Ft(HISTFILE)96 +b Fu(The)27 b(name)h(of)g(the)g(\014le)g(to)h(whic)m(h)f(the)g(command) +f(history)h(is)g(sa)m(v)m(ed.)41 b(The)27 b(default)h(v)-5 +b(alue)630 408 y(is)30 b Ft(~/.bash_history)p Fu(.)150 +569 y Ft(HISTFILESIZE)630 678 y Fu(The)c(maxim)m(um)f(n)m(um)m(b)s(er)g +(of)h(lines)h(con)m(tained)g(in)f(the)g(history)g(\014le.)39 +b(When)26 b(this)g(v)-5 b(ariable)630 788 y(is)25 b(assigned)h(a)g(v)-5 +b(alue,)27 b(the)f(history)f(\014le)h(is)f(truncated,)i(if)e(necessary) +-8 b(,)28 b(to)e(con)m(tain)g(no)g(more)630 897 y(than)37 b(that)h(n)m(um)m(b)s(er)d(of)j(lines)f(b)m(y)g(remo)m(ving)h(the)f (oldest)h(en)m(tries.)62 b(The)37 b(history)g(\014le)g(is)630 -737 y(also)i(truncated)f(to)h(this)e(size)i(after)g(writing)f(it)g +1007 y(also)i(truncated)f(to)h(this)e(size)i(after)g(writing)f(it)g (when)f(a)h(shell)h(exits.)64 b(If)37 b(the)h(v)-5 b(alue)39 -b(is)630 847 y(0,)g(the)e(history)f(\014le)h(is)g(truncated)f(to)i +b(is)630 1117 y(0,)g(the)e(history)f(\014le)h(is)g(truncated)f(to)i (zero)f(size.)60 b(Non-n)m(umeric)37 b(v)-5 b(alues)37 -b(and)f(n)m(umeric)630 956 y(v)-5 b(alues)31 b(less)f(than)g(zero)h +b(and)f(n)m(umeric)630 1226 y(v)-5 b(alues)31 b(less)f(than)g(zero)h (inhibit)f(truncation.)41 b(The)29 b(shell)i(sets)f(the)h(default)f(v) --5 b(alue)31 b(to)g(the)630 1066 y(v)-5 b(alue)31 b(of)f +-5 b(alue)31 b(to)g(the)630 1336 y(v)-5 b(alue)31 b(of)f Ft(HISTSIZE)f Fu(after)h(reading)h(an)m(y)g(startup)f(\014les.)150 -1243 y Ft(HISTIGNORE)630 1353 y Fu(A)j(colon-separated)h(list)f(of)g +1496 y Ft(HISTIGNORE)630 1606 y Fu(A)j(colon-separated)h(list)f(of)g (patterns)f(used)g(to)h(decide)g(whic)m(h)f(command)g(lines)h(should) -630 1462 y(b)s(e)f(sa)m(v)m(ed)h(on)g(the)f(history)h(list.)47 +630 1715 y(b)s(e)f(sa)m(v)m(ed)h(on)g(the)f(history)h(list.)47 b(Eac)m(h)33 b(pattern)g(is)f(anc)m(hored)h(at)g(the)f(b)s(eginning)g -(of)h(the)630 1572 y(line)43 b(and)e(m)m(ust)h(matc)m(h)h(the)g +(of)h(the)630 1825 y(line)43 b(and)e(m)m(ust)h(matc)m(h)h(the)g (complete)h(line)e(\(no)h(implicit)g(`)p Ft(*)p Fu(')f(is)g(app)s -(ended\).)75 b(Eac)m(h)630 1681 y(pattern)42 b(is)g(tested)g(against)h +(ended\).)75 b(Eac)m(h)630 1934 y(pattern)42 b(is)g(tested)g(against)h (the)f(line)g(after)g(the)g(c)m(hec)m(ks)h(sp)s(eci\014ed)e(b)m(y)h -Ft(HISTCONTROL)630 1791 y Fu(are)37 b(applied.)59 b(In)36 +Ft(HISTCONTROL)630 2044 y Fu(are)37 b(applied.)59 b(In)36 b(addition)h(to)g(the)g(normal)g(shell)f(pattern)h(matc)m(hing)h(c)m -(haracters,)i(`)p Ft(&)p Fu(')630 1901 y(matc)m(hes)d(the)f(previous)g +(haracters,)i(`)p Ft(&)p Fu(')630 2153 y(matc)m(hes)d(the)f(previous)g (history)g(line.)57 b(`)p Ft(&)p Fu(')36 b(ma)m(y)h(b)s(e)e(escap)s(ed) -h(using)g(a)g(bac)m(kslash;)k(the)630 2010 y(bac)m(kslash)34 +h(using)g(a)g(bac)m(kslash;)k(the)630 2263 y(bac)m(kslash)34 b(is)g(remo)m(v)m(ed)h(b)s(efore)e(attempting)i(a)g(matc)m(h.)51 -b(The)34 b(second)f(and)h(subsequen)m(t)630 2120 y(lines)e(of)h(a)g(m)m +b(The)34 b(second)f(and)h(subsequen)m(t)630 2373 y(lines)e(of)h(a)g(m)m (ulti-line)g(comp)s(ound)e(command)h(are)h(not)f(tested,)i(and)e(are)g -(added)g(to)h(the)630 2229 y(history)k(regardless)h(of)f(the)g(v)-5 +(added)g(to)h(the)630 2482 y(history)k(regardless)h(of)f(the)g(v)-5 b(alue)38 b(of)f Ft(HISTIGNORE)p Fu(.)58 b(The)37 b(pattern)g(matc)m -(hing)i(honors)630 2339 y(the)31 b(setting)g(of)g(the)f -Ft(extglob)f Fu(shell)h(option.)630 2482 y Ft(HISTIGNORE)20 +(hing)i(honors)630 2592 y(the)31 b(setting)g(of)g(the)f +Ft(extglob)f Fu(shell)h(option.)630 2727 y Ft(HISTIGNORE)20 b Fu(subsumes)g(the)j(function)f(of)h Ft(HISTCONTROL)p Fu(.)35 b(A)23 b(pattern)f(of)h(`)p Ft(&)p Fu(')g(is)f(iden)m(tical)630 -2592 y(to)k Ft(ignoredups)p Fu(,)e(and)h(a)h(pattern)g(of)f(`)p +2836 y(to)k Ft(ignoredups)p Fu(,)e(and)h(a)h(pattern)g(of)f(`)p Ft([)31 b(]*)p Fu(')25 b(is)h(iden)m(tical)h(to)f Ft(ignorespace)p -Fu(.)36 b(Com)m(bining)630 2701 y(these)30 b(t)m(w)m(o)h(patterns,)f +Fu(.)36 b(Com)m(bining)630 2946 y(these)30 b(t)m(w)m(o)h(patterns,)f (separating)g(them)g(with)f(a)h(colon,)h(pro)m(vides)e(the)h -(functionalit)m(y)h(of)630 2811 y Ft(ignoreboth)p Fu(.)150 -2988 y Ft(HISTSIZE)96 b Fu(The)37 b(maxim)m(um)g(n)m(um)m(b)s(er)e(of)j +(functionalit)m(y)h(of)630 3055 y Ft(ignoreboth)p Fu(.)150 +3216 y Ft(HISTSIZE)96 b Fu(The)37 b(maxim)m(um)g(n)m(um)m(b)s(er)e(of)j (commands)f(to)g(remem)m(b)s(er)g(on)g(the)g(history)g(list.)62 -b(If)37 b(the)630 3098 y(v)-5 b(alue)26 b(is)g(0,)i(commands)d(are)h +b(If)37 b(the)630 3325 y(v)-5 b(alue)26 b(is)g(0,)i(commands)d(are)h (not)h(sa)m(v)m(ed)g(in)e(the)h(history)g(list.)40 b(Numeric)26 -b(v)-5 b(alues)26 b(less)g(than)630 3207 y(zero)i(result)e(in)h(ev)m +b(v)-5 b(alues)26 b(less)g(than)630 3435 y(zero)i(result)e(in)h(ev)m (ery)g(command)g(b)s(eing)f(sa)m(v)m(ed)i(on)f(the)g(history)f(list)i -(\(there)f(is)g(no)g(limit\).)630 3317 y(The)j(shell)g(sets)h(the)g +(\(there)f(is)g(no)g(limit\).)630 3544 y(The)j(shell)g(sets)h(the)g (default)f(v)-5 b(alue)31 b(to)g(500)h(after)f(reading)f(an)m(y)h -(startup)f(\014les.)150 3494 y Ft(HISTTIMEFORMAT)630 -3603 y Fu(If)44 b(this)g(v)-5 b(ariable)45 b(is)f(set)g(and)g(not)g(n)m +(startup)f(\014les.)150 3705 y Ft(HISTTIMEFORMAT)630 +3814 y Fu(If)44 b(this)g(v)-5 b(ariable)45 b(is)f(set)g(and)g(not)g(n)m (ull,)k(its)d(v)-5 b(alue)44 b(is)g(used)g(as)g(a)h(format)f(string)g -(for)630 3713 y Fr(strftime)c Fu(to)35 b(prin)m(t)f(the)h(time)g(stamp) +(for)630 3924 y Fr(strftime)c Fu(to)35 b(prin)m(t)f(the)h(time)g(stamp) f(asso)s(ciated)i(with)f(eac)m(h)g(history)g(en)m(try)f(displa)m(y)m -(ed)630 3823 y(b)m(y)g(the)f Ft(history)f Fu(builtin.)50 +(ed)630 4033 y(b)m(y)g(the)f Ft(history)f Fu(builtin.)50 b(If)33 b(this)h(v)-5 b(ariable)34 b(is)g(set,)h(time)f(stamps)g(are)g -(written)f(to)i(the)630 3932 y(history)26 b(\014le)g(so)g(they)g(ma)m +(written)f(to)i(the)630 4143 y(history)26 b(\014le)g(so)g(they)g(ma)m (y)h(b)s(e)e(preserv)m(ed)g(across)i(shell)f(sessions.)39 -b(This)25 b(uses)h(the)g(history)630 4042 y(commen)m(t)31 +b(This)25 b(uses)h(the)g(history)630 4253 y(commen)m(t)31 b(c)m(haracter)h(to)f(distinguish)f(timestamps)h(from)f(other)g -(history)h(lines.)150 4219 y Ft(HOSTFILE)96 b Fu(Con)m(tains)33 +(history)h(lines.)150 4413 y Ft(HOSTFILE)96 b Fu(Con)m(tains)33 b(the)g(name)f(of)h(a)g(\014le)f(in)g(the)h(same)g(format)g(as)f -Ft(/etc/hosts)e Fu(that)j(should)f(b)s(e)630 4328 y(read)21 +Ft(/etc/hosts)e Fu(that)j(should)f(b)s(e)630 4522 y(read)21 b(when)g(the)g(shell)h(needs)f(to)h(complete)h(a)e(hostname.)38 -b(The)21 b(list)h(of)g(p)s(ossible)f(hostname)630 4438 +b(The)21 b(list)h(of)g(p)s(ossible)f(hostname)630 4632 y(completions)27 b(ma)m(y)f(b)s(e)f(c)m(hanged)h(while)f(the)h(shell)g -(is)f(running;)h(the)g(next)f(time)i(hostname)630 4548 +(is)f(running;)h(the)g(next)f(time)i(hostname)630 4741 y(completion)33 b(is)g(attempted)g(after)g(the)f(v)-5 b(alue)33 b(is)f(c)m(hanged,)i(Bash)e(adds)f(the)i(con)m(ten)m(ts)h(of) -630 4657 y(the)h(new)f(\014le)g(to)h(the)g(existing)h(list.)53 +630 4851 y(the)h(new)f(\014le)g(to)h(the)g(existing)h(list.)53 b(If)34 b Ft(HOSTFILE)e Fu(is)j(set,)h(but)e(has)g(no)h(v)-5 -b(alue,)36 b(or)e(do)s(es)630 4767 y(not)d(name)f(a)h(readable)g +b(alue,)36 b(or)e(do)s(es)630 4961 y(not)d(name)f(a)h(readable)g (\014le,)g(Bash)f(attempts)i(to)f(read)f Ft(/etc/hosts)e -Fu(to)j(obtain)g(the)f(list)630 4876 y(of)h(p)s(ossible)f(hostname)h +Fu(to)j(obtain)g(the)f(list)630 5070 y(of)h(p)s(ossible)f(hostname)h (completions.)43 b(When)31 b Ft(HOSTFILE)d Fu(is)j(unset,)f(the)h -(hostname)g(list)630 4986 y(is)f(cleared.)150 5163 y -Ft(HOSTNAME)96 b Fu(The)30 b(name)g(of)h(the)f(curren)m(t)h(host.)150 -5340 y Ft(HOSTTYPE)96 b Fu(A)30 b(string)h(describing)f(the)g(mac)m -(hine)h(Bash)g(is)f(running)f(on.)p eop end +(hostname)g(list)630 5180 y(is)f(cleared.)150 5340 y +Ft(HOSTNAME)96 b Fu(The)30 b(name)g(of)h(the)f(curren)m(t)h(host.)p +eop end %%Page: 80 86 TeXDict begin 80 85 bop 150 -116 a Fu(Chapter)30 b(5:)41 -b(Shell)30 b(V)-8 b(ariables)2459 b(80)150 299 y Ft(IGNOREEOF)630 -408 y Fu(Con)m(trols)27 b(the)h(action)g(of)f(the)g(shell)g(on)g -(receipt)h(of)f(an)g Ft(EOF)f Fu(c)m(haracter)i(as)g(the)f(sole)h -(input.)630 518 y(If)i(set,)i(the)f(v)-5 b(alue)32 b(denotes)f(the)g(n) -m(um)m(b)s(er)f(of)h(consecutiv)m(e)i Ft(EOF)d Fu(c)m(haracters)i(that) -f(can)h(b)s(e)630 628 y(read)40 b(as)f(the)h(\014rst)f(c)m(haracter)i -(on)f(an)f(input)g(line)h(b)s(efore)f(the)h(shell)g(will)g(exit.)70 -b(If)39 b(the)630 737 y(v)-5 b(ariable)38 b(exists)f(but)f(do)s(es)g -(not)h(ha)m(v)m(e)h(a)g(n)m(umeric)e(v)-5 b(alue)37 b(\(or)h(has)e(no)h -(v)-5 b(alue\))37 b(then)g(the)630 847 y(default)31 b(is)g(10.)43 -b(If)30 b(the)h(v)-5 b(ariable)31 b(do)s(es)g(not)g(exist,)h(then)e -Ft(EOF)g Fu(signi\014es)h(the)g(end)f(of)h(input)630 -956 y(to)g(the)g(shell.)41 b(This)29 b(is)i(only)f(in)g(e\013ect)i(for) -e(in)m(teractiv)m(e)j(shells.)150 1108 y Ft(INPUTRC)144 -b Fu(The)68 b(name)h(of)f(the)h(Readline)g(initialization)j(\014le,)78 -b(o)m(v)m(erriding)69 b(the)g(default)g(of)630 1218 y -Ft(~/.inputrc)p Fu(.)150 1369 y Ft(LANG)288 b Fu(Used)28 -b(to)h(determine)f(the)g(lo)s(cale)h(category)h(for)e(an)m(y)h -(category)h(not)e(sp)s(eci\014cally)g(selected)630 1479 -y(with)i(a)h(v)-5 b(ariable)31 b(starting)g(with)f Ft(LC_)p -Fu(.)150 1631 y Ft(LC_ALL)192 b Fu(This)28 b(v)-5 b(ariable)29 -b(o)m(v)m(errides)h(the)f(v)-5 b(alue)29 b(of)g Ft(LANG)f -Fu(and)g(an)m(y)h(other)g Ft(LC_)f Fu(v)-5 b(ariable)29 -b(sp)s(ecifying)630 1740 y(a)i(lo)s(cale)h(category)-8 -b(.)150 1892 y Ft(LC_COLLATE)630 2002 y Fu(This)37 b(v)-5 -b(ariable)38 b(determines)g(the)g(collation)i(order)d(used)g(when)f -(sorting)i(the)g(results)g(of)630 2111 y(\014lename)e(expansion,)i(and) -e(determines)g(the)h(b)s(eha)m(vior)f(of)g(range)h(expressions,)h -(equiv-)630 2221 y(alence)e(classes,)h(and)e(collating)i(sequences)e -(within)f(\014lename)h(expansion)g(and)f(pattern)630 -2330 y(matc)m(hing)d(\(see)h(Section)f(3.5.8)h([Filename)g(Expansion],) -e(page)h(31\).)150 2482 y Ft(LC_CTYPE)96 b Fu(This)36 -b(v)-5 b(ariable)37 b(determines)f(the)h(in)m(terpretation)h(of)f(c)m -(haracters)h(and)e(the)g(b)s(eha)m(vior)h(of)630 2592 -y(c)m(haracter)46 b(classes)g(within)e(\014lename)h(expansion)g(and)f -(pattern)h(matc)m(hing)h(\(see)f(Sec-)630 2701 y(tion)31 -b(3.5.8)h([Filename)g(Expansion],)e(page)h(31\).)150 -2853 y Ft(LC_MESSAGES)630 2963 y Fu(This)25 b(v)-5 b(ariable)27 +b(Shell)30 b(V)-8 b(ariables)2459 b(80)150 299 y Ft(HOSTTYPE)96 +b Fu(A)30 b(string)h(describing)f(the)g(mac)m(hine)h(Bash)g(is)f +(running)f(on.)150 448 y Ft(IGNOREEOF)630 557 y Fu(Con)m(trols)e(the)h +(action)g(of)f(the)g(shell)g(on)g(receipt)h(of)f(an)g +Ft(EOF)f Fu(c)m(haracter)i(as)g(the)f(sole)h(input.)630 +667 y(If)i(set,)i(the)f(v)-5 b(alue)32 b(denotes)f(the)g(n)m(um)m(b)s +(er)f(of)h(consecutiv)m(e)i Ft(EOF)d Fu(c)m(haracters)i(that)f(can)h(b) +s(e)630 776 y(read)40 b(as)f(the)h(\014rst)f(c)m(haracter)i(on)f(an)f +(input)g(line)h(b)s(efore)f(the)h(shell)g(will)g(exit.)70 +b(If)39 b(the)630 886 y(v)-5 b(ariable)39 b(exists)f(but)g(do)s(es)f +(not)h(ha)m(v)m(e)h(a)g(n)m(umeric)f(v)-5 b(alue,)40 +b(or)e(has)g(no)g(v)-5 b(alue,)40 b(then)e(the)630 996 +y(default)31 b(is)g(10.)43 b(If)30 b(the)h(v)-5 b(ariable)31 +b(do)s(es)g(not)g(exist,)h(then)e Ft(EOF)g Fu(signi\014es)h(the)g(end)f +(of)h(input)630 1105 y(to)g(the)g(shell.)41 b(This)29 +b(is)i(only)f(in)g(e\013ect)i(for)e(in)m(teractiv)m(e)j(shells.)150 +1254 y Ft(INPUTRC)144 b Fu(The)68 b(name)h(of)f(the)h(Readline)g +(initialization)j(\014le,)78 b(o)m(v)m(erriding)69 b(the)g(default)g +(of)630 1363 y Ft(~/.inputrc)p Fu(.)150 1512 y Ft(INSIDE_EMACS)630 +1622 y Fu(If)29 b(Bash)h(\014nds)e(this)h(v)-5 b(ariable)31 +b(in)e(the)h(en)m(vironmen)m(t)g(when)e(the)i(shell)g(starts,)g(it)g +(assumes)630 1731 y(that)i(the)g(shell)g(is)f(running)f(in)i(an)f +(Emacs)h(shell)g(bu\013er)e(and)h(ma)m(y)i(disable)e(line)h(editing)630 +1841 y(dep)s(ending)d(on)h(the)h(v)-5 b(alue)31 b(of)f +Ft(TERM)p Fu(.)150 1990 y Ft(LANG)288 b Fu(Used)28 b(to)h(determine)f +(the)g(lo)s(cale)h(category)h(for)e(an)m(y)h(category)h(not)e(sp)s +(eci\014cally)g(selected)630 2099 y(with)i(a)h(v)-5 b(ariable)31 +b(starting)g(with)f Ft(LC_)p Fu(.)150 2248 y Ft(LC_ALL)192 +b Fu(This)28 b(v)-5 b(ariable)29 b(o)m(v)m(errides)h(the)f(v)-5 +b(alue)29 b(of)g Ft(LANG)f Fu(and)g(an)m(y)h(other)g +Ft(LC_)f Fu(v)-5 b(ariable)29 b(sp)s(ecifying)630 2358 +y(a)i(lo)s(cale)h(category)-8 b(.)150 2506 y Ft(LC_COLLATE)630 +2616 y Fu(This)37 b(v)-5 b(ariable)38 b(determines)g(the)g(collation)i +(order)d(used)g(when)f(sorting)i(the)g(results)g(of)630 +2725 y(\014lename)e(expansion,)i(and)e(determines)g(the)h(b)s(eha)m +(vior)f(of)g(range)h(expressions,)h(equiv-)630 2835 y(alence)e +(classes,)h(and)e(collating)i(sequences)e(within)f(\014lename)h +(expansion)g(and)f(pattern)630 2945 y(matc)m(hing)d(\(see)h(Section)f +(3.5.8)h([Filename)g(Expansion],)e(page)h(32\).)150 3093 +y Ft(LC_CTYPE)96 b Fu(This)36 b(v)-5 b(ariable)37 b(determines)f(the)h +(in)m(terpretation)h(of)f(c)m(haracters)h(and)e(the)g(b)s(eha)m(vior)h +(of)630 3203 y(c)m(haracter)46 b(classes)g(within)e(\014lename)h +(expansion)g(and)f(pattern)h(matc)m(hing)h(\(see)f(Sec-)630 +3313 y(tion)31 b(3.5.8)h([Filename)g(Expansion],)e(page)h(32\).)150 +3461 y Ft(LC_MESSAGES)630 3571 y Fu(This)25 b(v)-5 b(ariable)27 b(determines)f(the)g(lo)s(cale)i(used)d(to)i(translate)g(double-quoted) -f(strings)g(pre-)630 3072 y(ceded)31 b(b)m(y)f(a)h(`)p +f(strings)g(pre-)630 3680 y(ceded)31 b(b)m(y)f(a)h(`)p Ft($)p Fu(')f(\(see)h(Section)h(3.1.2.5)g([Lo)s(cale)g(T)-8 -b(ranslation],)32 b(page)f(7\).)150 3224 y Ft(LC_NUMERIC)630 -3334 y Fu(This)f(v)-5 b(ariable)31 b(determines)f(the)h(lo)s(cale)h +b(ranslation],)32 b(page)f(7\).)150 3829 y Ft(LC_NUMERIC)630 +3939 y Fu(This)f(v)-5 b(ariable)31 b(determines)f(the)h(lo)s(cale)h (category)g(used)e(for)g(n)m(um)m(b)s(er)f(formatting.)150 -3485 y Ft(LC_TIME)144 b Fu(This)25 b(v)-5 b(ariable)26 +4088 y Ft(LC_TIME)144 b Fu(This)25 b(v)-5 b(ariable)26 b(determines)g(the)g(lo)s(cale)h(category)h(used)d(for)g(data)h(and)f -(time)i(formatting.)150 3637 y Ft(LINENO)192 b Fu(The)30 +(time)i(formatting.)150 4236 y Ft(LINENO)192 b Fu(The)30 b(line)h(n)m(um)m(b)s(er)e(in)h(the)g(script)h(or)f(shell)g(function)h -(curren)m(tly)f(executing.)150 3789 y Ft(LINES)240 b +(curren)m(tly)f(executing.)150 4385 y Ft(LINES)240 b Fu(Used)43 b(b)m(y)g(the)g Ft(select)e Fu(command)i(to)g(determine)g -(the)g(column)g(length)g(for)g(prin)m(ting)630 3898 y(selection)c +(the)g(column)g(length)g(for)g(prin)m(ting)630 4495 y(selection)c (lists.)63 b(Automatically)41 b(set)d(if)f(the)h Ft(checkwinsize)d -Fu(option)j(is)f(enabled)h(\(see)630 4008 y(Section)44 +Fu(option)j(is)f(enabled)h(\(see)630 4604 y(Section)44 b(4.3.2)h([The)e(Shopt)g(Builtin],)k(page)d(65\),)k(or)43 -b(in)g(an)g(in)m(teractiv)m(e)j(shell)e(up)s(on)630 4118 -y(receipt)31 b(of)g(a)g Ft(SIGWINCH)p Fu(.)150 4269 y +b(in)g(an)g(in)m(teractiv)m(e)j(shell)e(up)s(on)630 4714 +y(receipt)31 b(of)g(a)g Ft(SIGWINCH)p Fu(.)150 4862 y Ft(MACHTYPE)96 b Fu(A)26 b(string)g(that)h(fully)f(describ)s(es)f(the)h (system)g(t)m(yp)s(e)h(on)f(whic)m(h)f(Bash)i(is)f(executing,)i(in)e -(the)630 4379 y(standard)k Fm(gnu)g Fr(cpu-compan)m(y-system)h -Fu(format.)150 4531 y Ft(MAILCHECK)630 4640 y Fu(Ho)m(w)d(often)g(\(in) +(the)630 4972 y(standard)k Fm(gnu)g Fr(cpu-compan)m(y-system)h +Fu(format.)150 5121 y Ft(MAILCHECK)630 5230 y Fu(Ho)m(w)d(often)g(\(in) g(seconds\))g(that)g(the)f(shell)h(should)f(c)m(hec)m(k)i(for)e(mail)h -(in)f(the)h(\014les)g(sp)s(eci\014ed)630 4750 y(in)i(the)h +(in)f(the)h(\014les)g(sp)s(eci\014ed)630 5340 y(in)i(the)h Ft(MAILPATH)e Fu(or)i Ft(MAIL)e Fu(v)-5 b(ariables.)43 b(The)30 b(default)h(is)f(60)i(seconds.)42 b(When)30 -b(it)h(is)g(time)630 4859 y(to)37 b(c)m(hec)m(k)h(for)e(mail,)j(the)e -(shell)f(do)s(es)g(so)h(b)s(efore)f(displa)m(ying)h(the)f(primary)g -(prompt.)57 b(If)630 4969 y(this)37 b(v)-5 b(ariable)38 -b(is)f(unset,)h(or)f(set)h(to)g(a)f(v)-5 b(alue)38 b(that)f(is)g(not)h -(a)f(n)m(um)m(b)s(er)f(greater)i(than)f(or)630 5079 y(equal)31 -b(to)g(zero,)g(the)g(shell)g(disables)f(mail)h(c)m(hec)m(king.)150 -5230 y Ft(MAPFILE)144 b Fu(An)35 b(arra)m(y)h(v)-5 b(ariable)36 -b(created)g(to)h(hold)e(the)g(text)i(read)e(b)m(y)g(the)h -Ft(mapfile)d Fu(builtin)i(when)630 5340 y(no)30 b(v)-5 -b(ariable)31 b(name)g(is)f(supplied.)p eop end +b(it)h(is)g(time)p eop end %%Page: 81 87 TeXDict begin 81 86 bop 150 -116 a Fu(Chapter)30 b(5:)41 -b(Shell)30 b(V)-8 b(ariables)2459 b(81)150 299 y Ft(OLDPWD)192 -b Fu(The)30 b(previous)g(w)m(orking)g(directory)h(as)g(set)g(b)m(y)f -(the)h Ft(cd)e Fu(builtin.)150 463 y Ft(OPTERR)192 b -Fu(If)35 b(set)i(to)f(the)h(v)-5 b(alue)36 b(1,)i(Bash)e(displa)m(ys)g -(error)f(messages)i(generated)g(b)m(y)f(the)g Ft(getopts)630 -573 y Fu(builtin)30 b(command.)150 737 y Ft(OSTYPE)192 -b Fu(A)30 b(string)h(describing)f(the)g(op)s(erating)h(system)g(Bash)f -(is)h(running)d(on.)150 902 y Ft(PIPESTATUS)630 1011 -y Fu(An)23 b(arra)m(y)h(v)-5 b(ariable)24 b(\(see)h(Section)f(6.7)h -([Arra)m(ys],)g(page)f(93\))h(con)m(taining)g(a)f(list)g(of)g(exit)g -(sta-)630 1121 y(tus)h(v)-5 b(alues)27 b(from)e(the)h(pro)s(cesses)g -(in)f(the)h(most-recen)m(tly-executed)j(foreground)c(pip)s(eline)630 -1230 y(\(whic)m(h)30 b(ma)m(y)h(con)m(tain)h(only)f(a)f(single)h -(command\).)150 1395 y Ft(POSIXLY_CORRECT)630 1504 y +b(Shell)30 b(V)-8 b(ariables)2459 b(81)630 299 y(to)37 +b(c)m(hec)m(k)h(for)e(mail,)j(the)e(shell)f(do)s(es)g(so)h(b)s(efore)f +(displa)m(ying)h(the)f(primary)g(prompt.)57 b(If)630 +408 y(this)37 b(v)-5 b(ariable)38 b(is)f(unset,)h(or)f(set)h(to)g(a)f +(v)-5 b(alue)38 b(that)f(is)g(not)h(a)f(n)m(um)m(b)s(er)f(greater)i +(than)f(or)630 518 y(equal)31 b(to)g(zero,)g(the)g(shell)g(disables)f +(mail)h(c)m(hec)m(king.)150 682 y Ft(MAPFILE)144 b Fu(An)35 +b(arra)m(y)h(v)-5 b(ariable)36 b(created)g(to)h(hold)e(the)g(text)i +(read)e(b)m(y)g(the)h Ft(mapfile)d Fu(builtin)i(when)630 +792 y(no)30 b(v)-5 b(ariable)31 b(name)g(is)f(supplied.)150 +956 y Ft(OLDPWD)192 b Fu(The)30 b(previous)g(w)m(orking)g(directory)h +(as)g(set)g(b)m(y)f(the)h Ft(cd)e Fu(builtin.)150 1121 +y Ft(OPTERR)192 b Fu(If)35 b(set)i(to)f(the)h(v)-5 b(alue)36 +b(1,)i(Bash)e(displa)m(ys)g(error)f(messages)i(generated)g(b)m(y)f(the) +g Ft(getopts)630 1230 y Fu(builtin)30 b(command.)150 +1395 y Ft(OSTYPE)192 b Fu(A)30 b(string)h(describing)f(the)g(op)s +(erating)h(system)g(Bash)f(is)h(running)d(on.)150 1559 +y Ft(PIPESTATUS)630 1669 y Fu(An)23 b(arra)m(y)h(v)-5 +b(ariable)24 b(\(see)h(Section)f(6.7)h([Arra)m(ys],)g(page)f(93\))h +(con)m(taining)g(a)f(list)g(of)g(exit)g(sta-)630 1778 +y(tus)h(v)-5 b(alues)27 b(from)e(the)h(pro)s(cesses)g(in)f(the)h +(most-recen)m(tly-executed)j(foreground)c(pip)s(eline)630 +1888 y(\(whic)m(h)30 b(ma)m(y)h(con)m(tain)h(only)f(a)f(single)h +(command\).)150 2052 y Ft(POSIXLY_CORRECT)630 2162 y Fu(If)h(this)g(v)-5 b(ariable)34 b(is)e(in)g(the)h(en)m(vironmen)m(t)g (when)e(Bash)i(starts,)g(the)g(shell)g(en)m(ters)g Fm(posix)630 -1614 y Fu(mo)s(de)22 b(\(see)h(Section)g(6.11)h([Bash)e(POSIX)f(Mo)s +2271 y Fu(mo)s(de)22 b(\(see)h(Section)g(6.11)h([Bash)e(POSIX)f(Mo)s (de],)k(page)e(98\))g(b)s(efore)f(reading)g(the)g(startup)630 -1724 y(\014les,)36 b(as)e(if)h(the)f Ft(--posix)f Fu(in)m(v)m(o)s +2381 y(\014les,)36 b(as)e(if)h(the)f Ft(--posix)f Fu(in)m(v)m(o)s (cation)j(option)f(had)f(b)s(een)g(supplied.)51 b(If)34 -b(it)h(is)g(set)g(while)630 1833 y(the)c(shell)f(is)h(running,)d(Bash)j +b(it)h(is)g(set)g(while)630 2491 y(the)c(shell)f(is)h(running,)d(Bash)j (enables)g Fm(posix)e Fu(mo)s(de,)h(as)h(if)f(the)h(command)870 -1970 y Ft(set)47 b(-o)g(posix)630 2107 y Fu(had)30 b(b)s(een)f -(executed.)150 2271 y Ft(PPID)288 b Fu(The)30 b(pro)s(cess)g -Fm(id)g Fu(of)h(the)f(shell's)h(paren)m(t)g(pro)s(cess.)40 -b(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8 b(.)150 -2436 y Ft(PROMPT_COMMAND)630 2545 y Fu(If)32 b(set,)h(the)f(v)-5 -b(alue)33 b(is)f(in)m(terpreted)g(as)g(a)h(command)f(to)h(execute)g(b)s -(efore)f(the)g(prin)m(ting)g(of)630 2655 y(eac)m(h)g(primary)d(prompt)g -(\()p Ft($PS1)p Fu(\).)150 2819 y Ft(PROMPT_DIRTRIM)630 -2929 y Fu(If)e(set)g(to)h(a)g(n)m(um)m(b)s(er)e(greater)i(than)f(zero,) -i(the)e(v)-5 b(alue)28 b(is)f(used)g(as)g(the)h(n)m(um)m(b)s(er)e(of)h -(trailing)630 3039 y(directory)35 b(comp)s(onen)m(ts)g(to)h(retain)f -(when)f(expanding)g(the)h Ft(\\w)f Fu(and)g Ft(\\W)g -Fu(prompt)g(string)630 3148 y(escap)s(es)21 b(\(see)h(Section)f(6.9)h -([Con)m(trolling)g(the)f(Prompt],)h(page)f(96\).)39 b(Characters)21 -b(remo)m(v)m(ed)630 3258 y(are)31 b(replaced)g(with)f(an)g(ellipsis.) -150 3422 y Ft(PS0)336 b Fu(The)30 b(v)-5 b(alue)32 b(of)f(this)f -(parameter)i(is)f(expanded)f(lik)m(e)i Fr(PS1)38 b Fu(and)30 -b(displa)m(y)m(ed)h(b)m(y)g(in)m(teractiv)m(e)630 3532 -y(shells)f(after)h(reading)g(a)g(command)f(and)f(b)s(efore)h(the)h -(command)f(is)h(executed.)150 3696 y Ft(PS3)336 b Fu(The)34 -b(v)-5 b(alue)35 b(of)f(this)g(v)-5 b(ariable)35 b(is)g(used)e(as)i -(the)f(prompt)g(for)g(the)g Ft(select)f Fu(command.)52 -b(If)630 3806 y(this)30 b(v)-5 b(ariable)31 b(is)g(not)f(set,)i(the)e -Ft(select)f Fu(command)h(prompts)f(with)h(`)p Ft(#?)g -Fu(')150 3970 y Ft(PS4)336 b Fu(The)37 b(v)-5 b(alue)37 -b(of)g(this)g(parameter)h(is)f(expanded)f(lik)m(e)i Fr(PS1)44 -b Fu(and)37 b(the)g(expanded)f(v)-5 b(alue)38 b(is)630 -4080 y(the)d(prompt)f(prin)m(ted)g(b)s(efore)g(the)h(command)f(line)h -(is)g(ec)m(ho)s(ed)g(when)f(the)h Ft(-x)f Fu(option)h(is)630 -4189 y(set)k(\(see)h(Section)g(4.3.1)g([The)f(Set)g(Builtin],)j(page)e -(61\).)67 b(The)38 b(\014rst)g(c)m(haracter)j(of)e(the)630 -4299 y(expanded)33 b(v)-5 b(alue)33 b(is)h(replicated)g(m)m(ultiple)g -(times,)h(as)f(necessary)-8 b(,)35 b(to)f(indicate)g(m)m(ultiple)630 -4408 y(lev)m(els)e(of)e(indirection.)42 b(The)29 b(default)i(is)f(`)p -Ft(+)h Fu('.)150 4573 y Ft(PWD)336 b Fu(The)30 b(curren)m(t)g(w)m -(orking)h(directory)g(as)f(set)h(b)m(y)f(the)h Ft(cd)f -Fu(builtin.)150 4737 y Ft(RANDOM)192 b Fu(Eac)m(h)30 -b(time)g(this)f(parameter)g(is)g(referenced,)h(a)f(random)g(in)m(teger) -h(b)s(et)m(w)m(een)g(0)f(and)g(32767)630 4847 y(is)i(generated.)43 -b(Assigning)31 b(a)g(v)-5 b(alue)31 b(to)g(this)g(v)-5 -b(ariable)31 b(seeds)g(the)g(random)f(n)m(um)m(b)s(er)f(gen-)630 -4956 y(erator.)150 5121 y Ft(READLINE_LINE)630 5230 y -Fu(The)e(con)m(ten)m(ts)i(of)f(the)g(Readline)g(line)g(bu\013er,)f(for) -h(use)f(with)g(`)p Ft(bind)j(-x)p Fu(')d(\(see)h(Section)h(4.2)630 -5340 y([Bash)i(Builtins],)g(page)g(50\).)p eop end +2628 y Ft(set)47 b(-o)g(posix)630 2765 y Fu(had)33 b(b)s(een)g +(executed.)51 b(When)33 b(the)h(shell)f(en)m(ters)h Fm(posix)f +Fu(mo)s(de,)h(it)g(sets)g(this)g(v)-5 b(ariable)34 b(if)630 +2874 y(it)d(w)m(as)g(not)f(already)h(set.)150 3039 y +Ft(PPID)288 b Fu(The)30 b(pro)s(cess)g Fm(id)g Fu(of)h(the)f(shell's)h +(paren)m(t)g(pro)s(cess.)40 b(This)30 b(v)-5 b(ariable)31 +b(is)f(readonly)-8 b(.)150 3203 y Ft(PROMPT_COMMAND)630 +3313 y Fu(If)32 b(set,)h(the)f(v)-5 b(alue)33 b(is)f(in)m(terpreted)g +(as)g(a)h(command)f(to)h(execute)g(b)s(efore)f(the)g(prin)m(ting)g(of) +630 3422 y(eac)m(h)g(primary)d(prompt)g(\()p Ft($PS1)p +Fu(\).)150 3587 y Ft(PROMPT_DIRTRIM)630 3696 y Fu(If)e(set)g(to)h(a)g +(n)m(um)m(b)s(er)e(greater)i(than)f(zero,)i(the)e(v)-5 +b(alue)28 b(is)f(used)g(as)g(the)h(n)m(um)m(b)s(er)e(of)h(trailing)630 +3806 y(directory)35 b(comp)s(onen)m(ts)g(to)h(retain)f(when)f +(expanding)g(the)h Ft(\\w)f Fu(and)g Ft(\\W)g Fu(prompt)g(string)630 +3915 y(escap)s(es)21 b(\(see)h(Section)f(6.9)h([Con)m(trolling)g(the)f +(Prompt],)h(page)f(96\).)39 b(Characters)21 b(remo)m(v)m(ed)630 +4025 y(are)31 b(replaced)g(with)f(an)g(ellipsis.)150 +4189 y Ft(PS0)336 b Fu(The)30 b(v)-5 b(alue)32 b(of)f(this)f(parameter) +i(is)f(expanded)f(lik)m(e)i Fr(PS1)38 b Fu(and)30 b(displa)m(y)m(ed)h +(b)m(y)g(in)m(teractiv)m(e)630 4299 y(shells)f(after)h(reading)g(a)g +(command)f(and)f(b)s(efore)h(the)h(command)f(is)h(executed.)150 +4463 y Ft(PS3)336 b Fu(The)34 b(v)-5 b(alue)35 b(of)f(this)g(v)-5 +b(ariable)35 b(is)g(used)e(as)i(the)f(prompt)g(for)g(the)g +Ft(select)f Fu(command.)52 b(If)630 4573 y(this)30 b(v)-5 +b(ariable)31 b(is)g(not)f(set,)i(the)e Ft(select)f Fu(command)h +(prompts)f(with)h(`)p Ft(#?)g Fu(')150 4737 y Ft(PS4)336 +b Fu(The)37 b(v)-5 b(alue)37 b(of)g(this)g(parameter)h(is)f(expanded)f +(lik)m(e)i Fr(PS1)44 b Fu(and)37 b(the)g(expanded)f(v)-5 +b(alue)38 b(is)630 4847 y(the)d(prompt)f(prin)m(ted)g(b)s(efore)g(the)h +(command)f(line)h(is)g(ec)m(ho)s(ed)g(when)f(the)h Ft(-x)f +Fu(option)h(is)630 4956 y(set)k(\(see)h(Section)g(4.3.1)g([The)f(Set)g +(Builtin],)j(page)e(61\).)67 b(The)38 b(\014rst)g(c)m(haracter)j(of)e +(the)630 5066 y(expanded)33 b(v)-5 b(alue)33 b(is)h(replicated)g(m)m +(ultiple)g(times,)h(as)f(necessary)-8 b(,)35 b(to)f(indicate)g(m)m +(ultiple)630 5176 y(lev)m(els)e(of)e(indirection.)42 +b(The)29 b(default)i(is)f(`)p Ft(+)h Fu('.)150 5340 y +Ft(PWD)336 b Fu(The)30 b(curren)m(t)g(w)m(orking)h(directory)g(as)f +(set)h(b)m(y)f(the)h Ft(cd)f Fu(builtin.)p eop end %%Page: 82 88 TeXDict begin 82 87 bop 150 -116 a Fu(Chapter)30 b(5:)41 -b(Shell)30 b(V)-8 b(ariables)2459 b(82)150 299 y Ft(READLINE_POINT)630 -408 y Fu(The)23 b(p)s(osition)g(of)g(the)h(insertion)f(p)s(oin)m(t)g -(in)g(the)g(Readline)h(line)f(bu\013er,)h(for)f(use)g(with)g(`)p -Ft(bind)630 518 y(-x)p Fu(')30 b(\(see)h(Section)h(4.2)f([Bash)g -(Builtins],)g(page)g(50\).)150 667 y Ft(REPLY)240 b Fu(The)30 -b(default)g(v)-5 b(ariable)32 b(for)e(the)g Ft(read)g -Fu(builtin.)150 816 y Ft(SECONDS)144 b Fu(This)40 b(v)-5 -b(ariable)41 b(expands)f(to)h(the)g(n)m(um)m(b)s(er)e(of)i(seconds)g -(since)g(the)f(shell)h(w)m(as)g(started.)630 925 y(Assignmen)m(t)i(to)g -(this)g(v)-5 b(ariable)43 b(resets)g(the)g(coun)m(t)g(to)g(the)g(v)-5 -b(alue)43 b(assigned,)j(and)c(the)630 1035 y(expanded)35 -b(v)-5 b(alue)36 b(b)s(ecomes)h(the)f(v)-5 b(alue)36 -b(assigned)g(plus)f(the)h(n)m(um)m(b)s(er)f(of)h(seconds)g(since)630 -1144 y(the)31 b(assignmen)m(t.)150 1293 y Ft(SHELL)240 -b Fu(The)29 b(full)h(pathname)g(to)h(the)f(shell)g(is)g(k)m(ept)g(in)g -(this)g(en)m(vironmen)m(t)g(v)-5 b(ariable.)42 b(If)29 -b(it)i(is)f(not)630 1403 y(set)36 b(when)f(the)h(shell)g(starts,)i -(Bash)e(assigns)h(to)f(it)h(the)f(full)f(pathname)h(of)g(the)g(curren)m -(t)630 1512 y(user's)30 b(login)h(shell.)150 1661 y Ft(SHELLOPTS)630 -1771 y Fu(A)g(colon-separated)h(list)f(of)g(enabled)f(shell)h(options.) +b(Shell)30 b(V)-8 b(ariables)2459 b(82)150 299 y Ft(RANDOM)192 +b Fu(Eac)m(h)30 b(time)g(this)f(parameter)g(is)g(referenced,)h(a)f +(random)g(in)m(teger)h(b)s(et)m(w)m(een)g(0)f(and)g(32767)630 +408 y(is)i(generated.)43 b(Assigning)31 b(a)g(v)-5 b(alue)31 +b(to)g(this)g(v)-5 b(ariable)31 b(seeds)g(the)g(random)f(n)m(um)m(b)s +(er)f(gen-)630 518 y(erator.)150 675 y Ft(READLINE_LINE)630 +784 y Fu(The)e(con)m(ten)m(ts)i(of)f(the)g(Readline)g(line)g(bu\013er,) +f(for)h(use)f(with)g(`)p Ft(bind)j(-x)p Fu(')d(\(see)h(Section)h(4.2) +630 894 y([Bash)i(Builtins],)g(page)g(50\).)150 1050 +y Ft(READLINE_POINT)630 1160 y Fu(The)23 b(p)s(osition)g(of)g(the)h +(insertion)f(p)s(oin)m(t)g(in)g(the)g(Readline)h(line)f(bu\013er,)h +(for)f(use)g(with)g(`)p Ft(bind)630 1270 y(-x)p Fu(')30 +b(\(see)h(Section)h(4.2)f([Bash)g(Builtins],)g(page)g(50\).)150 +1426 y Ft(REPLY)240 b Fu(The)30 b(default)g(v)-5 b(ariable)32 +b(for)e(the)g Ft(read)g Fu(builtin.)150 1583 y Ft(SECONDS)144 +b Fu(This)40 b(v)-5 b(ariable)41 b(expands)f(to)h(the)g(n)m(um)m(b)s +(er)e(of)i(seconds)g(since)g(the)f(shell)h(w)m(as)g(started.)630 +1692 y(Assignmen)m(t)i(to)g(this)g(v)-5 b(ariable)43 +b(resets)g(the)g(coun)m(t)g(to)g(the)g(v)-5 b(alue)43 +b(assigned,)j(and)c(the)630 1802 y(expanded)35 b(v)-5 +b(alue)36 b(b)s(ecomes)h(the)f(v)-5 b(alue)36 b(assigned)g(plus)f(the)h +(n)m(um)m(b)s(er)f(of)h(seconds)g(since)630 1911 y(the)31 +b(assignmen)m(t.)150 2068 y Ft(SHELL)240 b Fu(The)29 +b(full)h(pathname)g(to)h(the)f(shell)g(is)g(k)m(ept)g(in)g(this)g(en)m +(vironmen)m(t)g(v)-5 b(ariable.)42 b(If)29 b(it)i(is)f(not)630 +2178 y(set)36 b(when)f(the)h(shell)g(starts,)i(Bash)e(assigns)h(to)f +(it)h(the)f(full)f(pathname)h(of)g(the)g(curren)m(t)630 +2287 y(user's)30 b(login)h(shell.)150 2444 y Ft(SHELLOPTS)630 +2553 y Fu(A)g(colon-separated)h(list)f(of)g(enabled)f(shell)h(options.) 41 b(Eac)m(h)31 b(w)m(ord)f(in)g(the)h(list)g(is)g(a)g(v)-5 -b(alid)630 1880 y(argumen)m(t)28 b(for)f(the)h Ft(-o)e +b(alid)630 2663 y(argumen)m(t)28 b(for)f(the)h Ft(-o)e Fu(option)i(to)g(the)g Ft(set)e Fu(builtin)h(command)g(\(see)i(Section) -f(4.3.1)h([The)630 1990 y(Set)g(Builtin],)h(page)f(61\).)42 +f(4.3.1)h([The)630 2772 y(Set)g(Builtin],)h(page)f(61\).)42 b(The)28 b(options)h(app)s(earing)f(in)g Ft(SHELLOPTS)e -Fu(are)j(those)h(rep)s(orted)630 2099 y(as)g(`)p Ft(on)p +Fu(are)j(those)h(rep)s(orted)630 2882 y(as)g(`)p Ft(on)p Fu(')f(b)m(y)h(`)p Ft(set)g(-o)p Fu('.)40 b(If)29 b(this)h(v)-5 b(ariable)30 b(is)g(in)f(the)h(en)m(vironmen)m(t)g(when)f(Bash)h -(starts)g(up,)630 2209 y(eac)m(h)41 b(shell)e(option)h(in)f(the)h(list) +(starts)g(up,)630 2992 y(eac)m(h)41 b(shell)e(option)h(in)f(the)h(list) g(will)f(b)s(e)g(enabled)h(b)s(efore)f(reading)g(an)m(y)h(startup)f -(\014les.)630 2318 y(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8 -b(.)150 2467 y Ft(SHLVL)240 b Fu(Incremen)m(ted)21 b(b)m(y)g(one)g(eac) +(\014les.)630 3101 y(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8 +b(.)150 3258 y Ft(SHLVL)240 b Fu(Incremen)m(ted)21 b(b)m(y)g(one)g(eac) m(h)h(time)f(a)h(new)e(instance)h(of)g(Bash)g(is)g(started.)38 -b(This)20 b(is)h(in)m(tended)630 2577 y(to)31 b(b)s(e)f(a)h(coun)m(t)g +b(This)20 b(is)h(in)m(tended)630 3367 y(to)31 b(b)s(e)f(a)h(coun)m(t)g (of)f(ho)m(w)h(deeply)f(y)m(our)g(Bash)h(shells)f(are)h(nested.)150 -2725 y Ft(TIMEFORMAT)630 2835 y Fu(The)f(v)-5 b(alue)32 +3524 y Ft(TIMEFORMAT)630 3634 y Fu(The)f(v)-5 b(alue)32 b(of)f(this)g(parameter)g(is)g(used)f(as)h(a)g(format)h(string)f(sp)s -(ecifying)f(ho)m(w)h(the)g(tim-)630 2945 y(ing)37 b(information)f(for)h +(ecifying)f(ho)m(w)h(the)g(tim-)630 3743 y(ing)37 b(information)f(for)h (pip)s(elines)f(pre\014xed)f(with)h(the)h Ft(time)e Fu(reserv)m(ed)i(w) -m(ord)f(should)g(b)s(e)630 3054 y(displa)m(y)m(ed.)k(The)27 +m(ord)f(should)g(b)s(e)630 3853 y(displa)m(y)m(ed.)k(The)27 b(`)p Ft(\045)p Fu(')h(c)m(haracter)h(in)m(tro)s(duces)e(an)h(escap)s -(e)g(sequence)g(that)g(is)f(expanded)g(to)630 3164 y(a)37 +(e)g(sequence)g(that)g(is)f(expanded)g(to)630 3962 y(a)37 b(time)g(v)-5 b(alue)36 b(or)h(other)f(information.)59 b(The)36 b(escap)s(e)g(sequences)h(and)e(their)i(meanings)630 -3273 y(are)31 b(as)f(follo)m(ws;)i(the)f(braces)f(denote)h(optional)h -(p)s(ortions.)630 3422 y Ft(\045\045)384 b Fu(A)30 b(literal)i(`)p -Ft(\045)p Fu('.)630 3571 y Ft(\045[)p Fj(p)p Ft(][l]R)96 -b Fu(The)30 b(elapsed)h(time)g(in)f(seconds.)630 3720 +4072 y(are)31 b(as)f(follo)m(ws;)i(the)f(braces)f(denote)h(optional)h +(p)s(ortions.)630 4228 y Ft(\045\045)384 b Fu(A)30 b(literal)i(`)p +Ft(\045)p Fu('.)630 4385 y Ft(\045[)p Fj(p)p Ft(][l]R)96 +b Fu(The)30 b(elapsed)h(time)g(in)f(seconds.)630 4542 y Ft(\045[)p Fj(p)p Ft(][l]U)96 b Fu(The)30 b(n)m(um)m(b)s(er)f(of)h (CPU)g(seconds)h(sp)s(en)m(t)f(in)g(user)f(mo)s(de.)630 -3868 y Ft(\045[)p Fj(p)p Ft(][l]S)96 b Fu(The)30 b(n)m(um)m(b)s(er)f +4698 y Ft(\045[)p Fj(p)p Ft(][l]S)96 b Fu(The)30 b(n)m(um)m(b)s(er)f (of)h(CPU)g(seconds)h(sp)s(en)m(t)f(in)g(system)g(mo)s(de.)630 -4017 y Ft(\045P)384 b Fu(The)30 b(CPU)g(p)s(ercen)m(tage,)i(computed)e -(as)h(\(\045U)f Ft(+)g Fu(\045S\))g(/)h(\045R.)630 4166 +4855 y Ft(\045P)384 b Fu(The)30 b(CPU)g(p)s(ercen)m(tage,)i(computed)e +(as)h(\(\045U)f Ft(+)g Fu(\045S\))g(/)h(\045R.)630 5011 y(The)23 b(optional)j Fr(p)g Fu(is)e(a)g(digit)h(sp)s(ecifying)e(the)h (precision,)i(the)e(n)m(um)m(b)s(er)f(of)h(fractional)h(digits)630 -4275 y(after)36 b(a)f(decimal)i(p)s(oin)m(t.)55 b(A)35 +5121 y(after)36 b(a)f(decimal)i(p)s(oin)m(t.)55 b(A)35 b(v)-5 b(alue)36 b(of)f(0)h(causes)g(no)f(decimal)h(p)s(oin)m(t)f(or)h -(fraction)g(to)g(b)s(e)630 4385 y(output.)48 b(A)m(t)34 +(fraction)g(to)g(b)s(e)630 5230 y(output.)48 b(A)m(t)34 b(most)f(three)g(places)h(after)f(the)g(decimal)h(p)s(oin)m(t)f(ma)m(y) -h(b)s(e)e(sp)s(eci\014ed;)i(v)-5 b(alues)630 4495 y(of)31 +h(b)s(e)e(sp)s(eci\014ed;)i(v)-5 b(alues)630 5340 y(of)31 b Fr(p)h Fu(greater)g(than)e(3)h(are)f(c)m(hanged)h(to)g(3.)42 b(If)29 b Fr(p)k Fu(is)d(not)h(sp)s(eci\014ed,)f(the)h(v)-5 -b(alue)30 b(3)h(is)g(used.)630 4624 y(The)54 b(optional)h -Ft(l)f Fu(sp)s(eci\014es)g(a)h(longer)f(format,)61 b(including)54 -b(min)m(utes,)61 b(of)54 b(the)g(form)630 4733 y Fr(MM)10 -b Fu(m)p Fr(SS)p Fu(.)p Fr(FF)d Fu(s.)103 b(The)50 b(v)-5 -b(alue)52 b(of)f Fr(p)j Fu(determines)d(whether)f(or)h(not)h(the)f -(fraction)h(is)630 4843 y(included.)630 4972 y(If)30 -b(this)g(v)-5 b(ariable)31 b(is)g(not)f(set,)i(Bash)e(acts)h(as)g(if)f -(it)h(had)f(the)h(v)-5 b(alue)870 5101 y Ft -($'\\nreal\\t\0453lR\\nuser\\t\0453)o(lU\\n)o(sys\\)o(t\0453)o(lS')630 -5230 y Fu(If)37 b(the)g(v)-5 b(alue)38 b(is)f(n)m(ull,)i(no)f(timing)f -(information)h(is)f(displa)m(y)m(ed.)62 b(A)37 b(trailing)i(newline)e -(is)630 5340 y(added)30 b(when)f(the)i(format)f(string)h(is)f(displa)m -(y)m(ed.)p eop end +b(alue)30 b(3)h(is)g(used.)p eop end %%Page: 83 89 TeXDict begin 83 88 bop 150 -116 a Fu(Chapter)30 b(5:)41 -b(Shell)30 b(V)-8 b(ariables)2459 b(83)150 299 y Ft(TMOUT)240 -b Fu(If)22 b(set)h(to)g(a)g(v)-5 b(alue)23 b(greater)h(than)e(zero,)j -Ft(TMOUT)d Fu(is)g(treated)i(as)e(the)h(default)g(timeout)g(for)g(the) -630 408 y Ft(read)31 b Fu(builtin)h(\(see)h(Section)f(4.2)i([Bash)e -(Builtins],)h(page)g(50\).)47 b(The)32 b Ft(select)e -Fu(command)630 518 y(\(see)f(Section)h(3.2.4.2)g([Conditional)g -(Constructs],)e(page)i(11\))f(terminates)g(if)g(input)e(do)s(es)630 -628 y(not)k(arriv)m(e)g(after)g Ft(TMOUT)e Fu(seconds)h(when)f(input)h -(is)g(coming)h(from)f(a)h(terminal.)630 762 y(In)40 b(an)h(in)m -(teractiv)m(e)i(shell,)h(the)d(v)-5 b(alue)41 b(is)g(in)m(terpreted)g -(as)f(the)h(n)m(um)m(b)s(er)f(of)h(seconds)f(to)630 872 -y(w)m(ait)28 b(for)e(a)g(line)h(of)g(input)e(after)i(issuing)f(the)h -(primary)e(prompt.)39 b(Bash)26 b(terminates)h(after)630 -981 y(w)m(aiting)32 b(for)e(that)h(n)m(um)m(b)s(er)e(of)h(seconds)h(if) -f(a)h(complete)h(line)e(of)h(input)e(do)s(es)h(not)h(arriv)m(e.)150 -1141 y Ft(TMPDIR)192 b Fu(If)39 b(set,)j(Bash)e(uses)f(its)h(v)-5 -b(alue)40 b(as)f(the)h(name)f(of)h(a)g(directory)g(in)f(whic)m(h)g -(Bash)h(creates)630 1250 y(temp)s(orary)30 b(\014les)g(for)g(the)h -(shell's)g(use.)150 1410 y Ft(UID)336 b Fu(The)30 b(n)m(umeric)g(real)h -(user)f(id)g(of)g(the)h(curren)m(t)f(user.)40 b(This)30 -b(v)-5 b(ariable)31 b(is)f(readonly)-8 b(.)p eop end +b(Shell)30 b(V)-8 b(ariables)2459 b(83)630 299 y(The)54 +b(optional)h Ft(l)f Fu(sp)s(eci\014es)g(a)h(longer)f(format,)61 +b(including)54 b(min)m(utes,)61 b(of)54 b(the)g(form)630 +408 y Fr(MM)10 b Fu(m)p Fr(SS)p Fu(.)p Fr(FF)d Fu(s.)103 +b(The)50 b(v)-5 b(alue)52 b(of)f Fr(p)j Fu(determines)d(whether)f(or)h +(not)h(the)f(fraction)h(is)630 518 y(included.)630 653 +y(If)30 b(this)g(v)-5 b(ariable)31 b(is)g(not)f(set,)i(Bash)e(acts)h +(as)g(if)f(it)h(had)f(the)h(v)-5 b(alue)870 787 y Ft +($'\\nreal\\t\0453lR\\nuser\\t\0453)o(lU\\n)o(sys\\)o(t\0453)o(lS')630 +922 y Fu(If)37 b(the)g(v)-5 b(alue)38 b(is)f(n)m(ull,)i(no)f(timing)f +(information)h(is)f(displa)m(y)m(ed.)62 b(A)37 b(trailing)i(newline)e +(is)630 1031 y(added)30 b(when)f(the)i(format)f(string)h(is)f(displa)m +(y)m(ed.)150 1191 y Ft(TMOUT)240 b Fu(If)22 b(set)h(to)g(a)g(v)-5 +b(alue)23 b(greater)h(than)e(zero,)j Ft(TMOUT)d Fu(is)g(treated)i(as)e +(the)h(default)g(timeout)g(for)g(the)630 1300 y Ft(read)31 +b Fu(builtin)h(\(see)h(Section)f(4.2)i([Bash)e(Builtins],)h(page)g +(50\).)47 b(The)32 b Ft(select)e Fu(command)630 1410 +y(\(see)f(Section)h(3.2.4.2)g([Conditional)g(Constructs],)e(page)i +(11\))f(terminates)g(if)g(input)e(do)s(es)630 1519 y(not)k(arriv)m(e)g +(after)g Ft(TMOUT)e Fu(seconds)h(when)f(input)h(is)g(coming)h(from)f(a) +h(terminal.)630 1654 y(In)40 b(an)h(in)m(teractiv)m(e)i(shell,)h(the)d +(v)-5 b(alue)41 b(is)g(in)m(terpreted)g(as)f(the)h(n)m(um)m(b)s(er)f +(of)h(seconds)f(to)630 1763 y(w)m(ait)28 b(for)e(a)g(line)h(of)g(input) +e(after)i(issuing)f(the)h(primary)e(prompt.)39 b(Bash)26 +b(terminates)h(after)630 1873 y(w)m(aiting)32 b(for)e(that)h(n)m(um)m +(b)s(er)e(of)h(seconds)h(if)f(a)h(complete)h(line)e(of)h(input)e(do)s +(es)h(not)h(arriv)m(e.)150 2032 y Ft(TMPDIR)192 b Fu(If)39 +b(set,)j(Bash)e(uses)f(its)h(v)-5 b(alue)40 b(as)f(the)h(name)f(of)h(a) +g(directory)g(in)f(whic)m(h)g(Bash)h(creates)630 2142 +y(temp)s(orary)30 b(\014les)g(for)g(the)h(shell's)g(use.)150 +2301 y Ft(UID)336 b Fu(The)30 b(n)m(umeric)g(real)h(user)f(id)g(of)g +(the)h(curren)m(t)f(user.)40 b(This)30 b(v)-5 b(ariable)31 +b(is)f(readonly)-8 b(.)p eop end %%Page: 84 90 TeXDict begin 84 89 bop 3659 -116 a Fu(84)150 299 y Fp(6)80 b(Bash)54 b(F)-13 b(eatures)150 502 y Fu(This)30 b(c)m(hapter)h (describ)s(es)e(features)i(unique)e(to)i(Bash.)150 731 y Fs(6.1)68 b(In)l(v)l(oking)46 b(Bash)390 890 y Ft(bash)h([long-opt])e ([-ir])h([-abefhkmnptuvxdBCDHP])c([-o)47 b Fj(option)p -Ft(])e([-O)i Fj(shopt_option)p Ft(])e([)p Fj(ar-)390 -1000 y(gument)h Ft(...)o(])390 1110 y(bash)h([long-opt])e -([-abefhkmnptuvxdBCDHP])c([-o)47 b Fj(option)p Ft(])f([-O)h -Fj(shopt_option)p Ft(])d(-c)j Fj(string)f Ft([)p Fj(ar-)390 -1219 y(gument)g Ft(...)o(])390 1329 y(bash)h([long-opt])e(-s)i -([-abefhkmnptuvxdBCDHP])42 b([-o)k Fj(option)p Ft(])g([-O)h -Fj(shopt_option)p Ft(])d([)p Fj(ar-)390 1438 y(gument)i -Ft(...)o(])275 1567 y Fu(All)31 b(of)g(the)f(single-c)m(haracter)k -(options)d(used)f(with)g(the)h Ft(set)f Fu(builtin)g(\(see)h(Section)h -(4.3.1)g([The)f(Set)150 1676 y(Builtin],)45 b(page)c(61\))i(can)e(b)s -(e)f(used)h(as)g(options)g(when)f(the)i(shell)f(is)g(in)m(v)m(ok)m(ed.) -74 b(In)41 b(addition,)j(there)150 1786 y(are)38 b(sev)m(eral)h(m)m -(ulti-c)m(haracter)h(options)d(that)h(y)m(ou)g(can)g(use.)61 -b(These)38 b(options)f(m)m(ust)h(app)s(ear)e(on)i(the)150 -1896 y(command)30 b(line)h(b)s(efore)f(the)g(single-c)m(haracter)j -(options)e(to)g(b)s(e)f(recognized.)150 2043 y Ft(--debugger)630 -2152 y Fu(Arrange)j(for)g(the)g(debugger)g(pro\014le)g(to)h(b)s(e)e -(executed)i(b)s(efore)f(the)g(shell)g(starts.)49 b(T)-8 -b(urns)630 2262 y(on)35 b(extended)g(debugging)f(mo)s(de)h(\(see)g -(Section)h(4.3.2)h([The)d(Shopt)g(Builtin],)j(page)f(65,)630 -2371 y(for)30 b(a)h(description)f(of)h(the)f Ft(extdebug)f -Fu(option)h(to)h(the)g Ft(shopt)e Fu(builtin\).)150 2519 -y Ft(--dump-po-strings)630 2628 y Fu(A)37 b(list)g(of)f(all)i +Ft(])581 1000 y([-O)g Fj(shopt_option)p Ft(])d([)p Fj(argument)h +Ft(...)o(])390 1110 y(bash)i([long-opt])e([-abefhkmnptuvxdBCDHP])c([-o) +47 b Fj(option)p Ft(])581 1219 y([-O)g Fj(shopt_option)p +Ft(])d(-c)j Fj(string)f Ft([)p Fj(argument)g Ft(...)o(])390 +1329 y(bash)h([long-opt])e(-s)i([-abefhkmnptuvxdBCDHP])42 +b([-o)k Fj(option)p Ft(])581 1438 y([-O)h Fj(shopt_option)p +Ft(])d([)p Fj(argument)h Ft(...)o(])275 1567 y Fu(All)31 +b(of)g(the)f(single-c)m(haracter)k(options)d(used)f(with)g(the)h +Ft(set)f Fu(builtin)g(\(see)h(Section)h(4.3.1)g([The)f(Set)150 +1676 y(Builtin],)45 b(page)c(61\))i(can)e(b)s(e)f(used)h(as)g(options)g +(when)f(the)i(shell)f(is)g(in)m(v)m(ok)m(ed.)74 b(In)41 +b(addition,)j(there)150 1786 y(are)38 b(sev)m(eral)h(m)m(ulti-c)m +(haracter)h(options)d(that)h(y)m(ou)g(can)g(use.)61 b(These)38 +b(options)f(m)m(ust)h(app)s(ear)e(on)i(the)150 1896 y(command)30 +b(line)h(b)s(efore)f(the)g(single-c)m(haracter)j(options)e(to)g(b)s(e)f +(recognized.)150 2043 y Ft(--debugger)630 2152 y Fu(Arrange)j(for)g +(the)g(debugger)g(pro\014le)g(to)h(b)s(e)e(executed)i(b)s(efore)f(the)g +(shell)g(starts.)49 b(T)-8 b(urns)630 2262 y(on)35 b(extended)g +(debugging)f(mo)s(de)h(\(see)g(Section)h(4.3.2)h([The)d(Shopt)g +(Builtin],)j(page)f(65,)630 2371 y(for)30 b(a)h(description)f(of)h(the) +f Ft(extdebug)f Fu(option)h(to)h(the)g Ft(shopt)e Fu(builtin\).)150 +2519 y Ft(--dump-po-strings)630 2628 y Fu(A)37 b(list)g(of)f(all)i (double-quoted)e(strings)g(preceded)g(b)m(y)h(`)p Ft($)p Fu(')f(is)h(prin)m(ted)f(on)g(the)h(standard)630 2738 y(output)29 b(in)g(the)g Fm(gnu)g Ft(gettext)f Fu(PO)g(\(p)s(ortable)i @@ -14503,15 +14574,15 @@ b(will)g(sa)m(v)m(e)h(the)f(command)f(history)h(to)g(the)g(\014le)g b(expansion)g(\(see)g(Section)g(6.6)g([Aliases],)i(page)e(92\))h(is)e (p)s(erformed)f(b)m(y)h(default.)199 685 y(9.)61 b(In)24 b(the)g(absence)h(of)f(an)m(y)h(traps,)g(Bash)g(ignores)f -Ft(SIGTERM)f Fu(\(see)i(Section)g(3.7.6)h([Signals],)g(page)f(40\).)154 -823 y(10.)61 b(In)26 b(the)h(absence)h(of)f(an)m(y)g(traps,)g -Ft(SIGINT)e Fu(is)i(caugh)m(t)h(and)f(handled)e(\(\(see)k(Section)e -(3.7.6)i([Signals],)330 933 y(page)i(40\).)42 b Ft(SIGINT)29 +Ft(SIGTERM)f Fu(\(see)i(Section)g(3.7.6)h([Signals],)g(page)f(41\).)154 +823 y(10.)61 b(In)29 b(the)g(absence)h(of)g(an)m(y)g(traps,)f +Ft(SIGINT)f Fu(is)h(caugh)m(t)i(and)e(handled)f(\(see)j(Section)f +(3.7.6)h([Signals],)330 933 y(page)g(41\).)42 b Ft(SIGINT)29 b Fu(will)h(in)m(terrupt)g(some)h(shell)g(builtins.)154 1071 y(11.)61 b(An)40 b(in)m(teractiv)m(e)j(login)e(shell)g(sends)e(a)i Ft(SIGHUP)d Fu(to)j(all)g(jobs)f(on)g(exit)h(if)g(the)f Ft(huponexit)e Fu(shell)330 1180 y(option)31 b(has)f(b)s(een)g(enabled) -g(\(see)h(Section)g(3.7.6)i([Signals],)e(page)g(40\).)154 +g(\(see)h(Section)g(3.7.6)i([Signals],)e(page)g(41\).)154 1319 y(12.)61 b(The)29 b Ft(-n)g Fu(in)m(v)m(o)s(cation)j(option)e(is)g (ignored,)g(and)f(`)p Ft(set)h(-n)p Fu(')f(has)h(no)f(e\013ect)j(\(see) e(Section)h(4.3.1)g([The)330 1428 y(Set)g(Builtin],)g(page)g(61\).)154 @@ -15160,8 +15231,8 @@ f(shell)150 3708 y(session.)275 3844 y(After)35 b(the)g(string)g(is)g (command)d(substi-)150 3954 y(tution,)k(arithmetic)f(expansion,)g(and)e (quote)h(remo)m(v)-5 b(al,)39 b(sub)5 b(ject)35 b(to)i(the)f(v)-5 b(alue)36 b(of)g(the)g Ft(promptvars)150 4064 y Fu(shell)31 -b(option)f(\(see)i(Section)f(4.2)g([Bash)g(Builtins],)g(page)g(50\).) -150 4308 y Fs(6.10)68 b(The)45 b(Restricted)h(Shell)150 +b(option)f(\(see)i(Section)f(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g +(65\).)150 4308 y Fs(6.10)68 b(The)45 b(Restricted)h(Shell)150 4467 y Fu(If)34 b(Bash)g(is)g(started)g(with)g(the)g(name)h Ft(rbash)p Fu(,)e(or)h(the)h Ft(--restricted)30 b Fu(or)k Ft(-r)g Fu(option)g(is)g(supplied)f(at)150 4577 y(in)m(v)m(o)s(cation,) @@ -15185,303 +15256,305 @@ TeXDict begin 98 103 bop 150 -116 a Fu(Chapter)30 b(6:)41 b(Bash)30 b(F)-8 b(eatures)2484 b(98)225 299 y Fq(\017)60 b Fu(Sp)s(ecifying)32 b(a)g(\014lename)h(con)m(taining)h(a)e(slash)g (as)h(an)f(argumen)m(t)h(to)g(the)f Ft(-p)g Fu(option)h(to)g(the)f -Ft(hash)330 408 y Fu(builtin)e(command.)225 538 y Fq(\017)60 +Ft(hash)330 408 y Fu(builtin)e(command.)225 545 y Fq(\017)60 b Fu(Imp)s(orting)30 b(function)g(de\014nitions)g(from)f(the)i(shell)g -(en)m(vironmen)m(t)g(at)g(startup.)225 667 y Fq(\017)60 +(en)m(vironmen)m(t)g(at)g(startup.)225 682 y Fq(\017)60 b Fu(P)m(arsing)31 b(the)f(v)-5 b(alue)31 b(of)g Ft(SHELLOPTS)d Fu(from)h(the)i(shell)g(en)m(vironmen)m(t)g(at)g(startup.)225 -796 y Fq(\017)60 b Fu(Redirecting)31 b(output)f(using)g(the)h(`)p +819 y Fq(\017)60 b Fu(Redirecting)31 b(output)f(using)g(the)h(`)p Ft(>)p Fu(',)g(`)p Ft(>|)p Fu(',)f(`)p Ft(<>)p Fu(',)h(`)p Ft(>&)p Fu(',)f(`)p Ft(&>)p Fu(',)h(and)e(`)p Ft(>>)p -Fu(')i(redirection)g(op)s(erators.)225 925 y Fq(\017)60 +Fu(')i(redirection)g(op)s(erators.)225 955 y Fq(\017)60 b Fu(Using)31 b(the)f Ft(exec)f Fu(builtin)h(to)h(replace)h(the)e -(shell)h(with)f(another)h(command.)225 1054 y Fq(\017)60 +(shell)h(with)f(another)h(command.)225 1092 y Fq(\017)60 b Fu(Adding)24 b(or)g(deleting)i(builtin)e(commands)g(with)h(the)f Ft(-f)g Fu(and)g Ft(-d)g Fu(options)h(to)h(the)e Ft(enable)f -Fu(builtin.)225 1183 y Fq(\017)60 b Fu(Using)31 b(the)f +Fu(builtin.)225 1229 y Fq(\017)60 b Fu(Using)31 b(the)f Ft(enable)f Fu(builtin)h(command)g(to)h(enable)g(disabled)f(shell)g -(builtins.)225 1312 y Fq(\017)60 b Fu(Sp)s(ecifying)30 +(builtins.)225 1365 y Fq(\017)60 b Fu(Sp)s(ecifying)30 b(the)g Ft(-p)g Fu(option)h(to)g(the)g Ft(command)d Fu(builtin.)225 -1441 y Fq(\017)60 b Fu(T)-8 b(urning)29 b(o\013)i(restricted)g(mo)s(de) +1502 y Fq(\017)60 b Fu(T)-8 b(urning)29 b(o\013)i(restricted)g(mo)s(de) f(with)g(`)p Ft(set)g(+r)p Fu(')g(or)g(`)p Ft(set)g(+o)g(restricted)p -Fu('.)275 1590 y(These)g(restrictions)h(are)g(enforced)f(after)h(an)m -(y)g(startup)f(\014les)g(are)h(read.)275 1719 y(When)j(a)i(command)e +Fu('.)275 1668 y(These)g(restrictions)h(are)g(enforced)f(after)h(an)m +(y)g(startup)f(\014les)g(are)h(read.)275 1807 y(When)j(a)i(command)e (that)i(is)f(found)f(to)h(b)s(e)g(a)g(shell)g(script)g(is)g(executed)h -(\(see)g(Section)g(3.8)g([Shell)150 1828 y(Scripts],)25 +(\(see)g(Section)g(3.8)g([Shell)150 1917 y(Scripts],)25 b(page)e(41\),)j Ft(rbash)c Fu(turns)g(o\013)i(an)m(y)f(restrictions)h (in)f(the)g(shell)h(spa)m(wned)e(to)i(execute)g(the)g(script.)150 -2058 y Fs(6.11)68 b(Bash)45 b(POSIX)f(Mo)t(de)150 2218 +2164 y Fs(6.11)68 b(Bash)45 b(POSIX)f(Mo)t(de)150 2324 y Fu(Starting)39 b(Bash)f(with)g(the)h Ft(--posix)d Fu(command-line)j (option)g(or)f(executing)h(`)p Ft(set)30 b(-o)g(posix)p -Fu(')37 b(while)150 2327 y(Bash)26 b(is)g(running)e(will)j(cause)f +Fu(')37 b(while)150 2433 y(Bash)26 b(is)g(running)e(will)j(cause)f (Bash)g(to)h(conform)f(more)g(closely)h(to)g(the)f Fm(posix)f -Fu(standard)g(b)m(y)h(c)m(hanging)150 2437 y(the)31 b(b)s(eha)m(vior)f +Fu(standard)g(b)m(y)h(c)m(hanging)150 2543 y(the)31 b(b)s(eha)m(vior)f (to)h(matc)m(h)g(that)g(sp)s(eci\014ed)f(b)m(y)g Fm(posix)g Fu(in)g(areas)h(where)f(the)h(Bash)f(default)h(di\013ers.)275 -2566 y(When)f(in)m(v)m(ok)m(ed)h(as)g Ft(sh)p Fu(,)f(Bash)h(en)m(ters)g +2682 y(When)f(in)m(v)m(ok)m(ed)h(as)g Ft(sh)p Fu(,)f(Bash)h(en)m(ters)g Fm(posix)e Fu(mo)s(de)h(after)h(reading)g(the)f(startup)g(\014les.)275 -2695 y(The)f(follo)m(wing)j(list)f(is)g(what's)f(c)m(hanged)h(when)e(`) -p Fm(posix)h Fu(mo)s(de')h(is)f(in)g(e\013ect:)199 2824 -y(1.)61 b(When)28 b(a)i(command)e(in)g(the)h(hash)f(table)i(no)e -(longer)h(exists,)h(Bash)f(will)g(re-searc)m(h)h Ft($PATH)d -Fu(to)i(\014nd)330 2934 y(the)i(new)e(lo)s(cation.)43 -b(This)29 b(is)i(also)g(a)m(v)-5 b(ailable)33 b(with)d(`)p -Ft(shopt)f(-s)h(checkhash)p Fu('.)199 3063 y(2.)61 b(The)42 -b(message)h(prin)m(ted)e(b)m(y)h(the)g(job)g(con)m(trol)i(co)s(de)e -(and)f(builtins)h(when)f(a)h(job)g(exits)h(with)f(a)330 -3172 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)199 -3302 y(3.)61 b(The)40 b(message)h(prin)m(ted)f(b)m(y)g(the)h(job)f(con) +2821 y(The)f(follo)m(wing)j(list)f(is)g(what's)f(c)m(hanged)h(when)e(`) +p Fm(posix)h Fu(mo)s(de')h(is)f(in)g(e\013ect:)199 2959 +y(1.)61 b(Bash)31 b(ensures)e(that)i(the)f Ft(POSIXLY_CORRECT)d +Fu(v)-5 b(ariable)31 b(is)f(set.)199 3096 y(2.)61 b(When)28 +b(a)i(command)e(in)g(the)h(hash)f(table)i(no)e(longer)h(exists,)h(Bash) +f(will)g(re-searc)m(h)h Ft($PATH)d Fu(to)i(\014nd)330 +3206 y(the)i(new)e(lo)s(cation.)43 b(This)29 b(is)i(also)g(a)m(v)-5 +b(ailable)33 b(with)d(`)p Ft(shopt)f(-s)h(checkhash)p +Fu('.)199 3342 y(3.)61 b(The)42 b(message)h(prin)m(ted)e(b)m(y)h(the)g +(job)g(con)m(trol)i(co)s(de)e(and)f(builtins)h(when)f(a)h(job)g(exits)h +(with)f(a)330 3452 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)199 +3589 y(4.)61 b(The)40 b(message)h(prin)m(ted)f(b)m(y)g(the)h(job)f(con) m(trol)h(co)s(de)g(and)f(builtins)f(when)h(a)g(job)g(is)h(stopp)s(ed)e -(is)330 3411 y(`Stopp)s(ed\()p Fr(signame)5 b Fu(\)',)31 +(is)330 3698 y(`Stopp)s(ed\()p Fr(signame)5 b Fu(\)',)31 b(where)f Fr(signame)36 b Fu(is,)31 b(for)f(example,)h -Ft(SIGTSTP)p Fu(.)199 3540 y(4.)61 b(Alias)31 b(expansion)g(is)f(alw)m +Ft(SIGTSTP)p Fu(.)199 3835 y(5.)61 b(Alias)31 b(expansion)g(is)f(alw)m (a)m(ys)i(enabled,)e(ev)m(en)i(in)e(non-in)m(teractiv)m(e)j(shells.)199 -3669 y(5.)61 b(Reserv)m(ed)40 b(w)m(ords)g(app)s(earing)f(in)h(a)g(con) +3972 y(6.)61 b(Reserv)m(ed)40 b(w)m(ords)g(app)s(earing)f(in)h(a)g(con) m(text)i(where)d(reserv)m(ed)h(w)m(ords)f(are)i(recognized)g(do)f(not) -330 3779 y(undergo)30 b(alias)h(expansion.)199 3908 y(6.)61 +330 4081 y(undergo)30 b(alias)h(expansion.)199 4218 y(7.)61 b(The)38 b Fm(posix)h Ft(PS1)f Fu(and)g Ft(PS2)g Fu(expansions)g(of)i (`)p Ft(!)p Fu(')f(to)g(the)g(history)g(n)m(um)m(b)s(er)f(and)g(`)p -Ft(!!)p Fu(')h(to)g(`)p Ft(!)p Fu(')h(are)330 4018 y(enabled,)26 +Ft(!!)p Fu(')h(to)g(`)p Ft(!)p Fu(')h(are)330 4328 y(enabled,)26 b(and)f(parameter)g(expansion)g(is)g(p)s(erformed)e(on)i(the)g(v)-5 b(alues)25 b(of)g Ft(PS1)f Fu(and)h Ft(PS2)f Fu(regardless)330 -4127 y(of)31 b(the)f(setting)i(of)e(the)h Ft(promptvars)c -Fu(option.)199 4256 y(7.)61 b(The)30 b Fm(posix)g Fu(startup)f(\014les) +4437 y(of)31 b(the)f(setting)i(of)e(the)h Ft(promptvars)c +Fu(option.)199 4574 y(8.)61 b(The)30 b Fm(posix)g Fu(startup)f(\014les) i(are)g(executed)g(\()p Ft($ENV)p Fu(\))f(rather)g(than)g(the)h(normal) -f(Bash)g(\014les.)199 4385 y(8.)61 b(Tilde)30 b(expansion)g(is)f(only)h +f(Bash)g(\014les.)199 4711 y(9.)61 b(Tilde)30 b(expansion)g(is)f(only)h (p)s(erformed)f(on)h(assignmen)m(ts)g(preceding)g(a)g(command)g(name,)g -(rather)330 4495 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h -(on)e(the)h(line.)199 4624 y(9.)61 b(The)30 b(default)g(history)h +(rather)330 4820 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h +(on)e(the)h(line.)154 4957 y(10.)61 b(The)30 b(default)g(history)h (\014le)f(is)h Ft(~/.sh_history)26 b Fu(\(this)31 b(is)f(the)h(default) -g(v)-5 b(alue)30 b(of)h Ft($HISTFILE)p Fu(\).)154 4753 -y(10.)61 b(Redirection)25 b(op)s(erators)f(do)g(not)g(p)s(erform)f +g(v)-5 b(alue)30 b(of)h Ft($HISTFILE)p Fu(\).)154 5094 +y(11.)61 b(Redirection)25 b(op)s(erators)f(do)g(not)g(p)s(erform)f (\014lename)h(expansion)g(on)g(the)g(w)m(ord)f(in)h(the)g(redirection) -330 4863 y(unless)30 b(the)g(shell)h(is)f(in)m(teractiv)m(e.)154 -4992 y(11.)61 b(Redirection)31 b(op)s(erators)g(do)f(not)h(p)s(erform)e -(w)m(ord)h(splitting)h(on)f(the)h(w)m(ord)f(in)g(the)g(redirection.)154 -5121 y(12.)61 b(F)-8 b(unction)35 b(names)g(m)m(ust)f(b)s(e)g(v)-5 -b(alid)35 b(shell)f Ft(name)p Fu(s.)52 b(That)34 b(is,)i(they)f(ma)m(y) -g(not)g(con)m(tain)g(c)m(haracters)330 5230 y(other)e(than)g(letters,)h -(digits,)h(and)d(underscores,)h(and)f(ma)m(y)h(not)g(start)h(with)e(a)h -(digit.)49 b(Declaring)330 5340 y(a)31 b(function)f(with)g(an)g(in)m(v) --5 b(alid)31 b(name)g(causes)f(a)h(fatal)h(syn)m(tax)f(error)f(in)g -(non-in)m(teractiv)m(e)j(shells.)p eop end +330 5203 y(unless)30 b(the)g(shell)h(is)f(in)m(teractiv)m(e.)154 +5340 y(12.)61 b(Redirection)31 b(op)s(erators)g(do)f(not)h(p)s(erform)e +(w)m(ord)h(splitting)h(on)f(the)h(w)m(ord)f(in)g(the)g(redirection.)p +eop end %%Page: 99 105 TeXDict begin 99 104 bop 150 -116 a Fu(Chapter)30 b(6:)41 b(Bash)30 b(F)-8 b(eatures)2484 b(99)154 299 y(13.)61 -b(F)-8 b(unction)31 b(names)f(ma)m(y)h(not)g(b)s(e)f(the)g(same)h(as)g -(one)f(of)h(the)f Fm(posix)g Fu(sp)s(ecial)h(builtins.)154 -437 y(14.)61 b Fm(posix)30 b Fu(sp)s(ecial)h(builtins)e(are)i(found)e +b(F)-8 b(unction)35 b(names)g(m)m(ust)f(b)s(e)g(v)-5 +b(alid)35 b(shell)f Ft(name)p Fu(s.)52 b(That)34 b(is,)i(they)f(ma)m(y) +g(not)g(con)m(tain)g(c)m(haracters)330 408 y(other)e(than)g(letters,)h +(digits,)h(and)d(underscores,)h(and)f(ma)m(y)h(not)g(start)h(with)e(a)h +(digit.)49 b(Declaring)330 518 y(a)31 b(function)f(with)g(an)g(in)m(v) +-5 b(alid)31 b(name)g(causes)f(a)h(fatal)h(syn)m(tax)f(error)f(in)g +(non-in)m(teractiv)m(e)j(shells.)154 651 y(14.)61 b(F)-8 +b(unction)31 b(names)f(ma)m(y)h(not)g(b)s(e)f(the)g(same)h(as)g(one)f +(of)h(the)f Fm(posix)g Fu(sp)s(ecial)h(builtins.)154 +783 y(15.)61 b Fm(posix)30 b Fu(sp)s(ecial)h(builtins)e(are)i(found)e (b)s(efore)h(shell)h(functions)f(during)f(command)h(lo)s(okup.)154 -576 y(15.)61 b(When)48 b(prin)m(ting)g(shell)h(function)f +916 y(16.)61 b(When)48 b(prin)m(ting)g(shell)h(function)f (de\014nitions)g(\(e.g.,)55 b(b)m(y)48 b Ft(type)p Fu(\),)k(Bash)d(do)s -(es)f(not)h(prin)m(t)f(the)330 685 y Ft(function)28 b -Fu(k)m(eyw)m(ord.)154 824 y(16.)61 b(Literal)28 b(tildes)g(that)f(app)s -(ear)f(as)i(the)f(\014rst)f(c)m(haracter)j(in)d(elemen)m(ts)j(of)e(the) -g Ft(PATH)f Fu(v)-5 b(ariable)27 b(are)h(not)330 933 -y(expanded)i(as)g(describ)s(ed)f(ab)s(o)m(v)m(e)j(under)d(Section)i -(3.5.2)h([Tilde)f(Expansion],)f(page)h(23.)154 1072 y(17.)61 -b(The)29 b Ft(time)g Fu(reserv)m(ed)h(w)m(ord)g(ma)m(y)g(b)s(e)g(used)f -(b)m(y)h(itself)g(as)g(a)h(command.)40 b(When)30 b(used)f(in)g(this)h -(w)m(a)m(y)-8 b(,)330 1181 y(it)33 b(displa)m(ys)g(timing)g(statistics) -h(for)e(the)h(shell)g(and)f(its)g(completed)i(c)m(hildren.)47 -b(The)32 b Ft(TIMEFORMAT)330 1291 y Fu(v)-5 b(ariable)31 -b(con)m(trols)h(the)e(format)h(of)g(the)f(timing)h(information.)154 -1429 y(18.)61 b(When)33 b(parsing)g(and)f(expanding)h(a)h($)p -Fi({)6 b Fu(.)22 b(.)h(.)11 b Fi(})33 b Fu(expansion)g(that)h(app)s -(ears)f(within)f(double)h(quotes,)330 1539 y(single)42 -b(quotes)g(are)g(no)g(longer)g(sp)s(ecial)g(and)f(cannot)i(b)s(e)e -(used)g(to)h(quote)g(a)g(closing)h(brace)f(or)330 1649 -y(other)31 b(sp)s(ecial)h(c)m(haracter,)i(unless)c(the)i(op)s(erator)f -(is)g(one)h(of)f(those)h(de\014ned)e(to)i(p)s(erform)e(pattern)330 -1758 y(remo)m(v)-5 b(al.)42 b(In)30 b(this)g(case,)i(they)e(do)g(not)h -(ha)m(v)m(e)h(to)f(app)s(ear)e(as)i(matc)m(hed)g(pairs.)154 -1897 y(19.)61 b(The)29 b(parser)g(do)s(es)g(not)h(recognize)h +(es)f(not)h(prin)m(t)f(the)330 1026 y Ft(function)28 +b Fu(k)m(eyw)m(ord.)154 1158 y(17.)61 b(Literal)28 b(tildes)g(that)f +(app)s(ear)f(as)i(the)f(\014rst)f(c)m(haracter)j(in)d(elemen)m(ts)j(of) +e(the)g Ft(PATH)f Fu(v)-5 b(ariable)27 b(are)h(not)330 +1268 y(expanded)i(as)g(describ)s(ed)f(ab)s(o)m(v)m(e)j(under)d(Section) +i(3.5.2)h([Tilde)f(Expansion],)f(page)h(23.)154 1401 +y(18.)61 b(The)29 b Ft(time)g Fu(reserv)m(ed)h(w)m(ord)g(ma)m(y)g(b)s +(e)g(used)f(b)m(y)h(itself)g(as)g(a)h(command.)40 b(When)30 +b(used)f(in)g(this)h(w)m(a)m(y)-8 b(,)330 1510 y(it)33 +b(displa)m(ys)g(timing)g(statistics)h(for)e(the)h(shell)g(and)f(its)g +(completed)i(c)m(hildren.)47 b(The)32 b Ft(TIMEFORMAT)330 +1620 y Fu(v)-5 b(ariable)31 b(con)m(trols)h(the)e(format)h(of)g(the)f +(timing)h(information.)154 1752 y(19.)61 b(When)33 b(parsing)g(and)f +(expanding)h(a)h($)p Fi({)6 b Fu(.)22 b(.)h(.)11 b Fi(})33 +b Fu(expansion)g(that)h(app)s(ears)f(within)f(double)h(quotes,)330 +1862 y(single)42 b(quotes)g(are)g(no)g(longer)g(sp)s(ecial)g(and)f +(cannot)i(b)s(e)e(used)g(to)h(quote)g(a)g(closing)h(brace)f(or)330 +1972 y(other)31 b(sp)s(ecial)h(c)m(haracter,)i(unless)c(the)i(op)s +(erator)f(is)g(one)h(of)f(those)h(de\014ned)e(to)i(p)s(erform)e +(pattern)330 2081 y(remo)m(v)-5 b(al.)42 b(In)30 b(this)g(case,)i(they) +e(do)g(not)h(ha)m(v)m(e)h(to)f(app)s(ear)e(as)i(matc)m(hed)g(pairs.)154 +2214 y(20.)61 b(The)29 b(parser)g(do)s(es)g(not)h(recognize)h Ft(time)d Fu(as)i(a)g(reserv)m(ed)f(w)m(ord)g(if)h(the)f(next)h(tok)m -(en)h(b)s(egins)d(with)i(a)330 2006 y(`)p Ft(-)p Fu('.)154 -2145 y(20.)61 b(The)30 b(`)p Ft(!)p Fu(')h(c)m(haracter)h(do)s(es)e +(en)h(b)s(egins)d(with)i(a)330 2323 y(`)p Ft(-)p Fu('.)154 +2456 y(21.)61 b(The)30 b(`)p Ft(!)p Fu(')h(c)m(haracter)h(do)s(es)e (not)h(in)m(tro)s(duce)g(history)f(expansion)h(within)f(a)h -(double-quoted)g(string,)330 2254 y(ev)m(en)g(if)f(the)h -Ft(histexpand)d Fu(option)i(is)h(enabled.)154 2393 y(21.)61 +(double-quoted)g(string,)330 2566 y(ev)m(en)g(if)f(the)h +Ft(histexpand)d Fu(option)i(is)h(enabled.)154 2698 y(22.)61 b(If)24 b(a)g Fm(posix)g Fu(sp)s(ecial)h(builtin)f(returns)f(an)h (error)g(status,)i(a)e(non-in)m(teractiv)m(e)j(shell)e(exits.)39 -b(The)24 b(fatal)330 2502 y(errors)30 b(are)h(those)f(listed)h(in)f +b(The)24 b(fatal)330 2808 y(errors)30 b(are)h(those)f(listed)h(in)f (the)h Fm(posix)e Fu(standard,)h(and)g(include)g(things)g(lik)m(e)i -(passing)e(incorrect)330 2612 y(options,)43 b(redirection)d(errors,)i +(passing)e(incorrect)330 2917 y(options,)43 b(redirection)d(errors,)i (v)-5 b(ariable)41 b(assignmen)m(t)g(errors)e(for)g(assignmen)m(ts)i -(preceding)f(the)330 2721 y(command)30 b(name,)h(and)f(so)g(on.)154 -2860 y(22.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d(exits)h(with)e +(preceding)f(the)330 3027 y(command)30 b(name,)h(and)f(so)g(on.)154 +3160 y(23.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d(exits)h(with)e (an)h(error)g(status)g(if)g(a)g(v)-5 b(ariable)32 b(assignmen)m(t)g -(error)e(o)s(ccurs)330 2969 y(when)38 b(no)h(command)g(name)g(follo)m +(error)e(o)s(ccurs)330 3269 y(when)38 b(no)h(command)g(name)g(follo)m (ws)i(the)e(assignmen)m(t)h(statemen)m(ts.)69 b(A)39 -b(v)-5 b(ariable)40 b(assignmen)m(t)330 3079 y(error)30 +b(v)-5 b(ariable)40 b(assignmen)m(t)330 3379 y(error)30 b(o)s(ccurs,)g(for)g(example,)i(when)d(trying)i(to)g(assign)f(a)h(v)-5 -b(alue)31 b(to)g(a)g(readonly)f(v)-5 b(ariable.)154 3217 -y(23.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d(exits)h(with)e(an)h +b(alue)31 b(to)g(a)g(readonly)f(v)-5 b(ariable.)154 3512 +y(24.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d(exits)h(with)e(an)h (error)g(status)g(if)g(a)g(v)-5 b(ariable)32 b(assignmen)m(t)g(error)e -(o)s(ccurs)330 3327 y(in)g(an)g(assignmen)m(t)i(statemen)m(t)g +(o)s(ccurs)330 3621 y(in)g(an)g(assignmen)m(t)i(statemen)m(t)g (preceding)e(a)h(sp)s(ecial)g(builtin,)f(but)g(not)g(with)h(an)m(y)f -(other)h(simple)330 3437 y(command.)154 3575 y(24.)61 +(other)h(simple)330 3731 y(command.)154 3863 y(25.)61 b(A)43 b(non-in)m(teractiv)m(e)i(shell)e(exits)h(with)f(an)f(error)h (status)g(if)g(the)g(iteration)h(v)-5 b(ariable)44 b(in)f(a)g -Ft(for)330 3685 y Fu(statemen)m(t)32 b(or)f(the)f(selection)i(v)-5 +Ft(for)330 3973 y Fu(statemen)m(t)32 b(or)f(the)f(selection)i(v)-5 b(ariable)32 b(in)e(a)g Ft(select)f Fu(statemen)m(t)j(is)f(a)f -(readonly)h(v)-5 b(ariable.)154 3823 y(25.)61 b(Non-in)m(teractiv)m(e) +(readonly)h(v)-5 b(ariable.)154 4106 y(26.)61 b(Non-in)m(teractiv)m(e) 34 b(shells)c(exit)h(if)g Fr(\014lename)k Fu(in)30 b Ft(.)g Fr(\014lename)36 b Fu(is)31 b(not)f(found.)154 -3961 y(26.)61 b(Non-in)m(teractiv)m(e)41 b(shells)d(exit)h(if)f(a)g +4238 y(27.)61 b(Non-in)m(teractiv)m(e)41 b(shells)d(exit)h(if)f(a)g (syn)m(tax)g(error)g(in)f(an)h(arithmetic)h(expansion)f(results)f(in)h -(an)330 4071 y(in)m(v)-5 b(alid)31 b(expression.)154 -4209 y(27.)61 b(Non-in)m(teractiv)m(e)34 b(shells)c(exit)h(if)g(a)f -(parameter)h(expansion)g(error)f(o)s(ccurs.)154 4348 -y(28.)61 b(Non-in)m(teractiv)m(e)27 b(shells)c(exit)i(if)e(there)h(is)f +(an)330 4348 y(in)m(v)-5 b(alid)31 b(expression.)154 +4481 y(28.)61 b(Non-in)m(teractiv)m(e)34 b(shells)c(exit)h(if)g(a)f +(parameter)h(expansion)g(error)f(o)s(ccurs.)154 4613 +y(29.)61 b(Non-in)m(teractiv)m(e)27 b(shells)c(exit)i(if)e(there)h(is)f (a)h(syn)m(tax)g(error)f(in)g(a)h(script)f(read)g(with)h(the)f -Ft(.)g Fu(or)h Ft(source)330 4457 y Fu(builtins,)30 b(or)g(in)g(a)h +Ft(.)g Fu(or)h Ft(source)330 4723 y Fu(builtins,)30 b(or)g(in)g(a)h (string)g(pro)s(cessed)e(b)m(y)i(the)f Ft(eval)f Fu(builtin.)154 -4596 y(29.)61 b(Pro)s(cess)30 b(substitution)g(is)h(not)f(a)m(v)-5 -b(ailable.)154 4734 y(30.)61 b(While)32 b(v)-5 b(ariable)32 +4855 y(30.)61 b(Pro)s(cess)30 b(substitution)g(is)h(not)f(a)m(v)-5 +b(ailable.)154 4988 y(31.)61 b(While)32 b(v)-5 b(ariable)32 b(indirection)f(is)g(a)m(v)-5 b(ailable,)34 b(it)d(ma)m(y)h(not)f(b)s (e)g(applied)g(to)g(the)h(`)p Ft(#)p Fu(')f(and)f(`)p -Ft(?)p Fu(')h(sp)s(ecial)330 4844 y(parameters.)154 4982 -y(31.)61 b(When)28 b(expanding)g(the)g(`)p Ft(*)p Fu(')g(sp)s(ecial)h +Ft(?)p Fu(')h(sp)s(ecial)330 5098 y(parameters.)154 5230 +y(32.)61 b(When)28 b(expanding)g(the)g(`)p Ft(*)p Fu(')g(sp)s(ecial)h (parameter)f(in)g(a)h(pattern)f(con)m(text)i(where)e(the)g(expansion)g -(is)330 5092 y(double-quoted)i(do)s(es)g(not)h(treat)h(the)e -Ft($*)g Fu(as)h(if)f(it)h(w)m(ere)g(double-quoted.)154 -5230 y(32.)61 b(Assignmen)m(t)23 b(statemen)m(ts)h(preceding)e -Fm(posix)f Fu(sp)s(ecial)i(builtins)f(p)s(ersist)g(in)f(the)i(shell)f -(en)m(vironmen)m(t)330 5340 y(after)31 b(the)f(builtin)g(completes.)p +(is)330 5340 y(double-quoted)i(do)s(es)g(not)h(treat)h(the)e +Ft($*)g Fu(as)h(if)f(it)h(w)m(ere)g(double-quoted.)p eop end %%Page: 100 106 TeXDict begin 100 105 bop 150 -116 a Fu(Chapter)30 b(6:)41 b(Bash)30 b(F)-8 b(eatures)2439 b(100)154 299 y(33.)61 -b(Assignmen)m(t)35 b(statemen)m(ts)h(preceding)f(shell)f(function)g -(calls)i(p)s(ersist)e(in)g(the)h(shell)f(en)m(vironmen)m(t)330 -408 y(after)d(the)f(function)h(returns,)e(as)i(if)f(a)h +b(Assignmen)m(t)23 b(statemen)m(ts)h(preceding)e Fm(posix)f +Fu(sp)s(ecial)i(builtins)f(p)s(ersist)g(in)f(the)i(shell)f(en)m +(vironmen)m(t)330 408 y(after)31 b(the)f(builtin)g(completes.)154 +536 y(34.)61 b(Assignmen)m(t)35 b(statemen)m(ts)h(preceding)f(shell)f +(function)g(calls)i(p)s(ersist)e(in)g(the)h(shell)f(en)m(vironmen)m(t) +330 646 y(after)d(the)f(function)h(returns,)e(as)i(if)f(a)h Fm(posix)e Fu(sp)s(ecial)i(builtin)f(command)g(had)g(b)s(een)g -(executed.)154 536 y(34.)61 b(The)31 b Ft(command)e Fu(builtin)i(do)s +(executed.)154 774 y(35.)61 b(The)31 b Ft(command)e Fu(builtin)i(do)s (es)g(not)h(prev)m(en)m(t)f(builtins)g(that)h(tak)m(e)h(assignmen)m(t)f -(statemen)m(ts)h(as)f(ar-)330 646 y(gumen)m(ts)40 b(from)e(expanding)h +(statemen)m(ts)h(as)f(ar-)330 883 y(gumen)m(ts)40 b(from)e(expanding)h (them)g(as)h(assignmen)m(t)g(statemen)m(ts;)46 b(when)38 -b(not)i(in)f Fm(posix)f Fu(mo)s(de,)330 756 y(assignmen)m(t)k(builtins) +b(not)i(in)f Fm(posix)f Fu(mo)s(de,)330 993 y(assignmen)m(t)k(builtins) e(lose)h(their)g(assignmen)m(t)h(statemen)m(t)h(expansion)d(prop)s -(erties)g(when)g(pre-)330 865 y(ceded)31 b(b)m(y)f Ft(command)p -Fu(.)154 993 y(35.)61 b(The)27 b Ft(bg)g Fu(builtin)g(uses)g(the)h +(erties)g(when)g(pre-)330 1103 y(ceded)31 b(b)m(y)f Ft(command)p +Fu(.)154 1230 y(36.)61 b(The)27 b Ft(bg)g Fu(builtin)g(uses)g(the)h (required)f(format)h(to)g(describ)s(e)f(eac)m(h)i(job)e(placed)h(in)f -(the)h(bac)m(kground,)330 1103 y(whic)m(h)h(do)s(es)g(not)g(include)g +(the)h(bac)m(kground,)330 1340 y(whic)m(h)h(do)s(es)g(not)g(include)g (an)g(indication)h(of)f(whether)f(the)h(job)g(is)g(the)h(curren)m(t)e -(or)h(previous)g(job.)154 1230 y(36.)61 b(The)23 b(output)f(of)i(`)p +(or)h(previous)g(job.)154 1468 y(37.)61 b(The)23 b(output)f(of)i(`)p Ft(kill)29 b(-l)p Fu(')23 b(prin)m(ts)f(all)i(the)g(signal)f(names)g (on)g(a)h(single)g(line,)h(separated)e(b)m(y)g(spaces,)330 -1340 y(without)30 b(the)h(`)p Ft(SIG)p Fu(')f(pre\014x.)154 -1468 y(37.)61 b(The)30 b Ft(kill)f Fu(builtin)h(do)s(es)g(not)h(accept) +1577 y(without)30 b(the)h(`)p Ft(SIG)p Fu(')f(pre\014x.)154 +1705 y(38.)61 b(The)30 b Ft(kill)f Fu(builtin)h(do)s(es)g(not)h(accept) h(signal)f(names)f(with)g(a)h(`)p Ft(SIG)p Fu(')f(pre\014x.)154 -1596 y(38.)61 b(The)38 b Ft(export)f Fu(and)g Ft(readonly)f +1833 y(39.)61 b(The)38 b Ft(export)f Fu(and)g Ft(readonly)f Fu(builtin)i(commands)g(displa)m(y)h(their)f(output)g(in)g(the)h -(format)g(re-)330 1705 y(quired)30 b(b)m(y)g Fm(posix)p -Fu(.)154 1833 y(39.)61 b(The)30 b Ft(trap)f Fu(builtin)h(displa)m(ys)g +(format)g(re-)330 1943 y(quired)30 b(b)m(y)g Fm(posix)p +Fu(.)154 2071 y(40.)61 b(The)30 b Ft(trap)f Fu(builtin)h(displa)m(ys)g (signal)i(names)e(without)g(the)h(leading)g Ft(SIG)p -Fu(.)154 1961 y(40.)61 b(The)39 b Ft(trap)e Fu(builtin)i(do)s(esn't)g +Fu(.)154 2198 y(41.)61 b(The)39 b Ft(trap)e Fu(builtin)i(do)s(esn't)g (c)m(hec)m(k)h(the)g(\014rst)e(argumen)m(t)i(for)e(a)i(p)s(ossible)e -(signal)i(sp)s(eci\014cation)330 2071 y(and)30 b(rev)m(ert)i(the)e +(signal)i(sp)s(eci\014cation)330 2308 y(and)30 b(rev)m(ert)i(the)e (signal)i(handling)e(to)h(the)g(original)h(disp)s(osition)e(if)h(it)g -(is,)g(unless)f(that)h(argumen)m(t)330 2180 y(consists)e(solely)g(of)g +(is,)g(unless)f(that)h(argumen)m(t)330 2418 y(consists)e(solely)g(of)g (digits)g(and)f(is)g(a)h(v)-5 b(alid)29 b(signal)g(n)m(um)m(b)s(er.)38 b(If)28 b(users)g(w)m(an)m(t)h(to)g(reset)g(the)g(handler)330 -2290 y(for)h(a)g(giv)m(en)h(signal)g(to)f(the)h(original)g(disp)s +2527 y(for)h(a)g(giv)m(en)h(signal)g(to)f(the)h(original)g(disp)s (osition,)f(they)g(should)f(use)h(`)p Ft(-)p Fu(')g(as)g(the)g(\014rst) -f(argumen)m(t.)154 2418 y(41.)61 b(The)21 b Ft(.)h Fu(and)f +f(argumen)m(t.)154 2655 y(42.)61 b(The)21 b Ft(.)h Fu(and)f Ft(source)f Fu(builtins)h(do)g(not)h(searc)m(h)h(the)f(curren)m(t)f (directory)h(for)g(the)g(\014lename)f(argumen)m(t)330 -2527 y(if)30 b(it)h(is)g(not)f(found)f(b)m(y)i(searc)m(hing)g -Ft(PATH)p Fu(.)154 2655 y(42.)61 b(Enabling)21 b Fm(posix)g +2765 y(if)30 b(it)h(is)g(not)f(found)f(b)m(y)i(searc)m(hing)g +Ft(PATH)p Fu(.)154 2892 y(43.)61 b(Enabling)21 b Fm(posix)g Fu(mo)s(de)g(has)g(the)g(e\013ect)i(of)e(setting)i(the)e Ft(inherit_errexit)d Fu(option,)23 b(so)f(subshells)330 -2765 y(spa)m(wned)27 b(to)i(execute)g(command)e(substitutions)h +3002 y(spa)m(wned)27 b(to)i(execute)g(command)e(substitutions)h (inherit)f(the)h(v)-5 b(alue)28 b(of)g(the)g Ft(-e)f -Fu(option)h(from)g(the)330 2874 y(paren)m(t)37 b(shell.)62 +Fu(option)h(from)g(the)330 3112 y(paren)m(t)37 b(shell.)62 b(When)37 b(the)g Ft(inherit_errexit)c Fu(option)38 b(is)f(not)h -(enabled,)h(Bash)e(clears)h(the)g Ft(-e)330 2984 y Fu(option)31 -b(in)f(suc)m(h)g(subshells.)154 3112 y(43.)61 b(When)43 +(enabled,)h(Bash)e(clears)h(the)g Ft(-e)330 3221 y Fu(option)31 +b(in)f(suc)m(h)g(subshells.)154 3349 y(44.)61 b(When)43 b(the)g Ft(alias)f Fu(builtin)g(displa)m(ys)i(alias)g(de\014nitions,)i (it)d(do)s(es)g(not)g(displa)m(y)h(them)f(with)g(a)330 -3221 y(leading)31 b(`)p Ft(alias)e Fu(')i(unless)f(the)g -Ft(-p)g Fu(option)h(is)f(supplied.)154 3349 y(44.)61 +3459 y(leading)31 b(`)p Ft(alias)e Fu(')i(unless)f(the)g +Ft(-p)g Fu(option)h(is)f(supplied.)154 3587 y(45.)61 b(When)40 b(the)g Ft(set)f Fu(builtin)h(is)g(in)m(v)m(ok)m(ed)h (without)f(options,)j(it)e(do)s(es)f(not)g(displa)m(y)g(shell)g -(function)330 3459 y(names)30 b(and)g(de\014nitions.)154 -3587 y(45.)61 b(When)36 b(the)g Ft(set)g Fu(builtin)g(is)g(in)m(v)m(ok) +(function)330 3696 y(names)30 b(and)g(de\014nitions.)154 +3824 y(46.)61 b(When)36 b(the)g Ft(set)g Fu(builtin)g(is)g(in)m(v)m(ok) m(ed)i(without)e(options,)i(it)f(displa)m(ys)f(v)-5 b(ariable)37 -b(v)-5 b(alues)37 b(without)330 3696 y(quotes,)26 b(unless)d(they)i +b(v)-5 b(alues)37 b(without)330 3934 y(quotes,)26 b(unless)d(they)i (con)m(tain)g(shell)f(metac)m(haracters,)k(ev)m(en)d(if)f(the)g(result) -g(con)m(tains)i(nonprin)m(ting)330 3806 y(c)m(haracters.)154 -3934 y(46.)61 b(When)35 b(the)g Ft(cd)f Fu(builtin)h(is)g(in)m(v)m(ok)m +g(con)m(tains)i(nonprin)m(ting)330 4043 y(c)m(haracters.)154 +4171 y(47.)61 b(When)35 b(the)g Ft(cd)f Fu(builtin)h(is)g(in)m(v)m(ok)m (ed)i(in)d Fr(logical)41 b Fu(mo)s(de,)36 b(and)f(the)g(pathname)g -(constructed)g(from)330 4043 y Ft($PWD)i Fu(and)h(the)h(directory)f +(constructed)g(from)330 4281 y Ft($PWD)i Fu(and)h(the)h(directory)f (name)h(supplied)e(as)i(an)f(argumen)m(t)h(do)s(es)f(not)g(refer)h(to)g -(an)f(existing)330 4153 y(directory)-8 b(,)32 b Ft(cd)d +(an)f(existing)330 4390 y(directory)-8 b(,)32 b Ft(cd)d Fu(will)i(fail)g(instead)g(of)f(falling)h(bac)m(k)h(to)f -Fr(ph)m(ysical)j Fu(mo)s(de.)154 4281 y(47.)61 b(The)36 +Fr(ph)m(ysical)j Fu(mo)s(de.)154 4518 y(48.)61 b(The)36 b Ft(pwd)f Fu(builtin)h(v)m(eri\014es)h(that)g(the)f(v)-5 b(alue)37 b(it)g(prin)m(ts)e(is)i(the)f(same)h(as)f(the)h(curren)m(t)f -(directory)-8 b(,)330 4390 y(ev)m(en)31 b(if)f(it)h(is)g(not)f(ask)m +(directory)-8 b(,)330 4628 y(ev)m(en)31 b(if)f(it)h(is)g(not)f(ask)m (ed)h(to)g(c)m(hec)m(k)h(the)f(\014le)f(system)h(with)f(the)h -Ft(-P)e Fu(option.)154 4518 y(48.)61 b(When)35 b(listing)g(the)g +Ft(-P)e Fu(option.)154 4756 y(49.)61 b(When)35 b(listing)g(the)g (history)-8 b(,)36 b(the)f Ft(fc)g Fu(builtin)f(do)s(es)g(not)h -(include)g(an)f(indication)i(of)f(whether)f(or)330 4628 +(include)g(an)f(indication)i(of)f(whether)f(or)330 4865 y(not)d(a)f(history)h(en)m(try)f(has)g(b)s(een)g(mo)s(di\014ed.)154 -4756 y(49.)61 b(The)30 b(default)g(editor)h(used)f(b)m(y)g -Ft(fc)g Fu(is)g Ft(ed)p Fu(.)154 4883 y(50.)61 b(The)37 +4993 y(50.)61 b(The)30 b(default)g(editor)h(used)f(b)m(y)g +Ft(fc)g Fu(is)g Ft(ed)p Fu(.)154 5121 y(51.)61 b(The)37 b Ft(type)g Fu(and)g Ft(command)f Fu(builtins)i(will)g(not)g(rep)s(ort) f(a)i(non-executable)g(\014le)f(as)g(ha)m(ving)h(b)s(een)330 -4993 y(found,)26 b(though)h(the)g(shell)g(will)g(attempt)h(to)g +5230 y(found,)26 b(though)h(the)g(shell)g(will)g(attempt)h(to)g (execute)g(suc)m(h)f(a)g(\014le)g(if)g(it)g(is)g(the)g(only)g(so-named) -g(\014le)330 5103 y(found)i(in)h Ft($PATH)p Fu(.)154 -5230 y(51.)61 b(The)33 b Ft(vi)f Fu(editing)i(mo)s(de)f(will)g(in)m(v)m -(ok)m(e)i(the)e Ft(vi)g Fu(editor)h(directly)f(when)f(the)i(`)p -Ft(v)p Fu(')f(command)g(is)g(run,)330 5340 y(instead)e(of)f(c)m(hec)m -(king)i Ft($VISUAL)d Fu(and)g Ft($EDITOR)p Fu(.)p eop +g(\014le)330 5340 y(found)i(in)h Ft($PATH)p Fu(.)p eop end %%Page: 101 107 TeXDict begin 101 106 bop 150 -116 a Fu(Chapter)30 b(6:)41 b(Bash)30 b(F)-8 b(eatures)2439 b(101)154 299 y(52.)61 +b(The)33 b Ft(vi)f Fu(editing)i(mo)s(de)f(will)g(in)m(v)m(ok)m(e)i(the) +e Ft(vi)g Fu(editor)h(directly)f(when)f(the)i(`)p Ft(v)p +Fu(')f(command)g(is)g(run,)330 408 y(instead)e(of)f(c)m(hec)m(king)i +Ft($VISUAL)d Fu(and)g Ft($EDITOR)p Fu(.)154 543 y(53.)61 b(When)41 b(the)g Ft(xpg_echo)e Fu(option)i(is)g(enabled,)j(Bash)d(do)s (es)g(not)g(attempt)h(to)g(in)m(terpret)f(an)m(y)h(ar-)330 -408 y(gumen)m(ts)35 b(to)g Ft(echo)e Fu(as)i(options.)54 +653 y(gumen)m(ts)35 b(to)g Ft(echo)e Fu(as)i(options.)54 b(Eac)m(h)35 b(argumen)m(t)g(is)f(displa)m(y)m(ed,)j(after)e(escap)s(e) -g(c)m(haracters)h(are)330 518 y(con)m(v)m(erted.)154 -653 y(53.)61 b(The)30 b Ft(ulimit)f Fu(builtin)g(uses)h(a)h(blo)s(c)m +g(c)m(haracters)h(are)330 762 y(con)m(v)m(erted.)154 +897 y(54.)61 b(The)30 b Ft(ulimit)f Fu(builtin)g(uses)h(a)h(blo)s(c)m (k)g(size)g(of)g(512)g(b)m(ytes)g(for)f(the)h Ft(-c)f -Fu(and)g Ft(-f)f Fu(options.)154 787 y(54.)61 b(The)39 +Fu(and)g Ft(-f)f Fu(options.)154 1031 y(55.)61 b(The)39 b(arriv)-5 b(al)41 b(of)f Ft(SIGCHLD)e Fu(when)h(a)h(trap)g(is)g(set)h (on)f Ft(SIGCHLD)e Fu(do)s(es)h(not)h(in)m(terrupt)g(the)g -Ft(wait)330 897 y Fu(builtin)c(and)h(cause)g(it)h(to)f(return)f +Ft(wait)330 1141 y Fu(builtin)c(and)h(cause)g(it)h(to)f(return)f (immediately)-8 b(.)62 b(The)37 b(trap)f(command)h(is)g(run)e(once)j -(for)f(eac)m(h)330 1006 y(c)m(hild)31 b(that)g(exits.)154 -1141 y(55.)61 b(The)27 b Ft(read)f Fu(builtin)g(ma)m(y)i(b)s(e)e(in)m +(for)f(eac)m(h)330 1250 y(c)m(hild)31 b(that)g(exits.)154 +1385 y(56.)61 b(The)27 b Ft(read)f Fu(builtin)g(ma)m(y)i(b)s(e)e(in)m (terrupted)h(b)m(y)g(a)h(signal)f(for)g(whic)m(h)g(a)h(trap)f(has)g(b)s -(een)f(set.)40 b(If)27 b(Bash)330 1250 y(receiv)m(es)41 +(een)f(set.)40 b(If)27 b(Bash)330 1494 y(receiv)m(es)41 b(a)f(trapp)s(ed)e(signal)i(while)f(executing)h Ft(read)p Fu(,)h(the)e(trap)h(handler)e(executes)i(and)f Ft(read)330 -1360 y Fu(returns)29 b(an)h(exit)i(status)e(greater)i(than)e(128.)154 -1494 y(56.)61 b(Bash)27 b(remo)m(v)m(es)h(an)e(exited)i(bac)m(kground)e +1604 y Fu(returns)29 b(an)h(exit)i(status)e(greater)i(than)e(128.)154 +1738 y(57.)61 b(Bash)27 b(remo)m(v)m(es)h(an)e(exited)i(bac)m(kground)e (pro)s(cess's)h(status)g(from)f(the)h(list)g(of)g(suc)m(h)f(statuses)h -(after)330 1604 y(the)k Ft(wait)e Fu(builtin)h(is)g(used)g(to)h(obtain) -g(it.)275 1763 y(There)j(is)g(other)h Fm(posix)f Fu(b)s(eha)m(vior)h +(after)330 1848 y(the)k Ft(wait)e Fu(builtin)h(is)g(used)g(to)h(obtain) +g(it.)275 2007 y(There)j(is)g(other)h Fm(posix)f Fu(b)s(eha)m(vior)h (that)g(Bash)g(do)s(es)f(not)h(implemen)m(t)g(b)m(y)g(default)f(ev)m -(en)i(when)d(in)150 1873 y Fm(posix)d Fu(mo)s(de.)40 -b(Sp)s(eci\014cally:)199 2007 y(1.)61 b(The)30 b Ft(fc)f +(en)i(when)d(in)150 2117 y Fm(posix)d Fu(mo)s(de.)40 +b(Sp)s(eci\014cally:)199 2252 y(1.)61 b(The)30 b Ft(fc)f Fu(builtin)h(c)m(hec)m(ks)i Ft($EDITOR)c Fu(as)j(a)f(program)g(to)h (edit)g(history)f(en)m(tries)h(if)f Ft(FCEDIT)f Fu(is)h(unset,)330 -2117 y(rather)g(than)g(defaulting)h(directly)g(to)g Ft(ed)p +2361 y(rather)g(than)g(defaulting)h(directly)g(to)g Ft(ed)p Fu(.)40 b Ft(fc)30 b Fu(uses)g Ft(ed)g Fu(if)g Ft(EDITOR)f -Fu(is)h(unset.)199 2252 y(2.)61 b(As)29 b(noted)g(ab)s(o)m(v)m(e,)i +Fu(is)h(unset.)199 2496 y(2.)61 b(As)29 b(noted)g(ab)s(o)m(v)m(e,)i (Bash)e(requires)g(the)g Ft(xpg_echo)e Fu(option)j(to)g(b)s(e)e -(enabled)h(for)g(the)g Ft(echo)f Fu(builtin)330 2361 -y(to)j(b)s(e)f(fully)g(conforman)m(t.)275 2521 y(Bash)c(can)g(b)s(e)f +(enabled)h(for)g(the)g Ft(echo)f Fu(builtin)330 2605 +y(to)j(b)s(e)f(fully)g(conforman)m(t.)275 2765 y(Bash)c(can)g(b)s(e)f (con\014gured)h(to)g(b)s(e)g Fm(posix)p Fu(-conforman)m(t)g(b)m(y)g (default,)h(b)m(y)f(sp)s(ecifying)g(the)g Ft(--enable-)150 -2630 y(strict-posix-default)c Fu(to)27 b Ft(configure)e +2874 y(strict-posix-default)c Fu(to)27 b Ft(configure)e Fu(when)h(building)h(\(see)h(Section)g(10.8)g([Optional)g(F)-8 -b(eatures],)150 2740 y(page)31 b(148\).)p eop end +b(eatures],)150 2984 y(page)31 b(149\).)p eop end %%Page: 102 108 TeXDict begin 102 107 bop 3614 -116 a Fu(102)150 299 y Fp(7)80 b(Job)54 b(Con)l(trol)150 518 y Fu(This)25 @@ -16176,545 +16249,545 @@ b(Command)29 b(Line)i(Editing)2062 b(111)630 299 y Ft Ft(on)p Fu(',)g(Readline)g(p)s(erforms)e(\014lename)h(matc)m(hing)i (and)e(completion)1110 518 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)40 b(The)30 b(default)h(v)-5 b(alue)30 b(is)h(`)p Ft(off)p -Fu('.)630 669 y Ft(completion-map-case)1110 778 y Fu(If)22 +Fu('.)630 682 y Ft(completion-map-case)1110 792 y Fu(If)22 b(set)g(to)h(`)p Ft(on)p Fu(',)h(and)e Fr(completion-ignore-case)31 -b Fu(is)22 b(enabled,)i(Readline)f(treats)1110 888 y(h)m(yphens)29 +b Fu(is)22 b(enabled,)i(Readline)f(treats)1110 902 y(h)m(yphens)29 b(\(`)p Ft(-)p Fu('\))j(and)e(underscores)g(\(`)p Ft(_)p Fu('\))i(as)f(equiv)-5 b(alen)m(t)32 b(when)e(p)s(erforming)1110 -998 y(case-insensitiv)m(e)j(\014lename)d(matc)m(hing)i(and)e -(completion.)630 1148 y Ft(completion-prefix-displa)o(y-le)o(ngth)1110 -1258 y Fu(The)h(length)g(in)g(c)m(haracters)i(of)f(the)f(common)h -(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110 1367 -y(completions)g(that)f(is)g(displa)m(y)m(ed)g(without)g(mo)s -(di\014cation.)41 b(When)29 b(set)h(to)h(a)1110 1477 +1011 y(case-insensitiv)m(e)47 b(\014lename)e(matc)m(hing)g(and)f +(completion.)85 b(The)44 b(default)1110 1121 y(v)-5 b(alue)31 +b(is)f(`)p Ft(off)p Fu('.)630 1285 y Ft(completion-prefix-displa)o +(y-le)o(ngth)1110 1395 y Fu(The)h(length)g(in)g(c)m(haracters)i(of)f +(the)f(common)h(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110 +1504 y(completions)g(that)f(is)g(displa)m(y)m(ed)g(without)g(mo)s +(di\014cation.)41 b(When)29 b(set)h(to)h(a)1110 1614 y(v)-5 b(alue)26 b(greater)h(than)e(zero,)j(common)e(pre\014xes)e -(longer)j(than)e(this)g(v)-5 b(alue)27 b(are)1110 1587 +(longer)j(than)e(this)g(v)-5 b(alue)27 b(are)1110 1724 y(replaced)k(with)f(an)g(ellipsis)h(when)e(displa)m(ying)i(p)s(ossible) -f(completions.)630 1737 y Ft(completion-query-items)1110 -1847 y Fu(The)c(n)m(um)m(b)s(er)f(of)h(p)s(ossible)g(completions)h -(that)g(determines)f(when)f(the)i(user)1110 1956 y(is)i(ask)m(ed)h +f(completions.)630 1888 y Ft(completion-query-items)1110 +1998 y Fu(The)c(n)m(um)m(b)s(er)f(of)h(p)s(ossible)g(completions)h +(that)g(determines)f(when)f(the)i(user)1110 2107 y(is)i(ask)m(ed)h (whether)f(the)h(list)g(of)f(p)s(ossibilities)h(should)e(b)s(e)h -(displa)m(y)m(ed.)41 b(If)29 b(the)1110 2066 y(n)m(um)m(b)s(er)d(of)h +(displa)m(y)m(ed.)41 b(If)29 b(the)1110 2217 y(n)m(um)m(b)s(er)d(of)h (p)s(ossible)f(completions)i(is)f(greater)h(than)e(this)h(v)-5 -b(alue,)28 b(Readline)1110 2176 y(will)f(ask)g(the)f(user)g(whether)g +b(alue,)28 b(Readline)1110 2326 y(will)f(ask)g(the)f(user)g(whether)g (or)g(not)h(he)f(wishes)g(to)i(view)e(them;)i(otherwise,)1110 -2285 y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5 +2436 y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5 b(ariable)25 b(m)m(ust)g(b)s(e)e(set)i(to)g(an)g(in)m(teger)g(v)-5 -b(alue)1110 2395 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40 +b(alue)1110 2545 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40 b(A)24 b(negativ)m(e)j(v)-5 b(alue)26 b(means)e(Readline)i(should)1110 -2504 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g -Ft(100)p Fu(.)630 2655 y Ft(convert-meta)1110 2765 y +2655 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g +Ft(100)p Fu(.)630 2819 y Ft(convert-meta)1110 2929 y Fu(If)22 b(set)g(to)h(`)p Ft(on)p Fu(',)h(Readline)f(will)f(con)m(v)m (ert)i(c)m(haracters)f(with)f(the)g(eigh)m(th)h(bit)f(set)1110 -2874 y(to)33 b(an)e Fm(asci)r(i)h Fu(k)m(ey)h(sequence)f(b)m(y)g +3039 y(to)33 b(an)e Fm(asci)r(i)h Fu(k)m(ey)h(sequence)f(b)m(y)g (stripping)f(the)h(eigh)m(th)h(bit)f(and)f(pre\014xing)1110 -2984 y(an)24 b Ft(ESC)g Fu(c)m(haracter,)j(con)m(v)m(erting)f(them)f -(to)g(a)g(meta-pre\014xed)f(k)m(ey)h(sequence.)1110 3093 +3148 y(an)24 b Ft(ESC)g Fu(c)m(haracter,)j(con)m(v)m(erting)f(them)f +(to)g(a)g(meta-pre\014xed)f(k)m(ey)h(sequence.)1110 3258 y(The)i(default)h(v)-5 b(alue)28 b(is)f(`)p Ft(on)p Fu(',)i(but)d(will) i(b)s(e)f(set)h(to)g(`)p Ft(off)p Fu(')g(if)f(the)h(lo)s(cale)h(is)f -(one)1110 3203 y(that)j(con)m(tains)h(eigh)m(t-bit)g(c)m(haracters.)630 -3354 y Ft(disable-completion)1110 3463 y Fu(If)k(set)h(to)h(`)p +(one)1110 3367 y(that)j(con)m(tains)h(eigh)m(t-bit)g(c)m(haracters.)630 +3532 y Ft(disable-completion)1110 3641 y Fu(If)k(set)h(to)h(`)p Ft(On)p Fu(',)g(Readline)f(will)g(inhibit)f(w)m(ord)h(completion.)60 -b(Completion)1110 3573 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h +b(Completion)1110 3751 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h (in)m(to)h(the)g(line)f(as)g(if)g(they)h(had)e(b)s(een)g(mapp)s(ed)1110 -3682 y(to)31 b Ft(self-insert)p Fu(.)38 b(The)30 b(default)g(is)h(`)p -Ft(off)p Fu('.)630 3833 y Ft(echo-control-characters)1110 -3943 y Fu(When)f(set)h(to)g(`)p Ft(on)p Fu(',)f(on)g(op)s(erating)h -(systems)f(that)h(indicate)g(they)g(supp)s(ort)1110 4052 +3861 y(to)31 b Ft(self-insert)p Fu(.)38 b(The)30 b(default)g(is)h(`)p +Ft(off)p Fu('.)630 4025 y Ft(echo-control-characters)1110 +4134 y Fu(When)f(set)h(to)g(`)p Ft(on)p Fu(',)f(on)g(op)s(erating)h +(systems)f(that)h(indicate)g(they)g(supp)s(ort)1110 4244 y(it,)i(readline)e(ec)m(ho)s(es)i(a)f(c)m(haracter)h(corresp)s(onding)d -(to)j(a)f(signal)g(generated)1110 4162 y(from)e(the)g(k)m(eyb)s(oard.) -41 b(The)30 b(default)g(is)h(`)p Ft(on)p Fu('.)630 4313 -y Ft(editing-mode)1110 4422 y Fu(The)d Ft(editing-mode)e +(to)j(a)f(signal)g(generated)1110 4354 y(from)e(the)g(k)m(eyb)s(oard.) +41 b(The)30 b(default)g(is)h(`)p Ft(on)p Fu('.)630 4518 +y Ft(editing-mode)1110 4628 y Fu(The)d Ft(editing-mode)e Fu(v)-5 b(ariable)29 b(con)m(trols)h(whic)m(h)e(default)h(set)h(of)e(k) -m(ey)i(bind-)1110 4532 y(ings)25 b(is)g(used.)38 b(By)26 +m(ey)i(bind-)1110 4737 y(ings)25 b(is)g(used.)38 b(By)26 b(default,)g(Readline)g(starts)f(up)f(in)h(Emacs)g(editing)h(mo)s(de,) -1110 4641 y(where)j(the)g(k)m(eystrok)m(es)i(are)e(most)h(similar)f(to) +1110 4847 y(where)j(the)g(k)m(eystrok)m(es)i(are)e(most)h(similar)f(to) h(Emacs.)40 b(This)29 b(v)-5 b(ariable)30 b(can)1110 -4751 y(b)s(e)g(set)h(to)g(either)g(`)p Ft(emacs)p Fu(')e(or)h(`)p -Ft(vi)p Fu('.)630 4902 y Ft(emacs-mode-string)1110 5011 +4956 y(b)s(e)g(set)h(to)g(either)g(`)p Ft(emacs)p Fu(')e(or)h(`)p +Ft(vi)p Fu('.)630 5121 y Ft(emacs-mode-string)1110 5230 y Fu(If)j(the)h Fr(sho)m(w-mo)s(de-in-prompt)h Fu(v)-5 b(ariable)35 b(is)e(enabled,)i(this)f(string)f(is)h(dis-)1110 -5121 y(pla)m(y)m(ed)24 b(immediately)g(b)s(efore)f(the)g(last)h(line)f -(of)h(the)f(primary)f(prompt)g(when)1110 5230 y(emacs)g(editing)h(mo)s -(de)e(is)h(activ)m(e.)40 b(The)21 b(v)-5 b(alue)22 b(is)g(expanded)f -(lik)m(e)h(a)h(k)m(ey)f(bind-)1110 5340 y(ing,)27 b(so)f(the)f -(standard)g(set)h(of)f(meta-)i(and)e(con)m(trol)i(pre\014xes)d(and)h -(bac)m(kslash)p eop end +5340 y(pla)m(y)m(ed)24 b(immediately)g(b)s(efore)f(the)g(last)h(line)f +(of)h(the)f(primary)f(prompt)g(when)p eop end %%Page: 112 118 TeXDict begin 112 117 bop 150 -116 a Fu(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(112)1110 299 y(escap)s(e)24 -b(sequences)h(is)e(a)m(v)-5 b(ailable.)41 b(Use)25 b(the)f(`)p +b(Command)29 b(Line)i(Editing)2062 b(112)1110 299 y(emacs)22 +b(editing)h(mo)s(de)e(is)h(activ)m(e.)40 b(The)21 b(v)-5 +b(alue)22 b(is)g(expanded)f(lik)m(e)h(a)h(k)m(ey)f(bind-)1110 +408 y(ing,)27 b(so)f(the)f(standard)g(set)h(of)f(meta-)i(and)e(con)m +(trol)i(pre\014xes)d(and)h(bac)m(kslash)1110 518 y(escap)s(e)f +(sequences)h(is)e(a)m(v)-5 b(ailable.)41 b(Use)25 b(the)f(`)p Ft(\\1)p Fu(')f(and)h(`)p Ft(\\2)p Fu(')g(escap)s(es)g(to)g(b)s(egin) -1110 408 y(and)37 b(end)g(sequences)h(of)f(non-prin)m(ting)h(c)m -(haracters,)j(whic)m(h)c(can)h(b)s(e)f(used)1110 518 +1110 628 y(and)37 b(end)g(sequences)h(of)f(non-prin)m(ting)h(c)m +(haracters,)j(whic)m(h)c(can)h(b)s(e)f(used)1110 737 y(to)h(em)m(b)s(ed)f(a)g(terminal)h(con)m(trol)h(sequence)f(in)m(to)g -(the)f(mo)s(de)g(string.)61 b(The)1110 628 y(default)31 -b(is)f(`)p Ft(@)p Fu('.)630 778 y Ft(enable-bracketed-paste)1110 -888 y Fu(When)24 b(set)h(to)h(`)p Ft(On)p Fu(',)g(Readline)f(will)g +(the)f(mo)s(de)g(string.)61 b(The)1110 847 y(default)31 +b(is)f(`)p Ft(@)p Fu('.)630 1019 y Ft(enable-bracketed-paste)1110 +1129 y Fu(When)24 b(set)h(to)h(`)p Ft(On)p Fu(',)g(Readline)f(will)g (con\014gure)f(the)h(terminal)g(in)f(a)h(w)m(a)m(y)g(that)1110 -998 y(will)k(enable)f(it)h(to)g(insert)g(eac)m(h)g(paste)g(in)m(to)g -(the)g(editing)g(bu\013er)e(as)i(a)f(single)1110 1107 +1238 y(will)k(enable)f(it)h(to)g(insert)g(eac)m(h)g(paste)g(in)m(to)g +(the)g(editing)g(bu\013er)e(as)i(a)f(single)1110 1348 y(string)33 b(of)f(c)m(haracters,)j(instead)e(of)g(treating)h(eac)m(h)g -(c)m(haracter)g(as)f(if)f(it)i(had)1110 1217 y(b)s(een)e(read)i(from)e +(c)m(haracter)g(as)f(if)f(it)i(had)1110 1457 y(b)s(een)e(read)i(from)e (the)i(k)m(eyb)s(oard.)49 b(This)32 b(can)h(prev)m(en)m(t)h(pasted)f(c) -m(haracters)1110 1326 y(from)d(b)s(eing)g(in)m(terpreted)h(as)f +m(haracters)1110 1567 y(from)d(b)s(eing)g(in)m(terpreted)h(as)f (editing)h(commands.)41 b(The)29 b(default)i(is)f(`)p -Ft(off)p Fu('.)630 1477 y Ft(enable-keypad)1110 1587 +Ft(off)p Fu('.)630 1739 y Ft(enable-keypad)1110 1849 y Fu(When)23 b(set)h(to)g(`)p Ft(on)p Fu(',)h(Readline)f(will)g(try)f -(to)h(enable)g(the)f(application)i(k)m(eypad)1110 1696 +(to)h(enable)g(the)f(application)i(k)m(eypad)1110 1958 y(when)h(it)h(is)f(called.)41 b(Some)27 b(systems)f(need)h(this)f(to)h -(enable)g(the)g(arro)m(w)g(k)m(eys.)1110 1806 y(The)j(default)g(is)h(`) -p Ft(off)p Fu('.)630 1956 y Ft(enable-meta-key)1110 2066 +(enable)g(the)g(arro)m(w)g(k)m(eys.)1110 2068 y(The)j(default)g(is)h(`) +p Ft(off)p Fu('.)630 2240 y Ft(enable-meta-key)1110 2350 y Fu(When)40 b(set)g(to)g(`)p Ft(on)p Fu(',)j(Readline)d(will)g(try)g -(to)g(enable)g(an)m(y)g(meta)h(mo)s(di\014er)1110 2176 +(to)g(enable)g(an)m(y)g(meta)h(mo)s(di\014er)1110 2459 y(k)m(ey)i(the)e(terminal)i(claims)f(to)h(supp)s(ort)d(when)h(it)h(is)g -(called.)76 b(On)41 b(man)m(y)1110 2285 y(terminals,)c(the)e(meta)h(k)m +(called.)76 b(On)41 b(man)m(y)1110 2569 y(terminals,)c(the)e(meta)h(k)m (ey)g(is)f(used)g(to)h(send)e(eigh)m(t-bit)j(c)m(haracters.)56 -b(The)1110 2395 y(default)31 b(is)f(`)p Ft(on)p Fu('.)630 -2545 y Ft(expand-tilde)1110 2655 y Fu(If)d(set)h(to)h(`)p +b(The)1110 2679 y(default)31 b(is)f(`)p Ft(on)p Fu('.)630 +2851 y Ft(expand-tilde)1110 2960 y Fu(If)d(set)h(to)h(`)p Ft(on)p Fu(',)f(tilde)g(expansion)g(is)f(p)s(erformed)f(when)h -(Readline)h(attempts)1110 2765 y(w)m(ord)i(completion.)42 -b(The)30 b(default)g(is)h(`)p Ft(off)p Fu('.)630 2915 -y Ft(history-preserve-point)1110 3025 y Fu(If)41 b(set)h(to)h(`)p +(Readline)h(attempts)1110 3070 y(w)m(ord)i(completion.)42 +b(The)30 b(default)g(is)h(`)p Ft(off)p Fu('.)630 3242 +y Ft(history-preserve-point)1110 3352 y Fu(If)41 b(set)h(to)h(`)p Ft(on)p Fu(',)i(the)c(history)h(co)s(de)g(attempts)h(to)f(place)h(the)f -(p)s(oin)m(t)f(\(the)1110 3134 y(curren)m(t)35 b(cursor)g(p)s +(p)s(oin)m(t)f(\(the)1110 3461 y(curren)m(t)35 b(cursor)g(p)s (osition\))g(at)h(the)g(same)f(lo)s(cation)i(on)e(eac)m(h)h(history)g -(line)1110 3244 y(retriev)m(ed)h(with)f Ft(previous-history)c +(line)1110 3571 y(retriev)m(ed)h(with)f Ft(previous-history)c Fu(or)37 b Ft(next-history)p Fu(.)55 b(The)36 b(default)1110 -3354 y(is)30 b(`)p Ft(off)p Fu('.)630 3504 y Ft(history-size)1110 -3614 y Fu(Set)39 b(the)g(maxim)m(um)g(n)m(um)m(b)s(er)f(of)h(history)g -(en)m(tries)h(sa)m(v)m(ed)g(in)f(the)g(history)1110 3724 +3680 y(is)30 b(`)p Ft(off)p Fu('.)630 3853 y Ft(history-size)1110 +3962 y Fu(Set)39 b(the)g(maxim)m(um)g(n)m(um)m(b)s(er)f(of)h(history)g +(en)m(tries)h(sa)m(v)m(ed)g(in)f(the)g(history)1110 4072 y(list.)51 b(If)34 b(set)g(to)h(zero,)g(an)m(y)f(existing)h(history)f -(en)m(tries)g(are)g(deleted)h(and)e(no)1110 3833 y(new)e(en)m(tries)i +(en)m(tries)g(are)g(deleted)h(and)e(no)1110 4181 y(new)e(en)m(tries)i (are)f(sa)m(v)m(ed.)46 b(If)31 b(set)h(to)h(a)f(v)-5 b(alue)32 b(less)g(than)f(zero,)i(the)f(n)m(um)m(b)s(er)1110 -3943 y(of)f(history)f(en)m(tries)h(is)g(not)g(limited.)42 +4291 y(of)f(history)f(en)m(tries)h(is)g(not)g(limited.)42 b(By)30 b(default,)h(the)g(n)m(um)m(b)s(er)e(of)i(history)1110 -4052 y(en)m(tries)j(is)f(not)g(limited.)49 b(If)32 b(an)h(attempt)h(is) -f(made)g(to)h(set)f Fr(history-size)39 b Fu(to)1110 4162 +4401 y(en)m(tries)j(is)f(not)g(limited.)49 b(If)32 b(an)h(attempt)h(is) +f(made)g(to)h(set)f Fr(history-size)39 b Fu(to)1110 4510 y(a)34 b(non-n)m(umeric)f(v)-5 b(alue,)34 b(the)g(maxim)m(um)f(n)m(um)m -(b)s(er)f(of)h(history)h(en)m(tries)g(will)1110 4271 -y(b)s(e)c(set)h(to)g(500.)630 4422 y Ft(horizontal-scroll-mode)1110 -4532 y Fu(This)k(v)-5 b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f +(b)s(er)f(of)h(history)h(en)m(tries)g(will)1110 4620 +y(b)s(e)c(set)h(to)g(500.)630 4792 y Ft(horizontal-scroll-mode)1110 +4902 y Fu(This)k(v)-5 b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f (`)p Ft(on)p Fu(')g(or)g(`)p Ft(off)p Fu('.)57 b(Setting)36 -b(it)g(to)h(`)p Ft(on)p Fu(')1110 4641 y(means)26 b(that)h(the)f(text)h +b(it)g(to)h(`)p Ft(on)p Fu(')1110 5011 y(means)26 b(that)h(the)f(text)h (of)g(the)f(lines)g(b)s(eing)g(edited)h(will)f(scroll)h(horizon)m -(tally)1110 4751 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i -(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 4861 +(tally)1110 5121 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i +(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 5230 y(screen,)27 b(instead)g(of)f(wrapping)f(on)m(to)i(a)f(new)g(screen)g -(line.)39 b(By)27 b(default,)g(this)1110 4970 y(v)-5 -b(ariable)31 b(is)g(set)f(to)i(`)p Ft(off)p Fu('.)630 -5121 y Ft(input-meta)1110 5230 y Fu(If)f(set)g(to)h(`)p -Ft(on)p Fu(',)g(Readline)g(will)f(enable)h(eigh)m(t-bit)h(input)d(\(it) -i(will)f(not)h(clear)1110 5340 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h -(c)m(haracters)h(it)f(reads\),)j(regardless)c(of)h(what)g(the)p -eop end +(line.)39 b(By)27 b(default,)g(this)1110 5340 y(v)-5 +b(ariable)31 b(is)g(set)f(to)i(`)p Ft(off)p Fu('.)p eop +end %%Page: 113 119 TeXDict begin 113 118 bop 150 -116 a Fu(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(113)1110 299 y(terminal)44 -b(claims)h(it)f(can)g(supp)s(ort.)79 b(The)44 b(default)g(v)-5 -b(alue)44 b(is)g(`)p Ft(off)p Fu(',)j(but)1110 408 y(Readline)24 +b(Command)29 b(Line)i(Editing)2062 b(113)630 299 y Ft(input-meta)1110 +408 y Fu(If)31 b(set)g(to)h(`)p Ft(on)p Fu(',)g(Readline)g(will)f +(enable)h(eigh)m(t-bit)h(input)d(\(it)i(will)f(not)h(clear)1110 +518 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h(c)m(haracters)h(it)f +(reads\),)j(regardless)c(of)h(what)g(the)1110 628 y(terminal)k(claims)h +(it)f(can)g(supp)s(ort.)79 b(The)44 b(default)g(v)-5 +b(alue)44 b(is)g(`)p Ft(off)p Fu(',)j(but)1110 737 y(Readline)24 b(will)h(set)f(it)g(to)h(`)p Ft(on)p Fu(')e(if)h(the)g(lo)s(cale)i(con) -m(tains)f(eigh)m(t-bit)g(c)m(haracters.)1110 518 y(The)30 +m(tains)f(eigh)m(t-bit)g(c)m(haracters.)1110 847 y(The)30 b(name)g Ft(meta-flag)e Fu(is)j(a)f(synon)m(ym)g(for)g(this)h(v)-5 -b(ariable.)630 675 y Ft(isearch-terminators)1110 784 +b(ariable.)630 1029 y Ft(isearch-terminators)1110 1139 y Fu(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e(terminate)j -(an)f(incremen)m(tal)1110 894 y(searc)m(h)25 b(without)g(subsequen)m +(an)f(incremen)m(tal)1110 1249 y(searc)m(h)25 b(without)g(subsequen)m (tly)g(executing)h(the)f(c)m(haracter)h(as)f(a)g(command)1110 -1003 y(\(see)38 b(Section)g(8.2.5)h([Searc)m(hing],)h(page)e(108\).)62 -b(If)37 b(this)g(v)-5 b(ariable)38 b(has)f(not)1110 1113 +1358 y(\(see)38 b(Section)g(8.2.5)h([Searc)m(hing],)h(page)e(108\).)62 +b(If)37 b(this)g(v)-5 b(ariable)38 b(has)f(not)1110 1468 y(b)s(een)e(giv)m(en)h(a)g(v)-5 b(alue,)37 b(the)f(c)m(haracters)h Ft(ESC)d Fu(and)h Fj(C-J)g Fu(will)h(terminate)g(an)1110 -1223 y(incremen)m(tal)c(searc)m(h.)630 1379 y Ft(keymap)192 +1577 y(incremen)m(tal)c(searc)m(h.)630 1760 y Ft(keymap)192 b Fu(Sets)39 b(Readline's)g(idea)h(of)f(the)g(curren)m(t)f(k)m(eymap)h -(for)g(k)m(ey)g(binding)f(com-)1110 1489 y(mands.)81 +(for)g(k)m(ey)g(binding)f(com-)1110 1870 y(mands.)81 b(Acceptable)47 b Ft(keymap)42 b Fu(names)i(are)h Ft(emacs)p -Fu(,)i Ft(emacs-standard)p Fu(,)1110 1598 y Ft(emacs-meta)p +Fu(,)i Ft(emacs-standard)p Fu(,)1110 1979 y Ft(emacs-meta)p Fu(,)99 b Ft(emacs-ctlx)p Fu(,)f Ft(vi)p Fu(,)j Ft(vi-move)p -Fu(,)f Ft(vi-command)p Fu(,)f(and)1110 1708 y Ft(vi-insert)p +Fu(,)f Ft(vi-command)p Fu(,)f(and)1110 2089 y Ft(vi-insert)p Fu(.)81 b Ft(vi)44 b Fu(is)h(equiv)-5 b(alen)m(t)46 b(to)g Ft(vi-command)c Fu(\()p Ft(vi-move)h Fu(is)i(also)h(a)1110 -1817 y(synon)m(ym\);)g Ft(emacs)39 b Fu(is)i(equiv)-5 +2198 y(synon)m(ym\);)g Ft(emacs)39 b Fu(is)i(equiv)-5 b(alen)m(t)42 b(to)g Ft(emacs-standard)p Fu(.)68 b(The)40 -b(default)1110 1927 y(v)-5 b(alue)52 b(is)f Ft(emacs)p +b(default)1110 2308 y(v)-5 b(alue)52 b(is)f Ft(emacs)p Fu(.)103 b(The)51 b(v)-5 b(alue)52 b(of)f(the)h Ft(editing-mode)c -Fu(v)-5 b(ariable)52 b(also)1110 2037 y(a\013ects)32 -b(the)e(default)h(k)m(eymap.)630 2193 y Ft(keyseq-timeout)1110 -2303 y Fu(Sp)s(eci\014es)25 b(the)g(duration)g(Readline)h(will)g(w)m -(ait)g(for)g(a)f(c)m(haracter)i(when)e(read-)1110 2412 +Fu(v)-5 b(ariable)52 b(also)1110 2418 y(a\013ects)32 +b(the)e(default)h(k)m(eymap.)630 2600 y Ft(keyseq-timeout)1110 +2710 y Fu(Sp)s(eci\014es)25 b(the)g(duration)g(Readline)h(will)g(w)m +(ait)g(for)g(a)f(c)m(haracter)i(when)e(read-)1110 2819 y(ing)30 b(an)g(am)m(biguous)g(k)m(ey)h(sequence)f(\(one)g(that)h(can)f -(form)g(a)g(complete)h(k)m(ey)1110 2522 y(sequence)j(using)e(the)i +(form)g(a)g(complete)h(k)m(ey)1110 2929 y(sequence)j(using)e(the)i (input)e(read)h(so)g(far,)h(or)g(can)f(tak)m(e)i(additional)f(input) -1110 2632 y(to)g(complete)g(a)f(longer)h(k)m(ey)f(sequence\).)49 +1110 3039 y(to)g(complete)g(a)f(longer)h(k)m(ey)f(sequence\).)49 b(If)33 b(no)f(input)g(is)h(receiv)m(ed)h(within)1110 -2741 y(the)43 b(timeout,)48 b(Readline)43 b(will)g(use)g(the)g(shorter) -g(but)f(complete)j(k)m(ey)e(se-)1110 2851 y(quence.)c(Readline)26 +3148 y(the)43 b(timeout,)48 b(Readline)43 b(will)g(use)g(the)g(shorter) +g(but)f(complete)j(k)m(ey)e(se-)1110 3258 y(quence.)c(Readline)26 b(uses)f(this)h(v)-5 b(alue)26 b(to)g(determine)g(whether)f(or)g(not)h -(input)1110 2960 y(is)31 b(a)m(v)-5 b(ailable)33 b(on)d(the)h(curren)m +(input)1110 3367 y(is)31 b(a)m(v)-5 b(ailable)33 b(on)d(the)h(curren)m (t)f(input)g(source)h(\()p Ft(rl_instream)d Fu(b)m(y)i(default\).)1110 -3070 y(The)25 b(v)-5 b(alue)26 b(is)f(sp)s(eci\014ed)f(in)h +3477 y(The)25 b(v)-5 b(alue)26 b(is)f(sp)s(eci\014ed)f(in)h (milliseconds,)j(so)d(a)h(v)-5 b(alue)26 b(of)f(1000)i(means)e(that) -1110 3180 y(Readline)e(will)g(w)m(ait)g(one)g(second)f(for)g +1110 3587 y(Readline)e(will)g(w)m(ait)g(one)g(second)f(for)g (additional)i(input.)37 b(If)22 b(this)g(v)-5 b(ariable)23 -b(is)1110 3289 y(set)28 b(to)h(a)f(v)-5 b(alue)29 b(less)f(than)g(or)f +b(is)1110 3696 y(set)28 b(to)h(a)f(v)-5 b(alue)29 b(less)f(than)g(or)f (equal)i(to)f(zero,)i(or)e(to)g(a)h(non-n)m(umeric)e(v)-5 -b(alue,)1110 3399 y(Readline)30 b(will)f(w)m(ait)i(un)m(til)e(another)h +b(alue,)1110 3806 y(Readline)30 b(will)f(w)m(ait)i(un)m(til)e(another)h (k)m(ey)g(is)f(pressed)g(to)h(decide)f(whic)m(h)g(k)m(ey)1110 -3508 y(sequence)i(to)g(complete.)42 b(The)30 b(default)g(v)-5 -b(alue)31 b(is)g Ft(500)p Fu(.)630 3665 y Ft(mark-directories)1110 -3774 y Fu(If)38 b(set)g(to)h(`)p Ft(on)p Fu(',)i(completed)e(directory) +3915 y(sequence)i(to)g(complete.)42 b(The)30 b(default)g(v)-5 +b(alue)31 b(is)g Ft(500)p Fu(.)630 4098 y Ft(mark-directories)1110 +4208 y Fu(If)38 b(set)g(to)h(`)p Ft(on)p Fu(',)i(completed)e(directory) f(names)g(ha)m(v)m(e)i(a)e(slash)g(app)s(ended.)1110 -3884 y(The)30 b(default)g(is)h(`)p Ft(on)p Fu('.)630 -4041 y Ft(mark-modified-lines)1110 4150 y Fu(This)k(v)-5 +4317 y(The)30 b(default)g(is)h(`)p Ft(on)p Fu('.)630 +4500 y Ft(mark-modified-lines)1110 4609 y Fu(This)k(v)-5 b(ariable,)38 b(when)d(set)h(to)h(`)p Ft(on)p Fu(',)g(causes)g -(Readline)f(to)h(displa)m(y)f(an)f(as-)1110 4260 y(terisk)f(\(`)p +(Readline)f(to)h(displa)m(y)f(an)f(as-)1110 4719 y(terisk)f(\(`)p Ft(*)p Fu('\))h(at)f(the)g(start)g(of)g(history)g(lines)g(whic)m(h)f -(ha)m(v)m(e)i(b)s(een)e(mo)s(di\014ed.)1110 4369 y(This)d(v)-5 +(ha)m(v)m(e)i(b)s(een)e(mo)s(di\014ed.)1110 4829 y(This)d(v)-5 b(ariable)31 b(is)f(`)p Ft(off)p Fu(')g(b)m(y)g(default.)630 -4526 y Ft(mark-symlinked-directori)o(es)1110 4635 y Fu(If)59 +5011 y Ft(mark-symlinked-directori)o(es)1110 5121 y Fu(If)59 b(set)h(to)g(`)p Ft(on)p Fu(',)67 b(completed)60 b(names)f(whic)m(h)g -(are)h(sym)m(b)s(olic)g(links)f(to)1110 4745 y(directories)71 +(are)h(sym)m(b)s(olic)g(links)f(to)1110 5230 y(directories)71 b(ha)m(v)m(e)f(a)g(slash)f(app)s(ended)f(\(sub)5 b(ject)70 -b(to)g(the)g(v)-5 b(alue)70 b(of)1110 4855 y Ft(mark-directories)p -Fu(\).)37 b(The)30 b(default)g(is)g(`)p Ft(off)p Fu('.)630 -5011 y Ft(match-hidden-files)1110 5121 y Fu(This)21 b(v)-5 -b(ariable,)25 b(when)d(set)g(to)h(`)p Ft(on)p Fu(',)h(causes)f -(Readline)g(to)g(matc)m(h)g(\014les)f(whose)1110 5230 -y(names)44 b(b)s(egin)g(with)g(a)g(`)p Ft(.)p Fu(')g(\(hidden)f -(\014les\))i(when)e(p)s(erforming)g(\014lename)1110 5340 -y(completion.)75 b(If)41 b(set)g(to)h(`)p Ft(off)p Fu(',)i(the)e -(leading)g(`)p Ft(.)p Fu(')f(m)m(ust)g(b)s(e)g(supplied)f(b)m(y)p +b(to)g(the)g(v)-5 b(alue)70 b(of)1110 5340 y Ft(mark-directories)p +Fu(\).)37 b(The)30 b(default)g(is)g(`)p Ft(off)p Fu('.)p eop end %%Page: 114 120 TeXDict begin 114 119 bop 150 -116 a Fu(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(114)1110 299 y(the)34 -b(user)g(in)g(the)g(\014lename)g(to)h(b)s(e)f(completed.)53 -b(This)33 b(v)-5 b(ariable)35 b(is)f(`)p Ft(on)p Fu(')g(b)m(y)1110 -408 y(default.)630 555 y Ft(menu-complete-display-pr)o(efix)1110 -664 y Fu(If)f(set)h(to)g(`)p Ft(on)p Fu(',)h(men)m(u)e(completion)i -(displa)m(ys)e(the)h(common)g(pre\014x)e(of)i(the)1110 -774 y(list)k(of)g(p)s(ossible)f(completions)i(\(whic)m(h)e(ma)m(y)h(b)s -(e)f(empt)m(y\))i(b)s(efore)e(cycling)1110 883 y(through)30 -b(the)g(list.)42 b(The)29 b(default)i(is)f(`)p Ft(off)p -Fu('.)630 1029 y Ft(output-meta)1110 1139 y Fu(If)35 -b(set)h(to)g(`)p Ft(on)p Fu(',)h(Readline)f(will)g(displa)m(y)f(c)m -(haracters)i(with)e(the)h(eigh)m(th)g(bit)1110 1249 y(set)h(directly)g -(rather)f(than)g(as)h(a)g(meta-pre\014xed)f(escap)s(e)h(sequence.)59 -b(The)1110 1358 y(default)26 b(is)f(`)p Ft(off)p Fu(',)i(but)e -(Readline)h(will)g(set)g(it)g(to)h(`)p Ft(on)p Fu(')e(if)h(the)f(lo)s -(cale)j(con)m(tains)1110 1468 y(eigh)m(t-bit)k(c)m(haracters.)630 -1614 y Ft(page-completions)1110 1724 y Fu(If)h(set)i(to)f(`)p -Ft(on)p Fu(',)h(Readline)g(uses)e(an)h(in)m(ternal)h -Ft(more)p Fu(-lik)m(e)f(pager)g(to)h(displa)m(y)1110 -1833 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.) -47 b(This)31 b(v)-5 b(ariable)34 b(is)e(`)p Ft(on)p Fu(')1110 -1943 y(b)m(y)e(default.)630 2089 y Ft(print-completions-horizo)o(ntal)o -(ly)1110 2198 y Fu(If)23 b(set)i(to)g(`)p Ft(on)p Fu(',)g(Readline)g -(will)f(displa)m(y)g(completions)h(with)f(matc)m(hes)h(sorted)1110 -2308 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c -(than)g(do)m(wn)g(the)h(screen.)1110 2418 y(The)30 b(default)g(is)h(`)p -Ft(off)p Fu('.)630 2564 y Ft(revert-all-at-newline)1110 -2673 y Fu(If)e(set)h(to)g(`)p Ft(on)p Fu(',)g(Readline)g(will)g(undo)f -(all)h(c)m(hanges)h(to)f(history)g(lines)f(b)s(efore)1110 -2783 y(returning)f(when)f Ft(accept-line)f Fu(is)j(executed.)41 -b(By)29 b(default,)g(history)g(lines)1110 2892 y(ma)m(y)42 +b(Command)29 b(Line)i(Editing)2062 b(114)630 299 y Ft +(match-hidden-files)1110 408 y Fu(This)21 b(v)-5 b(ariable,)25 +b(when)d(set)g(to)h(`)p Ft(on)p Fu(',)h(causes)f(Readline)g(to)g(matc)m +(h)g(\014les)f(whose)1110 518 y(names)44 b(b)s(egin)g(with)g(a)g(`)p +Ft(.)p Fu(')g(\(hidden)f(\014les\))i(when)e(p)s(erforming)g(\014lename) +1110 628 y(completion.)75 b(If)41 b(set)g(to)h(`)p Ft(off)p +Fu(',)i(the)e(leading)g(`)p Ft(.)p Fu(')f(m)m(ust)g(b)s(e)g(supplied)f +(b)m(y)1110 737 y(the)34 b(user)g(in)g(the)g(\014lename)g(to)h(b)s(e)f +(completed.)53 b(This)33 b(v)-5 b(ariable)35 b(is)f(`)p +Ft(on)p Fu(')g(b)m(y)1110 847 y(default.)630 1011 y Ft +(menu-complete-display-pr)o(efix)1110 1121 y Fu(If)f(set)h(to)g(`)p +Ft(on)p Fu(',)h(men)m(u)e(completion)i(displa)m(ys)e(the)h(common)g +(pre\014x)e(of)i(the)1110 1230 y(list)k(of)g(p)s(ossible)f(completions) +i(\(whic)m(h)e(ma)m(y)h(b)s(e)f(empt)m(y\))i(b)s(efore)e(cycling)1110 +1340 y(through)30 b(the)g(list.)42 b(The)29 b(default)i(is)f(`)p +Ft(off)p Fu('.)630 1504 y Ft(output-meta)1110 1614 y +Fu(If)35 b(set)h(to)g(`)p Ft(on)p Fu(',)h(Readline)f(will)g(displa)m(y) +f(c)m(haracters)i(with)e(the)h(eigh)m(th)g(bit)1110 1724 +y(set)h(directly)g(rather)f(than)g(as)h(a)g(meta-pre\014xed)f(escap)s +(e)h(sequence.)59 b(The)1110 1833 y(default)26 b(is)f(`)p +Ft(off)p Fu(',)i(but)e(Readline)h(will)g(set)g(it)g(to)h(`)p +Ft(on)p Fu(')e(if)h(the)f(lo)s(cale)j(con)m(tains)1110 +1943 y(eigh)m(t-bit)k(c)m(haracters.)630 2107 y Ft(page-completions) +1110 2217 y Fu(If)h(set)i(to)f(`)p Ft(on)p Fu(',)h(Readline)g(uses)e +(an)h(in)m(ternal)h Ft(more)p Fu(-lik)m(e)f(pager)g(to)h(displa)m(y) +1110 2326 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g +(time.)47 b(This)31 b(v)-5 b(ariable)34 b(is)e(`)p Ft(on)p +Fu(')1110 2436 y(b)m(y)e(default.)630 2600 y Ft +(print-completions-horizo)o(ntal)o(ly)1110 2710 y Fu(If)23 +b(set)i(to)g(`)p Ft(on)p Fu(',)g(Readline)g(will)f(displa)m(y)g +(completions)h(with)f(matc)m(hes)h(sorted)1110 2819 y(horizon)m(tally) +45 b(in)e(alphab)s(etical)i(order,)i(rather)c(than)g(do)m(wn)g(the)h +(screen.)1110 2929 y(The)30 b(default)g(is)h(`)p Ft(off)p +Fu('.)630 3093 y Ft(revert-all-at-newline)1110 3203 y +Fu(If)e(set)h(to)g(`)p Ft(on)p Fu(',)g(Readline)g(will)g(undo)f(all)h +(c)m(hanges)h(to)f(history)g(lines)f(b)s(efore)1110 3313 +y(returning)f(when)f Ft(accept-line)f Fu(is)j(executed.)41 +b(By)29 b(default,)g(history)g(lines)1110 3422 y(ma)m(y)42 b(b)s(e)g(mo)s(di\014ed)e(and)h(retain)i(individual)e(undo)g(lists)h -(across)g(calls)h(to)1110 3002 y Ft(readline)p Fu(.)38 -b(The)30 b(default)h(is)f(`)p Ft(off)p Fu('.)630 3148 -y Ft(show-all-if-ambiguous)1110 3258 y Fu(This)f(alters)i(the)f +(across)g(calls)h(to)1110 3532 y Ft(readline)p Fu(.)38 +b(The)30 b(default)h(is)f(`)p Ft(off)p Fu('.)630 3696 +y Ft(show-all-if-ambiguous)1110 3806 y Fu(This)f(alters)i(the)f (default)g(b)s(eha)m(vior)g(of)g(the)h(completion)g(functions.)40 -b(If)29 b(set)1110 3367 y(to)f(`)p Ft(on)p Fu(',)g(w)m(ords)f(whic)m(h) +b(If)29 b(set)1110 3915 y(to)f(`)p Ft(on)p Fu(',)g(w)m(ords)f(whic)m(h) g(ha)m(v)m(e)i(more)f(than)f(one)h(p)s(ossible)f(completion)h(cause) -1110 3477 y(the)39 b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i -(instead)e(of)g(ringing)g(the)g(b)s(ell.)1110 3587 y(The)30 +1110 4025 y(the)39 b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i +(instead)e(of)g(ringing)g(the)g(b)s(ell.)1110 4134 y(The)30 b(default)g(v)-5 b(alue)31 b(is)g(`)p Ft(off)p Fu('.)630 -3733 y Ft(show-all-if-unmodified)1110 3842 y Fu(This)38 +4299 y Ft(show-all-if-unmodified)1110 4408 y Fu(This)38 b(alters)h(the)g(default)g(b)s(eha)m(vior)g(of)f(the)h(completion)h -(functions)e(in)h(a)1110 3952 y(fashion)25 b(similar)h(to)g +(functions)e(in)h(a)1110 4518 y(fashion)25 b(similar)h(to)g Fr(sho)m(w-all-if-am)m(biguous)p Fu(.)41 b(If)25 b(set)h(to)h(`)p -Ft(on)p Fu(',)f(w)m(ords)f(whic)m(h)1110 4061 y(ha)m(v)m(e)32 +Ft(on)p Fu(',)f(w)m(ords)f(whic)m(h)1110 4628 y(ha)m(v)m(e)32 b(more)f(than)f(one)i(p)s(ossible)e(completion)i(without)f(an)m(y)g(p)s -(ossible)f(par-)1110 4171 y(tial)43 b(completion)h(\(the)f(p)s(ossible) -f(completions)h(don't)f(share)g(a)h(common)1110 4281 +(ossible)f(par-)1110 4737 y(tial)43 b(completion)h(\(the)f(p)s(ossible) +f(completions)h(don't)f(share)g(a)h(common)1110 4847 y(pre\014x\))30 b(cause)g(the)h(matc)m(hes)g(to)g(b)s(e)f(listed)g -(immediately)i(instead)e(of)h(ring-)1110 4390 y(ing)g(the)f(b)s(ell.)41 +(immediately)i(instead)e(of)h(ring-)1110 4956 y(ing)g(the)f(b)s(ell.)41 b(The)30 b(default)g(v)-5 b(alue)31 b(is)f(`)p Ft(off)p -Fu('.)630 4536 y Ft(show-mode-in-prompt)1110 4646 y Fu(If)24 +Fu('.)630 5121 y Ft(show-mode-in-prompt)1110 5230 y Fu(If)24 b(set)h(to)g(`)p Ft(on)p Fu(',)g(add)f(a)h(string)f(to)h(the)f(b)s -(eginning)g(of)g(the)h(prompt)e(indicating)1110 4756 +(eginning)g(of)g(the)h(prompt)e(indicating)1110 5340 y(the)33 b(editing)h(mo)s(de:)46 b(emacs,)35 b(vi)e(command,)h(or)f(vi) -h(insertion.)49 b(The)32 b(mo)s(de)1110 4865 y(strings)45 -b(are)h(user-settable)g(\(e.g.,)51 b Fr(emacs-mo)s(de-string)8 -b Fu(\).)87 b(The)45 b(default)1110 4975 y(v)-5 b(alue)31 -b(is)f(`)p Ft(off)p Fu('.)630 5121 y Ft(skip-completed-text)1110 -5230 y Fu(If)i(set)i(to)f(`)p Ft(on)p Fu(',)h(this)f(alters)g(the)g -(default)g(completion)h(b)s(eha)m(vior)f(when)f(in-)1110 -5340 y(serting)d(a)h(single)g(matc)m(h)f(in)m(to)h(the)g(line.)40 -b(It's)30 b(only)f(activ)m(e)i(when)d(p)s(erform-)p eop -end +h(insertion.)49 b(The)32 b(mo)s(de)p eop end %%Page: 115 121 TeXDict begin 115 120 bop 150 -116 a Fu(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(115)1110 299 y(ing)35 -b(completion)h(in)e(the)h(middle)f(of)h(a)f(w)m(ord.)53 -b(If)35 b(enabled,)g(readline)g(do)s(es)1110 408 y(not)41 +b(Command)29 b(Line)i(Editing)2062 b(115)1110 299 y(strings)45 +b(are)h(user-settable)g(\(e.g.,)51 b Fr(emacs-mo)s(de-string)8 +b Fu(\).)87 b(The)45 b(default)1110 408 y(v)-5 b(alue)31 +b(is)f(`)p Ft(off)p Fu('.)630 558 y Ft(skip-completed-text)1110 +667 y Fu(If)i(set)i(to)f(`)p Ft(on)p Fu(',)h(this)f(alters)g(the)g +(default)g(completion)h(b)s(eha)m(vior)f(when)f(in-)1110 +777 y(serting)d(a)h(single)g(matc)m(h)f(in)m(to)h(the)g(line.)40 +b(It's)30 b(only)f(activ)m(e)i(when)d(p)s(erform-)1110 +887 y(ing)35 b(completion)h(in)e(the)h(middle)f(of)h(a)f(w)m(ord.)53 +b(If)35 b(enabled,)g(readline)g(do)s(es)1110 996 y(not)41 b(insert)f(c)m(haracters)i(from)e(the)h(completion)h(that)f(matc)m(h)g -(c)m(haracters)1110 518 y(after)c(p)s(oin)m(t)g(in)g(the)g(w)m(ord)f(b) -s(eing)g(completed,)k(so)d(p)s(ortions)f(of)h(the)g(w)m(ord)1110 -628 y(follo)m(wing)c(the)f(cursor)f(are)h(not)g(duplicated.)45 +(c)m(haracters)1110 1106 y(after)c(p)s(oin)m(t)g(in)g(the)g(w)m(ord)f +(b)s(eing)g(completed,)k(so)d(p)s(ortions)f(of)h(the)g(w)m(ord)1110 +1215 y(follo)m(wing)c(the)f(cursor)f(are)h(not)g(duplicated.)45 b(F)-8 b(or)32 b(instance,)h(if)f(this)f(is)h(en-)1110 -737 y(abled,)43 b(attempting)f(completion)g(when)d(the)i(cursor)f(is)g -(after)h(the)g(`)p Ft(e)p Fu(')f(in)1110 847 y(`)p Ft(Makefile)p +1325 y(abled,)43 b(attempting)f(completion)g(when)d(the)i(cursor)f(is)g +(after)h(the)g(`)p Ft(e)p Fu(')f(in)1110 1435 y(`)p Ft(Makefile)p Fu(')c(will)i(result)f(in)g(`)p Ft(Makefile)p Fu(')f(rather)h(than)h(`) -p Ft(Makefilefile)p Fu(',)1110 956 y(assuming)d(there)g(is)h(a)f +p Ft(Makefilefile)p Fu(',)1110 1544 y(assuming)d(there)g(is)h(a)f (single)h(p)s(ossible)f(completion.)56 b(The)35 b(default)g(v)-5 -b(alue)1110 1066 y(is)30 b(`)p Ft(off)p Fu('.)630 1215 -y Ft(vi-cmd-mode-string)1110 1325 y Fu(If)j(the)h Fr(sho)m(w-mo)s +b(alue)1110 1654 y(is)30 b(`)p Ft(off)p Fu('.)630 1803 +y Ft(vi-cmd-mode-string)1110 1913 y Fu(If)j(the)h Fr(sho)m(w-mo)s (de-in-prompt)h Fu(v)-5 b(ariable)35 b(is)e(enabled,)i(this)f(string)f -(is)h(dis-)1110 1435 y(pla)m(y)m(ed)24 b(immediately)g(b)s(efore)f(the) +(is)h(dis-)1110 2022 y(pla)m(y)m(ed)24 b(immediately)g(b)s(efore)f(the) g(last)h(line)f(of)h(the)f(primary)f(prompt)g(when)1110 -1544 y(vi)32 b(editing)h(mo)s(de)f(is)g(activ)m(e)j(and)c(in)h(command) +2132 y(vi)32 b(editing)h(mo)s(de)f(is)g(activ)m(e)j(and)c(in)h(command) g(mo)s(de.)46 b(The)31 b(v)-5 b(alue)33 b(is)f(ex-)1110 -1654 y(panded)26 b(lik)m(e)i(a)f(k)m(ey)h(binding,)e(so)i(the)f +2242 y(panded)26 b(lik)m(e)i(a)f(k)m(ey)h(binding,)e(so)i(the)f (standard)f(set)h(of)g(meta-)h(and)e(con)m(trol)1110 -1763 y(pre\014xes)34 b(and)g(bac)m(kslash)i(escap)s(e)g(sequences)f(is) +2351 y(pre\014xes)34 b(and)g(bac)m(kslash)i(escap)s(e)g(sequences)f(is) g(a)m(v)-5 b(ailable.)57 b(Use)35 b(the)g(`)p Ft(\\1)p -Fu(')1110 1873 y(and)23 b(`)p Ft(\\2)p Fu(')h(escap)s(es)h(to)f(b)s +Fu(')1110 2461 y(and)23 b(`)p Ft(\\2)p Fu(')h(escap)s(es)h(to)f(b)s (egin)g(and)f(end)g(sequences)i(of)f(non-prin)m(ting)f(c)m(harac-)1110 -1983 y(ters,)31 b(whic)m(h)g(can)g(b)s(e)f(used)g(to)h(em)m(b)s(ed)f(a) -h(terminal)h(con)m(trol)g(sequence)f(in)m(to)1110 2092 +2570 y(ters,)31 b(whic)m(h)g(can)g(b)s(e)f(used)g(to)h(em)m(b)s(ed)f(a) +h(terminal)h(con)m(trol)g(sequence)f(in)m(to)1110 2680 y(the)g(mo)s(de)f(string.)40 b(The)30 b(default)h(is)f(`)p -Ft(\(cmd\))p Fu('.)630 2242 y Ft(vi-ins-mode-string)1110 -2351 y Fu(If)j(the)h Fr(sho)m(w-mo)s(de-in-prompt)h Fu(v)-5 +Ft(\(cmd\))p Fu('.)630 2829 y Ft(vi-ins-mode-string)1110 +2939 y Fu(If)j(the)h Fr(sho)m(w-mo)s(de-in-prompt)h Fu(v)-5 b(ariable)35 b(is)e(enabled,)i(this)f(string)f(is)h(dis-)1110 -2461 y(pla)m(y)m(ed)24 b(immediately)g(b)s(efore)f(the)g(last)h(line)f -(of)h(the)f(primary)f(prompt)g(when)1110 2570 y(vi)35 +3049 y(pla)m(y)m(ed)24 b(immediately)g(b)s(efore)f(the)g(last)h(line)f +(of)h(the)f(primary)f(prompt)g(when)1110 3158 y(vi)35 b(editing)h(mo)s(de)e(is)i(activ)m(e)h(and)d(in)h(insertion)g(mo)s(de.) -54 b(The)35 b(v)-5 b(alue)35 b(is)g(ex-)1110 2680 y(panded)26 +54 b(The)35 b(v)-5 b(alue)35 b(is)g(ex-)1110 3268 y(panded)26 b(lik)m(e)i(a)f(k)m(ey)h(binding,)e(so)i(the)f(standard)f(set)h(of)g -(meta-)h(and)e(con)m(trol)1110 2790 y(pre\014xes)34 b(and)g(bac)m +(meta-)h(and)e(con)m(trol)1110 3377 y(pre\014xes)34 b(and)g(bac)m (kslash)i(escap)s(e)g(sequences)f(is)g(a)m(v)-5 b(ailable.)57 -b(Use)35 b(the)g(`)p Ft(\\1)p Fu(')1110 2899 y(and)23 +b(Use)35 b(the)g(`)p Ft(\\1)p Fu(')1110 3487 y(and)23 b(`)p Ft(\\2)p Fu(')h(escap)s(es)h(to)f(b)s(egin)g(and)f(end)g -(sequences)i(of)f(non-prin)m(ting)f(c)m(harac-)1110 3009 +(sequences)i(of)f(non-prin)m(ting)f(c)m(harac-)1110 3597 y(ters,)31 b(whic)m(h)g(can)g(b)s(e)f(used)g(to)h(em)m(b)s(ed)f(a)h -(terminal)h(con)m(trol)g(sequence)f(in)m(to)1110 3118 +(terminal)h(con)m(trol)g(sequence)f(in)m(to)1110 3706 y(the)g(mo)s(de)f(string.)40 b(The)30 b(default)h(is)f(`)p -Ft(\(ins\))p Fu('.)630 3268 y Ft(visible-stats)1110 3377 +Ft(\(ins\))p Fu('.)630 3856 y Ft(visible-stats)1110 3965 y Fu(If)h(set)i(to)f(`)p Ft(on)p Fu(',)h(a)f(c)m(haracter)i(denoting)e (a)g(\014le's)g(t)m(yp)s(e)g(is)g(app)s(ended)e(to)j(the)1110 -3487 y(\014lename)e(when)e(listing)i(p)s(ossible)f(completions.)42 -b(The)30 b(default)g(is)h(`)p Ft(off)p Fu('.)150 3636 -y(Key)f(Bindings)630 3746 y(The)41 b(syn)m(tax)i(for)f(con)m(trolling)h +4075 y(\014lename)e(when)e(listing)i(p)s(ossible)f(completions.)42 +b(The)30 b(default)g(is)h(`)p Ft(off)p Fu('.)150 4224 +y(Key)f(Bindings)630 4334 y(The)41 b(syn)m(tax)i(for)f(con)m(trolling)h (k)m(ey)g(bindings)e(in)h(the)g(init)g(\014le)g(is)g(simple.)75 -b(First)43 b(y)m(ou)630 3856 y(need)27 b(to)i(\014nd)d(the)i(name)f(of) +b(First)43 b(y)m(ou)630 4443 y(need)27 b(to)i(\014nd)d(the)i(name)f(of) h(the)g(command)f(that)i(y)m(ou)f(w)m(an)m(t)g(to)g(c)m(hange.)41 -b(The)27 b(follo)m(wing)630 3965 y(sections)37 b(con)m(tain)g(tables)g +b(The)27 b(follo)m(wing)630 4553 y(sections)37 b(con)m(tain)g(tables)g (of)f(the)g(command)f(name,)j(the)e(default)g(k)m(eybinding,)h(if)f(an) -m(y)-8 b(,)630 4075 y(and)30 b(a)h(short)f(description)g(of)h(what)f -(the)g(command)h(do)s(es.)630 4204 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g +m(y)-8 b(,)630 4663 y(and)30 b(a)h(short)f(description)g(of)h(what)f +(the)g(command)h(do)s(es.)630 4792 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g (name)g(of)g(the)g(command,)h(simply)f(place)h(on)e(a)i(line)f(in)g -(the)g(init)630 4314 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m +(the)g(init)630 4902 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m (ou)g(wish)f(to)h(bind)f(the)h(command)f(to,)i(a)f(colon,)i(and)d(then) -630 4423 y(the)f(name)h(of)f(the)g(command.)46 b(There)32 +630 5011 y(the)f(name)h(of)f(the)g(command.)46 b(There)32 b(can)g(b)s(e)g(no)g(space)g(b)s(et)m(w)m(een)h(the)f(k)m(ey)h(name)g -(and)630 4533 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m +(and)630 5121 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m (terpreted)g(as)g(part)f(of)h(the)g(k)m(ey)h(name.)72 -b(The)40 b(name)h(of)630 4643 y(the)35 b(k)m(ey)g(can)g(b)s(e)f +b(The)40 b(name)h(of)630 5230 y(the)35 b(k)m(ey)g(can)g(b)s(e)f (expressed)f(in)i(di\013eren)m(t)g(w)m(a)m(ys,)h(dep)s(ending)d(on)h -(what)h(y)m(ou)g(\014nd)e(most)630 4752 y(comfortable.)630 -4882 y(In)i(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h -(k)m(eys)g(to)g(b)s(e)e(b)s(ound)f(to)j(a)f(string)630 -4991 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g -(\(a)h Fr(macro)5 b Fu(\).)630 5121 y(The)42 b Ft(bind)30 -b(-p)42 b Fu(command)h(displa)m(ys)g(Readline)g(function)g(names)g(and) -f(bindings)g(in)h(a)630 5230 y(format)37 b(that)h(can)f(put)f(directly) -i(in)m(to)g(an)f(initialization)j(\014le.)60 b(See)38 -b(Section)f(4.2)i([Bash)630 5340 y(Builtins],)31 b(page)g(50.)p +(what)h(y)m(ou)g(\014nd)e(most)630 5340 y(comfortable.)p eop end %%Page: 116 122 TeXDict begin 116 121 bop 150 -116 a Fu(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(116)630 299 y Fr(k)m(eyname)5 -b Fu(:)42 b Fr(function-name)35 b Fu(or)c Fr(macro)1110 -408 y(k)m(eyname)k Fu(is)29 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s -(elled)e(out)h(in)g(English.)39 b(F)-8 b(or)30 b(example:)1350 -543 y Ft(Control-u:)45 b(universal-argument)1350 652 -y(Meta-Rubout:)f(backward-kill-word)1350 762 y(Control-o:)h(">)i -(output")1110 896 y Fu(In)94 b(the)g(ab)s(o)m(v)m(e)i(example,)111 -b Fj(C-u)94 b Fu(is)g(b)s(ound)f(to)i(the)f(function)1110 -1006 y Ft(universal-argument)p Fu(,)124 b Fj(M-DEL)107 -b Fu(is)i(b)s(ound)e(to)j(the)f(function)1110 1115 y -Ft(backward-kill-word)p Fu(,)75 b(and)69 b Fj(C-o)g Fu(is)h(b)s(ound)e -(to)j(run)d(the)i(macro)1110 1225 y(expressed)45 b(on)h(the)g(righ)m(t) -g(hand)e(side)i(\(that)h(is,)i(to)e(insert)e(the)h(text)h(`)p -Ft(>)1110 1335 y(output)p Fu(')29 b(in)m(to)i(the)g(line\).)1110 -1469 y(A)62 b(n)m(um)m(b)s(er)e(of)i(sym)m(b)s(olic)h(c)m(haracter)g -(names)f(are)g(recognized)h(while)1110 1579 y(pro)s(cessing)40 -b(this)f(k)m(ey)i(binding)e(syn)m(tax:)60 b Fr(DEL)p -Fu(,)42 b Fr(ESC)p Fu(,)g Fr(ESCAPE)p Fu(,)f Fr(LFD)p -Fu(,)1110 1688 y Fr(NEWLINE)p Fu(,)31 b Fr(RET)p Fu(,)f -Fr(RETURN)p Fu(,)g Fr(R)m(UBOUT)p Fu(,)h Fr(SP)-8 b(A)m(CE)p -Fu(,)31 b Fr(SPC)p Fu(,)e(and)h Fr(T)-8 b(AB)p Fu(.)630 -1847 y Ft(")p Fr(k)m(eyseq)r Ft(")p Fu(:)41 b Fr(function-name)36 -b Fu(or)30 b Fr(macro)1110 1957 y(k)m(eyseq)k Fu(di\013ers)d(from)f -Fr(k)m(eyname)37 b Fu(ab)s(o)m(v)m(e)32 b(in)f(that)h(strings)f -(denoting)g(an)g(en-)1110 2066 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s -(e)f(sp)s(eci\014ed,)h(b)m(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in) -1110 2176 y(double)29 b(quotes.)41 b(Some)29 b Fm(gnu)h -Fu(Emacs)f(st)m(yle)i(k)m(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as) -1110 2286 y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s -(ecial)h(c)m(haracter)g(names)f(are)g(not)1110 2395 y(recognized.)1350 -2530 y Ft("\\C-u":)46 b(universal-argument)1350 2639 -y("\\C-x\\C-r":)f(re-read-init-file)1350 2749 y("\\e[11~":)g("Function) -h(Key)g(1")1110 2883 y Fu(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74 +b(Command)29 b(Line)i(Editing)2062 b(116)630 299 y(In)35 +b(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h(k)m(eys)g +(to)g(b)s(e)e(b)s(ound)f(to)j(a)f(string)630 408 y(that)31 +b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g(\(a)h +Fr(macro)5 b Fu(\).)630 538 y(The)42 b Ft(bind)30 b(-p)42 +b Fu(command)h(displa)m(ys)g(Readline)g(function)g(names)g(and)f +(bindings)g(in)h(a)630 647 y(format)37 b(that)h(can)f(put)f(directly)i +(in)m(to)g(an)f(initialization)j(\014le.)60 b(See)38 +b(Section)f(4.2)i([Bash)630 757 y(Builtins],)31 b(page)g(50.)630 +906 y Fr(k)m(eyname)5 b Fu(:)42 b Fr(function-name)35 +b Fu(or)c Fr(macro)1110 1015 y(k)m(eyname)k Fu(is)29 +b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s(elled)e(out)h(in)g(English.)39 +b(F)-8 b(or)30 b(example:)1350 1144 y Ft(Control-u:)45 +b(universal-argument)1350 1254 y(Meta-Rubout:)f(backward-kill-word)1350 +1363 y(Control-o:)h(">)i(output")1110 1493 y Fu(In)94 +b(the)g(example)h(ab)s(o)m(v)m(e,)112 b Fj(C-u)94 b Fu(is)g(b)s(ound)f +(to)i(the)f(function)1110 1602 y Ft(universal-argument)p +Fu(,)124 b Fj(M-DEL)107 b Fu(is)i(b)s(ound)e(to)j(the)f(function)1110 +1712 y Ft(backward-kill-word)p Fu(,)75 b(and)69 b Fj(C-o)g +Fu(is)h(b)s(ound)e(to)j(run)d(the)i(macro)1110 1821 y(expressed)45 +b(on)h(the)g(righ)m(t)g(hand)e(side)i(\(that)h(is,)i(to)e(insert)e(the) +h(text)h(`)p Ft(>)1110 1931 y(output)p Fu(')29 b(in)m(to)i(the)g +(line\).)1110 2060 y(A)62 b(n)m(um)m(b)s(er)e(of)i(sym)m(b)s(olic)h(c)m +(haracter)g(names)f(are)g(recognized)h(while)1110 2170 +y(pro)s(cessing)40 b(this)f(k)m(ey)i(binding)e(syn)m(tax:)60 +b Fr(DEL)p Fu(,)42 b Fr(ESC)p Fu(,)g Fr(ESCAPE)p Fu(,)f +Fr(LFD)p Fu(,)1110 2279 y Fr(NEWLINE)p Fu(,)31 b Fr(RET)p +Fu(,)f Fr(RETURN)p Fu(,)g Fr(R)m(UBOUT)p Fu(,)h Fr(SP)-8 +b(A)m(CE)p Fu(,)31 b Fr(SPC)p Fu(,)e(and)h Fr(T)-8 b(AB)p +Fu(.)630 2428 y Ft(")p Fr(k)m(eyseq)r Ft(")p Fu(:)41 +b Fr(function-name)36 b Fu(or)30 b Fr(macro)1110 2538 +y(k)m(eyseq)k Fu(di\013ers)d(from)f Fr(k)m(eyname)37 +b Fu(ab)s(o)m(v)m(e)32 b(in)f(that)h(strings)f(denoting)g(an)g(en-)1110 +2647 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s(e)f(sp)s(eci\014ed,)h(b)m +(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in)1110 2757 +y(double)29 b(quotes.)41 b(Some)29 b Fm(gnu)h Fu(Emacs)f(st)m(yle)i(k)m +(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as)1110 2866 +y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s(ecial)h(c)m +(haracter)g(names)f(are)g(not)1110 2976 y(recognized.)1350 +3105 y Ft("\\C-u":)46 b(universal-argument)1350 3215 +y("\\C-x\\C-r":)f(re-read-init-file)1350 3324 y("\\e[11~":)g("Function) +h(Key)g(1")1110 3453 y Fu(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74 b Fj(C-u)64 b Fu(is)g(again)i(b)s(ound)c(to)k(the)e(function)1110 -2993 y Ft(universal-argument)39 b Fu(\(just)k(as)h(it)g(w)m(as)g(in)g -(the)f(\014rst)g(example\),)49 b(`)p Fj(C-x)1110 3102 +3563 y Ft(universal-argument)39 b Fu(\(just)k(as)h(it)g(w)m(as)g(in)g +(the)f(\014rst)g(example\),)49 b(`)p Fj(C-x)1110 3673 y(C-r)p Fu(')30 b(is)g(b)s(ound)e(to)j(the)g(function)f Ft(re-read-init-file)p Fu(,)c(and)j(`)p Ft(ESC)h([)g(1)g(1)1110 -3212 y(~)p Fu(')g(is)h(b)s(ound)d(to)j(insert)f(the)h(text)g(`)p -Ft(Function)e(Key)g(1)p Fu('.)630 3371 y(The)g(follo)m(wing)i +3782 y(~)p Fu(')g(is)h(b)s(ound)d(to)j(insert)f(the)h(text)g(`)p +Ft(Function)e(Key)g(1)p Fu('.)630 3931 y(The)g(follo)m(wing)i Fm(gnu)f Fu(Emacs)g(st)m(yle)h(escap)s(e)f(sequences)g(are)g(a)m(v)-5 -b(ailable)32 b(when)d(sp)s(ecifying)630 3480 y(k)m(ey)i(sequences:)630 -3640 y Fj(\\C-)336 b Fu(con)m(trol)32 b(pre\014x)630 -3799 y Fj(\\M-)336 b Fu(meta)31 b(pre\014x)630 3958 y +b(ailable)32 b(when)d(sp)s(ecifying)630 4041 y(k)m(ey)i(sequences:)630 +4189 y Fj(\\C-)336 b Fu(con)m(trol)32 b(pre\014x)630 +4338 y Fj(\\M-)336 b Fu(meta)31 b(pre\014x)630 4487 y Fj(\\e)384 b Fu(an)30 b(escap)s(e)h(c)m(haracter)630 -4117 y Fj(\\\\)384 b Fu(bac)m(kslash)630 4276 y Fj(\\)p +4635 y Fj(\\\\)384 b Fu(bac)m(kslash)630 4784 y Fj(\\)p Ft(")g(")p Fu(,)30 b(a)h(double)f(quotation)i(mark)630 -4435 y Fj(\\')384 b Ft(')p Fu(,)30 b(a)h(single)g(quote)g(or)f(ap)s -(ostrophe)630 4594 y(In)d(addition)h(to)g(the)g Fm(gnu)f +4933 y Fj(\\')384 b Ft(')p Fu(,)30 b(a)h(single)g(quote)g(or)f(ap)s +(ostrophe)630 5082 y(In)d(addition)h(to)g(the)g Fm(gnu)f Fu(Emacs)h(st)m(yle)h(escap)s(e)f(sequences,)h(a)f(second)f(set)h(of)g -(bac)m(kslash)630 4704 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630 -4863 y Ft(\\a)384 b Fu(alert)31 b(\(b)s(ell\))630 5022 -y Ft(\\b)384 b Fu(bac)m(kspace)630 5181 y Ft(\\d)g Fu(delete)630 -5340 y Ft(\\f)g Fu(form)30 b(feed)p eop end +(bac)m(kslash)630 5191 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630 +5340 y Ft(\\a)384 b Fu(alert)31 b(\(b)s(ell\))p eop end %%Page: 117 123 TeXDict begin 117 122 bop 150 -116 a Fu(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(117)630 299 y Ft(\\n)384 -b Fu(newline)630 459 y Ft(\\r)g Fu(carriage)32 b(return)630 -619 y Ft(\\t)384 b Fu(horizon)m(tal)32 b(tab)630 779 -y Ft(\\v)384 b Fu(v)m(ertical)32 b(tab)630 939 y Ft(\\)p -Fj(nnn)288 b Fu(the)35 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e(v)-5 -b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5 b(alue)35 b Fr(nnn)e -Fu(\(one)i(to)1110 1049 y(three)c(digits\))630 1209 y -Ft(\\x)p Fj(HH)288 b Fu(the)38 b(eigh)m(t-bit)i(c)m(haracter)g(whose)e -(v)-5 b(alue)39 b(is)f(the)h(hexadecimal)g(v)-5 b(alue)39 -b Fr(HH)1110 1318 y Fu(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\))630 -1478 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g(macro,)i(single)e -(or)f(double)g(quotes)h(m)m(ust)f(b)s(e)g(used)f(to)630 -1588 y(indicate)23 b(a)e(macro)h(de\014nition.)38 b(Unquoted)21 -b(text)i(is)e(assumed)g(to)h(b)s(e)f(a)h(function)f(name.)38 -b(In)630 1697 y(the)22 b(macro)f(b)s(o)s(dy)-8 b(,)23 -b(the)e(bac)m(kslash)h(escap)s(es)g(describ)s(ed)e(ab)s(o)m(v)m(e)j -(are)e(expanded.)37 b(Bac)m(kslash)630 1807 y(will)j(quote)h(an)m(y)f -(other)g(c)m(haracter)i(in)d(the)i(macro)f(text,)k(including)39 +b(Command)29 b(Line)i(Editing)2062 b(117)630 299 y Ft(\\b)384 +b Fu(bac)m(kspace)630 456 y Ft(\\d)g Fu(delete)630 613 +y Ft(\\f)g Fu(form)30 b(feed)630 770 y Ft(\\n)384 b Fu(newline)630 +928 y Ft(\\r)g Fu(carriage)32 b(return)630 1085 y Ft(\\t)384 +b Fu(horizon)m(tal)32 b(tab)630 1242 y Ft(\\v)384 b Fu(v)m(ertical)32 +b(tab)630 1399 y Ft(\\)p Fj(nnn)288 b Fu(the)35 b(eigh)m(t-bit)h(c)m +(haracter)g(whose)e(v)-5 b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5 +b(alue)35 b Fr(nnn)e Fu(\(one)i(to)1110 1509 y(three)c(digits\))630 +1666 y Ft(\\x)p Fj(HH)288 b Fu(the)38 b(eigh)m(t-bit)i(c)m(haracter)g +(whose)e(v)-5 b(alue)39 b(is)f(the)h(hexadecimal)g(v)-5 +b(alue)39 b Fr(HH)1110 1775 y Fu(\(one)31 b(or)f(t)m(w)m(o)i(hex)e +(digits\))630 1933 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g +(macro,)i(single)e(or)f(double)g(quotes)h(m)m(ust)f(b)s(e)g(used)f(to) +630 2042 y(indicate)23 b(a)e(macro)h(de\014nition.)38 +b(Unquoted)21 b(text)i(is)e(assumed)g(to)h(b)s(e)f(a)h(function)f +(name.)38 b(In)630 2152 y(the)22 b(macro)f(b)s(o)s(dy)-8 +b(,)23 b(the)e(bac)m(kslash)h(escap)s(es)g(describ)s(ed)e(ab)s(o)m(v)m +(e)j(are)e(expanded.)37 b(Bac)m(kslash)630 2261 y(will)j(quote)h(an)m +(y)f(other)g(c)m(haracter)i(in)d(the)i(macro)f(text,)k(including)39 b(`)p Ft(")p Fu(')h(and)g(`)p Ft(')p Fu('.)69 b(F)-8 -b(or)630 1917 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i +b(or)630 2371 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i (mak)m(e)h(`)p Fj(C-x)j Ft(\\)p Fu(')c(insert)f(a)h(single)h(`)p -Ft(\\)p Fu(')f(in)m(to)g(the)g(line:)870 2051 y Ft("\\C-x\\\\":)45 -b("\\\\")150 2251 y Fk(8.3.2)63 b(Conditional)41 b(Init)g(Constructs) -150 2398 y Fu(Readline)c(implemen)m(ts)g(a)h(facilit)m(y)g(similar)f +Ft(\\)p Fu(')f(in)m(to)g(the)g(line:)870 2504 y Ft("\\C-x\\\\":)45 +b("\\\\")150 2701 y Fk(8.3.2)63 b(Conditional)41 b(Init)g(Constructs) +150 2848 y Fu(Readline)c(implemen)m(ts)g(a)h(facilit)m(y)g(similar)f (in)g(spirit)f(to)i(the)f(conditional)h(compilation)g(features)f(of)150 -2508 y(the)31 b(C)f(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)g +2958 y(the)31 b(C)f(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)g (bindings)d(and)h(v)-5 b(ariable)32 b(settings)f(to)h(b)s(e)e(p)s -(erformed)f(as)i(the)150 2617 y(result)f(of)h(tests.)41 +(erformed)f(as)i(the)150 3067 y(result)f(of)h(tests.)41 b(There)30 b(are)h(four)f(parser)f(directiv)m(es)j(used.)150 -2778 y Ft($if)336 b Fu(The)31 b Ft($if)f Fu(construct)i(allo)m(ws)h +3225 y Ft($if)336 b Fu(The)31 b Ft($if)f Fu(construct)i(allo)m(ws)h (bindings)d(to)i(b)s(e)e(made)i(based)f(on)g(the)g(editing)h(mo)s(de,)g -(the)630 2887 y(terminal)37 b(b)s(eing)f(used,)h(or)f(the)h +(the)630 3334 y(terminal)37 b(b)s(eing)f(used,)h(or)f(the)h (application)g(using)f(Readline.)59 b(The)36 b(text)h(of)f(the)h(test,) -630 2997 y(after)30 b(an)m(y)g(comparison)g(op)s(erator,)g(extends)f +630 3444 y(after)30 b(an)m(y)g(comparison)g(op)s(erator,)g(extends)f (to)h(the)g(end)f(of)h(the)f(line;)i(unless)e(otherwise)630 -3106 y(noted,)i(no)f(c)m(haracters)i(are)f(required)e(to)i(isolate)i -(it.)630 3267 y Ft(mode)288 b Fu(The)30 b Ft(mode=)e +3553 y(noted,)i(no)f(c)m(haracters)i(are)f(required)e(to)i(isolate)i +(it.)630 3711 y Ft(mode)288 b Fu(The)30 b Ft(mode=)e Fu(form)i(of)g(the)h Ft($if)e Fu(directiv)m(e)j(is)e(used)f(to)i(test)g -(whether)e(Read-)1110 3376 y(line)44 b(is)f(in)g Ft(emacs)f +(whether)e(Read-)1110 3820 y(line)44 b(is)f(in)g Ft(emacs)f Fu(or)h Ft(vi)g Fu(mo)s(de.)79 b(This)42 b(ma)m(y)i(b)s(e)e(used)h(in)g -(conjunction)1110 3486 y(with)c(the)h(`)p Ft(set)29 b(keymap)p +(conjunction)1110 3930 y(with)c(the)h(`)p Ft(set)29 b(keymap)p Fu(')38 b(command,)k(for)d(instance,)j(to)e(set)g(bindings)e(in)1110 -3595 y(the)32 b Ft(emacs-standard)c Fu(and)j Ft(emacs-ctlx)d -Fu(k)m(eymaps)k(only)g(if)g(Readline)g(is)1110 3705 y(starting)f(out)g -(in)f Ft(emacs)f Fu(mo)s(de.)630 3865 y Ft(term)288 b +4039 y(the)32 b Ft(emacs-standard)c Fu(and)j Ft(emacs-ctlx)d +Fu(k)m(eymaps)k(only)g(if)g(Readline)g(is)1110 4149 y(starting)f(out)g +(in)f Ft(emacs)f Fu(mo)s(de.)630 4306 y Ft(term)288 b Fu(The)26 b Ft(term=)g Fu(form)g(ma)m(y)i(b)s(e)e(used)g(to)i(include)f -(terminal-sp)s(eci\014c)g(k)m(ey)h(bind-)1110 3974 y(ings,)38 +(terminal-sp)s(eci\014c)g(k)m(ey)h(bind-)1110 4416 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f(output)g(b)m(y)g -(the)g(terminal's)1110 4084 y(function)24 b(k)m(eys.)39 +(the)g(terminal's)1110 4525 y(function)24 b(k)m(eys.)39 b(The)23 b(w)m(ord)h(on)f(the)i(righ)m(t)f(side)g(of)g(the)g(`)p -Ft(=)p Fu(')g(is)g(tested)h(against)1110 4194 y(b)s(oth)k(the)h(full)g +Ft(=)p Fu(')g(is)g(tested)h(against)1110 4635 y(b)s(oth)k(the)h(full)g (name)g(of)g(the)g(terminal)h(and)e(the)i(p)s(ortion)e(of)h(the)g -(terminal)1110 4303 y(name)k(b)s(efore)f(the)g(\014rst)g(`)p +(terminal)1110 4744 y(name)k(b)s(efore)f(the)g(\014rst)g(`)p Ft(-)p Fu('.)50 b(This)33 b(allo)m(ws)i Ft(sun)e Fu(to)h(matc)m(h)g(b)s -(oth)f Ft(sun)g Fu(and)1110 4413 y Ft(sun-cmd)p Fu(,)c(for)h(instance.) -630 4573 y Ft(version)144 b Fu(The)44 b Ft(version)f +(oth)f Ft(sun)g Fu(and)1110 4854 y Ft(sun-cmd)p Fu(,)c(for)h(instance.) +630 5011 y Ft(version)144 b Fu(The)44 b Ft(version)f Fu(test)i(ma)m(y)h(b)s(e)e(used)f(to)j(p)s(erform)d(comparisons)i -(against)1110 4682 y(sp)s(eci\014c)c(Readline)i(v)m(ersions.)74 +(against)1110 5121 y(sp)s(eci\014c)c(Readline)i(v)m(ersions.)74 b(The)42 b Ft(version)d Fu(expands)i(to)h(the)g(curren)m(t)1110 -4792 y(Readline)25 b(v)m(ersion.)39 b(The)23 b(set)h(of)g(comparison)h +5230 y(Readline)25 b(v)m(ersion.)39 b(The)23 b(set)h(of)g(comparison)h (op)s(erators)f(includes)f(`)p Ft(=)p Fu(')h(\(and)1110 -4902 y(`)p Ft(==)p Fu('\),)33 b(`)p Ft(!=)p Fu(',)f(`)p +5340 y(`)p Ft(==)p Fu('\),)33 b(`)p Ft(!=)p Fu(',)f(`)p Ft(<=)p Fu(',)h(`)p Ft(>=)p Fu(',)f(`)p Ft(<)p Fu(',)h(and)e(`)p Ft(>)p Fu('.)46 b(The)31 b(v)m(ersion)i(n)m(um)m(b)s(er)d(supplied)h -(on)1110 5011 y(the)j(righ)m(t)h(side)f(of)g(the)g(op)s(erator)g -(consists)h(of)f(a)g(ma)5 b(jor)35 b(v)m(ersion)f(n)m(um)m(b)s(er,)1110 -5121 y(an)45 b(optional)i(decimal)f(p)s(oin)m(t,)k(and)44 -b(an)i(optional)g(minor)f(v)m(ersion)h(\(e.g.,)1110 5230 -y(`)p Ft(7.1)p Fu('\).)40 b(If)27 b(the)h(minor)f(v)m(ersion)h(is)g -(omitted,)h(it)f(is)g(assumed)f(to)h(b)s(e)f(`)p Ft(0)p -Fu('.)40 b(The)1110 5340 y(op)s(erator)34 b(ma)m(y)g(b)s(e)f(separated) -g(from)g(the)h(string)f Ft(version)f Fu(and)h(from)g(the)p -eop end +(on)p eop end %%Page: 118 124 TeXDict begin 118 123 bop 150 -116 a Fu(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(118)1110 299 y(v)m(ersion)39 +b(Command)29 b(Line)i(Editing)2062 b(118)1110 299 y(the)34 +b(righ)m(t)h(side)f(of)g(the)g(op)s(erator)g(consists)h(of)f(a)g(ma)5 +b(jor)35 b(v)m(ersion)f(n)m(um)m(b)s(er,)1110 408 y(an)45 +b(optional)i(decimal)f(p)s(oin)m(t,)k(and)44 b(an)i(optional)g(minor)f +(v)m(ersion)h(\(e.g.,)1110 518 y(`)p Ft(7.1)p Fu('\).)40 +b(If)27 b(the)h(minor)f(v)m(ersion)h(is)g(omitted,)h(it)f(is)g(assumed) +f(to)h(b)s(e)f(`)p Ft(0)p Fu('.)40 b(The)1110 628 y(op)s(erator)34 +b(ma)m(y)g(b)s(e)f(separated)g(from)g(the)h(string)f +Ft(version)f Fu(and)h(from)g(the)1110 737 y(v)m(ersion)39 b(n)m(um)m(b)s(er)f(argumen)m(t)h(b)m(y)f(whitespace.)67 -b(The)38 b(follo)m(wing)i(example)1110 408 y(sets)31 +b(The)38 b(follo)m(wing)i(example)1110 847 y(sets)31 b(a)g(v)-5 b(ariable)31 b(if)f(the)h(Readline)g(v)m(ersion)f(b)s(eing)g -(used)g(is)g(7.0)i(or)e(new)m(er:)1350 543 y Ft($if)47 -b(version)f(>=)h(7.0)1350 653 y(set)g(show-mode-in-prompt)42 -b(on)1350 762 y($endif)630 922 y(application)1110 1031 +(used)g(is)g(7.0)i(or)e(new)m(er:)1350 981 y Ft($if)47 +b(version)f(>=)h(7.0)1350 1091 y(set)g(show-mode-in-prompt)42 +b(on)1350 1200 y($endif)630 1360 y(application)1110 1469 y Fu(The)21 b Fr(application)j Fu(construct)e(is)g(used)f(to)i(include) -f(application-sp)s(eci\014c)h(set-)1110 1141 y(tings.)39 +f(application-sp)s(eci\014c)h(set-)1110 1579 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h(Readline)g(library)g(sets)g(the) -g Fr(application)1110 1250 y(name)p Fu(,)g(and)e(y)m(ou)g(can)h(test)g +g Fr(application)1110 1689 y(name)p Fu(,)g(and)e(y)m(ou)g(can)h(test)g (for)f(a)g(particular)h(v)-5 b(alue.)39 b(This)22 b(could)h(b)s(e)g -(used)f(to)1110 1360 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e +(used)f(to)1110 1798 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e (useful)g(for)h(a)g(sp)s(eci\014c)f(program.)48 b(F)-8 -b(or)1110 1469 y(instance,)35 b(the)e(follo)m(wing)h(command)f(adds)f -(a)i(k)m(ey)f(sequence)h(that)f(quotes)1110 1579 y(the)e(curren)m(t)f -(or)g(previous)g(w)m(ord)g(in)g(Bash:)1350 1714 y Ft($if)47 -b(Bash)1350 1823 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word) -1350 1933 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 2042 y($endif)630 -2202 y(variable)96 b Fu(The)33 b Fr(v)-5 b(ariable)39 +b(or)1110 1908 y(instance,)35 b(the)e(follo)m(wing)h(command)f(adds)f +(a)i(k)m(ey)f(sequence)h(that)f(quotes)1110 2017 y(the)e(curren)m(t)f +(or)g(previous)g(w)m(ord)g(in)g(Bash:)1350 2152 y Ft($if)47 +b(Bash)1350 2262 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word) +1350 2371 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 2481 y($endif)630 +2640 y(variable)96 b Fu(The)33 b Fr(v)-5 b(ariable)39 b Fu(construct)33 b(pro)m(vides)g(simple)g(equalit)m(y)i(tests)e(for)g -(Readline)1110 2311 y(v)-5 b(ariables)32 b(and)f(v)-5 +(Readline)1110 2750 y(v)-5 b(ariables)32 b(and)f(v)-5 b(alues.)45 b(The)32 b(p)s(ermitted)f(comparison)h(op)s(erators)f(are)i -(`)p Ft(=)p Fu(',)1110 2421 y(`)p Ft(==)p Fu(',)49 b(and)44 +(`)p Ft(=)p Fu(',)1110 2859 y(`)p Ft(==)p Fu(',)49 b(and)44 b(`)p Ft(!=)p Fu('.)85 b(The)44 b(v)-5 b(ariable)46 b(name)f(m)m(ust)g -(b)s(e)g(separated)g(from)g(the)1110 2531 y(comparison)25 +(b)s(e)g(separated)g(from)g(the)1110 2969 y(comparison)25 b(op)s(erator)g(b)m(y)g(whitespace;)j(the)d(op)s(erator)g(ma)m(y)g(b)s -(e)f(separated)1110 2640 y(from)33 b(the)h(v)-5 b(alue)35 +(e)f(separated)1110 3078 y(from)33 b(the)h(v)-5 b(alue)35 b(on)f(the)g(righ)m(t)g(hand)f(side)h(b)m(y)f(whitespace.)52 -b(Both)35 b(string)1110 2750 y(and)i(b)s(o)s(olean)g(v)-5 +b(Both)35 b(string)1110 3188 y(and)i(b)s(o)s(olean)g(v)-5 b(ariables)38 b(ma)m(y)h(b)s(e)d(tested.)63 b(Bo)s(olean)39 -b(v)-5 b(ariables)38 b(m)m(ust)g(b)s(e)1110 2859 y(tested)46 +b(v)-5 b(ariables)38 b(m)m(ust)g(b)s(e)1110 3298 y(tested)46 b(against)g(the)f(v)-5 b(alues)46 b Fr(on)f Fu(and)f Fr(o\013)p Fu(.)85 b(The)45 b(follo)m(wing)h(example)g(is)1110 -2969 y(equiv)-5 b(alen)m(t)32 b(to)f(the)f Ft(mode=emacs)e -Fu(test)j(describ)s(ed)f(ab)s(o)m(v)m(e:)1350 3103 y -Ft($if)47 b(editing-mode)d(==)k(emacs)1350 3213 y(set)f -(show-mode-in-prompt)42 b(on)1350 3323 y($endif)150 3482 +3407 y(equiv)-5 b(alen)m(t)32 b(to)f(the)f Ft(mode=emacs)e +Fu(test)j(describ)s(ed)f(ab)s(o)m(v)m(e:)1350 3542 y +Ft($if)47 b(editing-mode)d(==)k(emacs)1350 3651 y(set)f +(show-mode-in-prompt)42 b(on)1350 3761 y($endif)150 3920 y($endif)192 b Fu(This)29 b(command,)i(as)f(seen)h(in)f(the)g(previous) g(example,)h(terminates)g(an)g Ft($if)e Fu(command.)150 -3641 y Ft($else)240 b Fu(Commands)29 b(in)h(this)h(branc)m(h)e(of)i +4080 y Ft($else)240 b Fu(Commands)29 b(in)h(this)h(branc)m(h)e(of)i (the)f Ft($if)g Fu(directiv)m(e)i(are)f(executed)g(if)f(the)h(test)g -(fails.)150 3801 y Ft($include)96 b Fu(This)43 b(directiv)m(e)i(tak)m +(fails.)150 4239 y Ft($include)96 b Fu(This)43 b(directiv)m(e)i(tak)m (es)g(a)e(single)i(\014lename)e(as)h(an)f(argumen)m(t)h(and)f(reads)g -(commands)630 3910 y(and)38 b(bindings)f(from)h(that)i(\014le.)65 +(commands)630 4349 y(and)38 b(bindings)f(from)h(that)i(\014le.)65 b(F)-8 b(or)39 b(example,)j(the)d(follo)m(wing)h(directiv)m(e)g(reads)e -(from)630 4020 y Ft(/etc/inputrc)p Fu(:)870 4154 y Ft($include)46 -b(/etc/inputrc)150 4354 y Fk(8.3.3)63 b(Sample)41 b(Init)g(File)150 -4501 y Fu(Here)27 b(is)f(an)h(example)g(of)f(an)h Fr(inputrc)k +(from)630 4458 y Ft(/etc/inputrc)p Fu(:)870 4593 y Ft($include)46 +b(/etc/inputrc)150 4792 y Fk(8.3.3)63 b(Sample)41 b(Init)g(File)150 +4939 y Fu(Here)27 b(is)f(an)h(example)g(of)f(an)h Fr(inputrc)k Fu(\014le.)39 b(This)26 b(illustrates)h(k)m(ey)h(binding,)e(v)-5 -b(ariable)27 b(assignmen)m(t,)i(and)150 4610 y(conditional)j(syn)m +b(ariable)27 b(assignmen)m(t,)i(and)150 5049 y(conditional)j(syn)m (tax.)p eop end %%Page: 119 125 TeXDict begin 119 124 bop 150 -116 a Fu(Chapter)30 b(8:)41 @@ -16997,25 +17070,25 @@ b(b)m(y)f(some)h(terminals,)i(and)d(suc)m(h)g(a)h(binding)e(is)i (single)g(unit)f(without)h(treating)h(eac)m(h)f(c)m(har-)630 2271 y(acter)40 b(as)f(if)g(it)g(had)f(b)s(een)g(read)h(from)f(the)h(k) m(eyb)s(oard.)66 b(The)39 b(c)m(haracters)h(are)f(inserted)630 -2381 y(as)i(if)g(eac)m(h)i(one)e(w)m(as)h(b)s(ound)d(to)i -Ft(self-insert)p Fu(\))e(instead)i(of)h(executing)g(an)m(y)f(editing) -630 2491 y(commands.)150 2655 y Ft(transpose-chars)26 -b(\(C-t\))630 2765 y Fu(Drag)33 b(the)f(c)m(haracter)h(b)s(efore)f(the) -g(cursor)f(forw)m(ard)h(o)m(v)m(er)h(the)f(c)m(haracter)i(at)e(the)g -(cursor,)630 2874 y(mo)m(ving)k(the)g(cursor)f(forw)m(ard)g(as)g(w)m -(ell.)57 b(If)35 b(the)h(insertion)g(p)s(oin)m(t)f(is)g(at)i(the)e(end) -g(of)h(the)630 2984 y(line,)24 b(then)e(this)g(transp)s(oses)f(the)h -(last)h(t)m(w)m(o)g(c)m(haracters)g(of)f(the)h(line.)38 -b(Negativ)m(e)25 b(argumen)m(ts)630 3093 y(ha)m(v)m(e)32 -b(no)e(e\013ect.)150 3258 y Ft(transpose-words)c(\(M-t\))630 -3367 y Fu(Drag)33 b(the)g(w)m(ord)f(b)s(efore)g(p)s(oin)m(t)g(past)g -(the)h(w)m(ord)f(after)g(p)s(oin)m(t,)i(mo)m(ving)f(p)s(oin)m(t)f(past) -g(that)630 3477 y(w)m(ord)c(as)h(w)m(ell.)41 b(If)27 -b(the)i(insertion)f(p)s(oin)m(t)h(is)f(at)h(the)g(end)e(of)i(the)f -(line,)i(this)e(transp)s(oses)g(the)630 3587 y(last)j(t)m(w)m(o)h(w)m -(ords)e(on)g(the)h(line.)150 3751 y Ft(upcase-word)c(\(M-u\))630 -3861 y Fu(Upp)s(ercase)32 b(the)g(curren)m(t)g(\(or)g(follo)m(wing\))i -(w)m(ord.)45 b(With)32 b(a)g(negativ)m(e)j(argumen)m(t,)e(upp)s(er-)630 +2381 y(as)44 b(if)g(eac)m(h)i(one)e(w)m(as)g(b)s(ound)e(to)j +Ft(self-insert)c Fu(instead)j(of)h(executing)g(an)m(y)f(editing)630 +2491 y(commands.)150 2655 y Ft(transpose-chars)26 b(\(C-t\))630 +2765 y Fu(Drag)33 b(the)f(c)m(haracter)h(b)s(efore)f(the)g(cursor)f +(forw)m(ard)h(o)m(v)m(er)h(the)f(c)m(haracter)i(at)e(the)g(cursor,)630 +2874 y(mo)m(ving)k(the)g(cursor)f(forw)m(ard)g(as)g(w)m(ell.)57 +b(If)35 b(the)h(insertion)g(p)s(oin)m(t)f(is)g(at)i(the)e(end)g(of)h +(the)630 2984 y(line,)24 b(then)e(this)g(transp)s(oses)f(the)h(last)h +(t)m(w)m(o)g(c)m(haracters)g(of)f(the)h(line.)38 b(Negativ)m(e)25 +b(argumen)m(ts)630 3093 y(ha)m(v)m(e)32 b(no)e(e\013ect.)150 +3258 y Ft(transpose-words)c(\(M-t\))630 3367 y Fu(Drag)33 +b(the)g(w)m(ord)f(b)s(efore)g(p)s(oin)m(t)g(past)g(the)h(w)m(ord)f +(after)g(p)s(oin)m(t,)i(mo)m(ving)f(p)s(oin)m(t)f(past)g(that)630 +3477 y(w)m(ord)c(as)h(w)m(ell.)41 b(If)27 b(the)i(insertion)f(p)s(oin)m +(t)h(is)f(at)h(the)g(end)e(of)i(the)f(line,)i(this)e(transp)s(oses)g +(the)630 3587 y(last)j(t)m(w)m(o)h(w)m(ords)e(on)g(the)h(line.)150 +3751 y Ft(upcase-word)c(\(M-u\))630 3861 y Fu(Upp)s(ercase)32 +b(the)g(curren)m(t)g(\(or)g(follo)m(wing\))i(w)m(ord.)45 +b(With)32 b(a)g(negativ)m(e)j(argumen)m(t,)e(upp)s(er-)630 3970 y(case)e(the)g(previous)f(w)m(ord,)g(but)g(do)g(not)h(mo)m(v)m(e)h (the)e(cursor.)150 4134 y Ft(downcase-word)d(\(M-l\))630 4244 y Fu(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h(follo)m(wing\))i @@ -17237,7 +17310,7 @@ b(\(M-{\))630 793 y Fu(P)m(erform)f(\014lename)f(completion)i(and)f (insert)f(the)h(list)g(of)g(p)s(ossible)f(completions)i(enclosed)630 902 y(within)34 b(braces)h(so)f(the)h(list)g(is)g(a)m(v)-5 b(ailable)37 b(to)e(the)g(shell)g(\(see)g(Section)h(3.5.1)g([Brace)g -(Ex-)630 1012 y(pansion],)30 b(page)h(22\).)150 1217 +(Ex-)630 1012 y(pansion],)30 b(page)h(23\).)150 1217 y Fk(8.4.7)63 b(Keyb)s(oard)41 b(Macros)150 1392 y Ft(start-kbd-macro) 26 b(\(C-x)j(\(\))630 1501 y Fu(Begin)i(sa)m(ving)h(the)e(c)m (haracters)i(t)m(yp)s(ed)e(in)m(to)h(the)g(curren)m(t)f(k)m(eyb)s(oard) @@ -17658,347 +17731,368 @@ Fr(w)m(ord)j Fu(will)630 3586 y(b)s(e)d(displa)m(y)m(ed.)630 m(v)-5 b(alid)25 b(option)g(is)g(supplied,)f(or)h(no)g(matc)m(hes)g(w)m (ere)630 3828 y(generated.)150 3981 y Ft(complete)870 4113 y(complete)46 b([-abcdefgjksuv])d([-o)k Fj(comp-option)p -Ft(])e([-DE])h([-A)h Fj(action)p Ft(])f([-)870 4222 y(G)h -Fj(globpat)p Ft(])f([-W)h Fj(wordlist)p Ft(])870 4332 -y([-F)g Fj(function)p Ft(])e([-C)i Fj(command)p Ft(])f([-X)h -Fj(filterpat)p Ft(])870 4441 y([-P)g Fj(prefix)p Ft(])f([-S)h -Fj(suffix)p Ft(])e Fj(name)i Ft([)p Fj(name)f Ft(...])870 -4551 y(complete)g(-pr)g([-DE])h([)p Fj(name)f Ft(...)o(])630 -4682 y Fu(Sp)s(ecify)37 b(ho)m(w)h(argumen)m(ts)f(to)i(eac)m(h)g -Fr(name)j Fu(should)37 b(b)s(e)g(completed.)63 b(If)38 -b(the)f Ft(-p)g Fu(option)630 4792 y(is)30 b(supplied,)e(or)i(if)g(no)f -(options)h(are)g(supplied,)f(existing)h(completion)h(sp)s +Ft(])e([-DEI])h([-A)h Fj(action)p Ft(])e([-)870 4222 +y(G)i Fj(globpat)p Ft(])870 4332 y([-W)g Fj(wordlist)p +Ft(])e([-F)i Fj(function)p Ft(])e([-C)i Fj(command)p +Ft(])f([-X)h Fj(filterpat)p Ft(])870 4441 y([-P)g Fj(prefix)p +Ft(])f([-S)h Fj(suffix)p Ft(])e Fj(name)i Ft([)p Fj(name)f +Ft(...])870 4551 y(complete)g(-pr)g([-DEI])h([)p Fj(name)f +Ft(...)o(])630 4682 y Fu(Sp)s(ecify)37 b(ho)m(w)h(argumen)m(ts)f(to)i +(eac)m(h)g Fr(name)j Fu(should)37 b(b)s(e)g(completed.)63 +b(If)38 b(the)f Ft(-p)g Fu(option)630 4792 y(is)30 b(supplied,)e(or)i +(if)g(no)f(options)h(are)g(supplied,)f(existing)h(completion)h(sp)s (eci\014cations)g(are)630 4902 y(prin)m(ted)24 b(in)h(a)g(w)m(a)m(y)g (that)h(allo)m(ws)g(them)e(to)i(b)s(e)e(reused)f(as)i(input.)38 b(The)24 b Ft(-r)g Fu(option)i(remo)m(v)m(es)630 5011 y(a)i(completion)h(sp)s(eci\014cation)f(for)g(eac)m(h)h Fr(name)p Fu(,)f(or,)h(if)e(no)h Fr(name)5 b Fu(s)27 -b(are)h(supplied,)g(all)g(com-)630 5121 y(pletion)k(sp)s -(eci\014cations.)44 b(The)30 b Ft(-D)h Fu(option)h(indicates)g(that)f -(the)h(remaining)f(options)h(and)630 5230 y(actions)27 -b(should)e(apply)g(to)i(the)f(\\default")h(command)e(completion;)k -(that)e(is,)g(completion)630 5340 y(attempted)g(on)f(a)h(command)f(for) -g(whic)m(h)g(no)g(completion)i(has)d(previously)h(b)s(een)g(de\014ned.) -p eop end +b(are)h(supplied,)g(all)g(com-)630 5121 y(pletion)i(sp)s +(eci\014cations.)42 b(The)29 b Ft(-D)g Fu(option)h(indicates)h(that)f +(other)g(supplied)e(options)j(and)630 5230 y(actions)c(should)e(apply)g +(to)i(the)f(\\default")h(command)e(completion;)k(that)e(is,)g +(completion)630 5340 y(attempted)g(on)f(a)h(command)f(for)g(whic)m(h)g +(no)g(completion)i(has)d(previously)h(b)s(een)g(de\014ned.)p +eop end %%Page: 134 140 TeXDict begin 134 139 bop 150 -116 a Fu(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(134)630 299 y(The)25 -b Ft(-E)g Fu(option)h(indicates)h(that)f(the)g(remaining)g(options)g -(and)f(actions)i(should)e(apply)g(to)630 408 y(\\empt)m(y")32 -b(command)e(completion;)i(that)f(is,)f(completion)i(attempted)f(on)g(a) -f(blank)g(line.)630 542 y(The)f(pro)s(cess)g(of)h(applying)g(these)g -(completion)g(sp)s(eci\014cations)h(when)d(w)m(ord)i(completion)630 -651 y(is)35 b(attempted)h(is)f(describ)s(ed)f(ab)s(o)m(v)m(e)j(\(see)f -(Section)g(8.6)g([Programmable)g(Completion],)630 761 -y(page)31 b(131\).)42 b(The)30 b Ft(-D)g Fu(option)h(tak)m(es)h -(precedence)f(o)m(v)m(er)g Ft(-E)p Fu(.)630 894 y(Other)d(options,)i -(if)f(sp)s(eci\014ed,)g(ha)m(v)m(e)h(the)f(follo)m(wing)i(meanings.)40 -b(The)29 b(argumen)m(ts)g(to)h(the)630 1003 y Ft(-G)p +b(Command)29 b(Line)i(Editing)2062 b(134)630 299 y(The)24 +b Ft(-E)g Fu(option)h(indicates)g(that)g(other)g(supplied)e(options)h +(and)g(actions)i(should)d(apply)h(to)630 408 y(\\empt)m(y")33 +b(command)e(completion;)i(that)f(is,)g(completion)h(attempted)f(on)g(a) +f(blank)g(line.)630 518 y(The)24 b Ft(-I)g Fu(option)h(indicates)g +(that)g(other)g(supplied)e(options)h(and)g(actions)i(should)d(apply)h +(to)630 628 y(completion)32 b(on)e(the)g(inital)i(non-assignmen)m(t)f +(w)m(ord)f(on)g(the)g(line,)h(or)g(after)f(a)h(command)630 +737 y(delimiter)41 b(suc)m(h)g(as)f(`)p Ft(;)p Fu(')h(or)g(`)p +Ft(|)p Fu(',)i(whic)m(h)e(is)f(usually)h(command)f(name)h(completion.) +72 b(If)630 847 y(m)m(ultiple)26 b(options)g(are)g(supplied,)g(the)f +Ft(-D)g Fu(option)h(tak)m(es)i(precedence)e(o)m(v)m(er)g +Ft(-E)p Fu(,)h(and)e(b)s(oth)630 956 y(tak)m(e)34 b(precedence)f(o)m(v) +m(er)h Ft(-I)p Fu(.)47 b(If)32 b(an)m(y)h(of)g Ft(-D)p +Fu(,)g Ft(-E)p Fu(,)f(or)h Ft(-I)f Fu(are)h(supplied,)f(an)m(y)h(other) +g Fr(name)630 1066 y Fu(argumen)m(ts)k(are)g(ignored;)j(these)d +(completions)h(only)e(apply)g(to)i(the)f(case)g(sp)s(eci\014ed)f(b)m(y) +630 1176 y(the)31 b(option.)630 1313 y(The)e(pro)s(cess)g(of)h +(applying)g(these)g(completion)g(sp)s(eci\014cations)h(when)d(w)m(ord)i +(completion)630 1422 y(is)35 b(attempted)h(is)f(describ)s(ed)f(ab)s(o)m +(v)m(e)j(\(see)f(Section)g(8.6)g([Programmable)g(Completion],)630 +1532 y(page)31 b(131\).)630 1669 y(Other)d(options,)i(if)f(sp)s +(eci\014ed,)g(ha)m(v)m(e)h(the)f(follo)m(wing)i(meanings.)40 +b(The)29 b(argumen)m(ts)g(to)h(the)630 1778 y Ft(-G)p Fu(,)41 b Ft(-W)p Fu(,)h(and)c Ft(-X)h Fu(options)h(\(and,)h(if)f (necessary)-8 b(,)42 b(the)e Ft(-P)f Fu(and)f Ft(-S)h -Fu(options\))h(should)f(b)s(e)630 1113 y(quoted)28 b(to)h(protect)g +Fu(options\))h(should)f(b)s(e)630 1888 y(quoted)28 b(to)h(protect)g (them)f(from)f(expansion)h(b)s(efore)g(the)g Ft(complete)e -Fu(builtin)h(is)h(in)m(v)m(ok)m(ed.)630 1270 y Ft(-o)i -Fj(comp-option)1110 1379 y Fu(The)c Fr(comp-option)i +Fu(builtin)h(is)h(in)m(v)m(ok)m(ed.)630 2052 y Ft(-o)i +Fj(comp-option)1110 2162 y Fu(The)c Fr(comp-option)i Fu(con)m(trols)g(sev)m(eral)h(asp)s(ects)e(of)g(the)g(compsp)s(ec's)g -(b)s(eha)m(v-)1110 1489 y(ior)g(b)s(ey)m(ond)f(the)g(simple)h +(b)s(eha)m(v-)1110 2271 y(ior)g(b)s(ey)m(ond)f(the)g(simple)h (generation)h(of)e(completions.)41 b Fr(comp-option)27 -b Fu(ma)m(y)1110 1598 y(b)s(e)j(one)g(of:)1110 1755 y -Ft(bashdefault)1590 1864 y Fu(P)m(erform)d(the)h(rest)f(of)h(the)g -(default)f(Bash)h(completions)g(if)g(the)1590 1974 y(compsp)s(ec)i -(generates)i(no)e(matc)m(hes.)1110 2131 y Ft(default)144 +b Fu(ma)m(y)1110 2381 y(b)s(e)j(one)g(of:)1110 2545 y +Ft(bashdefault)1590 2655 y Fu(P)m(erform)d(the)h(rest)f(of)h(the)g +(default)f(Bash)h(completions)g(if)g(the)1590 2765 y(compsp)s(ec)i +(generates)i(no)e(matc)m(hes.)1110 2929 y Ft(default)144 b Fu(Use)22 b(Readline's)g(default)g(\014lename)g(completion)g(if)g -(the)g(comp-)1590 2240 y(sp)s(ec)30 b(generates)i(no)e(matc)m(hes.)1110 -2397 y Ft(dirnames)96 b Fu(P)m(erform)46 b(directory)g(name)h -(completion)g(if)f(the)g(compsp)s(ec)1590 2506 y(generates)32 -b(no)e(matc)m(hes.)1110 2663 y Ft(filenames)1590 2772 +(the)g(comp-)1590 3039 y(sp)s(ec)30 b(generates)i(no)e(matc)m(hes.)1110 +3203 y Ft(dirnames)96 b Fu(P)m(erform)46 b(directory)g(name)h +(completion)g(if)f(the)g(compsp)s(ec)1590 3313 y(generates)32 +b(no)e(matc)m(hes.)1110 3477 y Ft(filenames)1590 3587 y Fu(T)-8 b(ell)40 b(Readline)f(that)h(the)f(compsp)s(ec)f(generates)j -(\014lenames,)1590 2882 y(so)29 b(it)h(can)f(p)s(erform)f(an)m(y)h +(\014lenames,)1590 3696 y(so)29 b(it)h(can)f(p)s(erform)f(an)m(y)h (\014lename-sp)s(eci\014c)h(pro)s(cessing)e(\(lik)m(e)1590 -2992 y(adding)d(a)h(slash)f(to)h(directory)g(names)f(quoting)h(sp)s -(ecial)g(c)m(har-)1590 3101 y(acters,)39 b(or)d(suppressing)f(trailing) -i(spaces\).)59 b(This)35 b(option)i(is)1590 3211 y(in)m(tended)30 +3806 y(adding)22 b(a)g(slash)g(to)h(directory)f(names,)i(quoting)f(sp)s +(ecial)f(c)m(har-)1590 3915 y(acters,)39 b(or)d(suppressing)f(trailing) +i(spaces\).)59 b(This)35 b(option)i(is)1590 4025 y(in)m(tended)30 b(to)g(b)s(e)g(used)f(with)g(shell)i(functions)e(sp)s(eci\014ed)g(with) -1590 3320 y Ft(-F)p Fu(.)1110 3477 y Ft(noquote)144 b +1590 4134 y Ft(-F)p Fu(.)1110 4299 y Ft(noquote)144 b Fu(T)-8 b(ell)28 b(Readline)g(not)g(to)g(quote)g(the)g(completed)g(w)m -(ords)f(if)h(they)1590 3587 y(are)j(\014lenames)f(\(quoting)h -(\014lenames)g(is)f(the)h(default\).)1110 3743 y Ft(nosort)192 +(ords)f(if)h(they)1590 4408 y(are)j(\014lenames)f(\(quoting)h +(\014lenames)g(is)f(the)h(default\).)1110 4573 y Ft(nosort)192 b Fu(T)-8 b(ell)23 b(Readline)g(not)f(to)h(sort)g(the)f(list)h(of)f(p)s -(ossible)g(completions)1590 3853 y(alphab)s(etically)-8 -b(.)1110 4009 y Ft(nospace)144 b Fu(T)-8 b(ell)40 b(Readline)g(not)g +(ossible)g(completions)1590 4682 y(alphab)s(etically)-8 +b(.)1110 4847 y Ft(nospace)144 b Fu(T)-8 b(ell)40 b(Readline)g(not)g (to)g(app)s(end)d(a)j(space)g(\(the)f(default\))h(to)1590 -4119 y(w)m(ords)30 b(completed)h(at)g(the)g(end)f(of)g(the)h(line.)1110 -4275 y Ft(plusdirs)96 b Fu(After)30 b(an)m(y)h(matc)m(hes)g(de\014ned)d -(b)m(y)i(the)g(compsp)s(ec)g(are)g(gener-)1590 4385 y(ated,)g +4956 y(w)m(ords)30 b(completed)h(at)g(the)g(end)f(of)g(the)h(line.)1110 +5121 y Ft(plusdirs)96 b Fu(After)30 b(an)m(y)h(matc)m(hes)g(de\014ned)d +(b)m(y)i(the)g(compsp)s(ec)g(are)g(gener-)1590 5230 y(ated,)g (directory)f(name)g(completion)i(is)d(attempted)i(and)f(an)m(y)1590 -4495 y(matc)m(hes)j(are)e(added)g(to)h(the)g(results)f(of)g(the)h -(other)g(actions.)630 4651 y Ft(-A)f Fj(action)66 b Fu(The)25 -b Fr(action)h Fu(ma)m(y)g(b)s(e)e(one)h(of)h(the)f(follo)m(wing)i(to)e -(generate)i(a)e(list)h(of)f(p)s(ossible)1110 4761 y(completions:)1110 -4917 y Ft(alias)240 b Fu(Alias)31 b(names.)41 b(Ma)m(y)31 -b(also)h(b)s(e)e(sp)s(eci\014ed)f(as)i Ft(-a)p Fu(.)1110 -5074 y Ft(arrayvar)96 b Fu(Arra)m(y)31 b(v)-5 b(ariable)31 -b(names.)1110 5230 y Ft(binding)144 b Fu(Readline)30 -b(k)m(ey)f(binding)f(names)h(\(see)h(Section)f(8.4)h([Bindable)1590 -5340 y(Readline)h(Commands],)f(page)h(121\).)p eop end +5340 y(matc)m(hes)j(are)e(added)g(to)h(the)g(results)f(of)g(the)h +(other)g(actions.)p eop end %%Page: 135 141 TeXDict begin 135 140 bop 150 -116 a Fu(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(135)1110 299 y Ft(builtin)144 -b Fu(Names)21 b(of)g(shell)f(builtin)h(commands.)37 b(Ma)m(y)21 -b(also)h(b)s(e)e(sp)s(eci\014ed)1590 408 y(as)31 b Ft(-b)p -Fu(.)1110 581 y Ft(command)144 b Fu(Command)29 b(names.)41 -b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)f(as)i Ft(-c)p -Fu(.)1110 753 y Ft(directory)1590 862 y Fu(Directory)h(names.)40 -b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)g(as)g Ft(-d)p -Fu(.)1110 1035 y Ft(disabled)96 b Fu(Names)31 b(of)g(disabled)f(shell)g -(builtins.)1110 1207 y Ft(enabled)144 b Fu(Names)31 b(of)g(enabled)f -(shell)g(builtins.)1110 1379 y Ft(export)192 b Fu(Names)34 -b(of)f(exp)s(orted)f(shell)h(v)-5 b(ariables.)49 b(Ma)m(y)35 -b(also)e(b)s(e)g(sp)s(eci-)1590 1489 y(\014ed)d(as)g -Ft(-e)p Fu(.)1110 1661 y Ft(file)288 b Fu(File)32 b(names.)40 -b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)f(as)i Ft(-f)p -Fu(.)1110 1833 y Ft(function)96 b Fu(Names)31 b(of)g(shell)f -(functions.)1110 2005 y Ft(group)240 b Fu(Group)30 b(names.)40 -b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)g(as)g Ft(-g)p -Fu(.)1110 2178 y Ft(helptopic)1590 2287 y Fu(Help)37 -b(topics)g(as)g(accepted)h(b)m(y)e(the)h Ft(help)f Fu(builtin)g(\(see)h -(Sec-)1590 2397 y(tion)31 b(4.2)g([Bash)g(Builtins],)g(page)g(50\).) -1110 2569 y Ft(hostname)96 b Fu(Hostnames,)89 b(as)76 -b(tak)m(en)h(from)f(the)g(\014le)h(sp)s(eci\014ed)e(b)m(y)1590 -2679 y(the)55 b Ft(HOSTFILE)e Fu(shell)j(v)-5 b(ariable)56 -b(\(see)g(Section)g(5.2)h([Bash)1590 2788 y(V)-8 b(ariables],)32 -b(page)f(72\).)1110 2960 y Ft(job)336 b Fu(Job)31 b(names,)h(if)g(job)f -(con)m(trol)i(is)f(activ)m(e.)46 b(Ma)m(y)33 b(also)g(b)s(e)e(sp)s -(eci-)1590 3070 y(\014ed)f(as)g Ft(-j)p Fu(.)1110 3242 -y Ft(keyword)144 b Fu(Shell)30 b(reserv)m(ed)h(w)m(ords.)40 -b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)f(as)i Ft(-k)p -Fu(.)1110 3414 y Ft(running)144 b Fu(Names)31 b(of)g(running)d(jobs,)i -(if)h(job)f(con)m(trol)h(is)g(activ)m(e.)1110 3587 y -Ft(service)144 b Fu(Service)31 b(names.)41 b(Ma)m(y)31 -b(also)g(b)s(e)f(sp)s(eci\014ed)g(as)g Ft(-s)p Fu(.)1110 -3759 y Ft(setopt)192 b Fu(V)-8 b(alid)39 b(argumen)m(ts)g(for)f(the)h -Ft(-o)e Fu(option)i(to)g(the)g Ft(set)e Fu(builtin)1590 -3868 y(\(see)31 b(Section)h(4.3.1)g([The)e(Set)g(Builtin],)i(page)f -(61\).)1110 4041 y Ft(shopt)240 b Fu(Shell)40 b(option)g(names)g(as)g +b(Command)29 b(Line)i(Editing)2062 b(135)630 299 y Ft(-A)30 +b Fj(action)66 b Fu(The)25 b Fr(action)h Fu(ma)m(y)g(b)s(e)e(one)h(of)h +(the)f(follo)m(wing)i(to)e(generate)i(a)e(list)h(of)f(p)s(ossible)1110 +408 y(completions:)1110 570 y Ft(alias)240 b Fu(Alias)31 +b(names.)41 b(Ma)m(y)31 b(also)h(b)s(e)e(sp)s(eci\014ed)f(as)i +Ft(-a)p Fu(.)1110 732 y Ft(arrayvar)96 b Fu(Arra)m(y)31 +b(v)-5 b(ariable)31 b(names.)1110 894 y Ft(binding)144 +b Fu(Readline)30 b(k)m(ey)f(binding)f(names)h(\(see)h(Section)f(8.4)h +([Bindable)1590 1004 y(Readline)h(Commands],)f(page)h(121\).)1110 +1166 y Ft(builtin)144 b Fu(Names)21 b(of)g(shell)f(builtin)h(commands.) +37 b(Ma)m(y)21 b(also)h(b)s(e)e(sp)s(eci\014ed)1590 1276 +y(as)31 b Ft(-b)p Fu(.)1110 1438 y Ft(command)144 b Fu(Command)29 +b(names.)41 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)f(as)i +Ft(-c)p Fu(.)1110 1600 y Ft(directory)1590 1709 y Fu(Directory)h +(names.)40 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)g(as)g +Ft(-d)p Fu(.)1110 1871 y Ft(disabled)96 b Fu(Names)31 +b(of)g(disabled)f(shell)g(builtins.)1110 2033 y Ft(enabled)144 +b Fu(Names)31 b(of)g(enabled)f(shell)g(builtins.)1110 +2195 y Ft(export)192 b Fu(Names)34 b(of)f(exp)s(orted)f(shell)h(v)-5 +b(ariables.)49 b(Ma)m(y)35 b(also)e(b)s(e)g(sp)s(eci-)1590 +2305 y(\014ed)d(as)g Ft(-e)p Fu(.)1110 2467 y Ft(file)288 +b Fu(File)32 b(names.)40 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)f +(as)i Ft(-f)p Fu(.)1110 2629 y Ft(function)96 b Fu(Names)31 +b(of)g(shell)f(functions.)1110 2791 y Ft(group)240 b +Fu(Group)30 b(names.)40 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)g +(as)g Ft(-g)p Fu(.)1110 2953 y Ft(helptopic)1590 3062 +y Fu(Help)37 b(topics)g(as)g(accepted)h(b)m(y)e(the)h +Ft(help)f Fu(builtin)g(\(see)h(Sec-)1590 3172 y(tion)31 +b(4.2)g([Bash)g(Builtins],)g(page)g(50\).)1110 3334 y +Ft(hostname)96 b Fu(Hostnames,)89 b(as)76 b(tak)m(en)h(from)f(the)g +(\014le)h(sp)s(eci\014ed)e(b)m(y)1590 3444 y(the)55 b +Ft(HOSTFILE)e Fu(shell)j(v)-5 b(ariable)56 b(\(see)g(Section)g(5.2)h +([Bash)1590 3553 y(V)-8 b(ariables],)32 b(page)f(72\).)1110 +3715 y Ft(job)336 b Fu(Job)31 b(names,)h(if)g(job)f(con)m(trol)i(is)f +(activ)m(e.)46 b(Ma)m(y)33 b(also)g(b)s(e)e(sp)s(eci-)1590 +3825 y(\014ed)f(as)g Ft(-j)p Fu(.)1110 3987 y Ft(keyword)144 +b Fu(Shell)30 b(reserv)m(ed)h(w)m(ords.)40 b(Ma)m(y)32 +b(also)f(b)s(e)f(sp)s(eci\014ed)f(as)i Ft(-k)p Fu(.)1110 +4149 y Ft(running)144 b Fu(Names)31 b(of)g(running)d(jobs,)i(if)h(job)f +(con)m(trol)h(is)g(activ)m(e.)1110 4311 y Ft(service)144 +b Fu(Service)31 b(names.)41 b(Ma)m(y)31 b(also)g(b)s(e)f(sp)s +(eci\014ed)g(as)g Ft(-s)p Fu(.)1110 4473 y Ft(setopt)192 +b Fu(V)-8 b(alid)39 b(argumen)m(ts)g(for)f(the)h Ft(-o)e +Fu(option)i(to)g(the)g Ft(set)e Fu(builtin)1590 4582 +y(\(see)31 b(Section)h(4.3.1)g([The)e(Set)g(Builtin],)i(page)f(61\).) +1110 4744 y Ft(shopt)240 b Fu(Shell)40 b(option)g(names)g(as)g (accepted)i(b)m(y)e(the)g Ft(shopt)e Fu(builtin)1590 -4150 y(\(see)31 b(Section)h(4.2)f([Bash)g(Builtins],)g(page)g(50\).) -1110 4322 y Ft(signal)192 b Fu(Signal)31 b(names.)1110 -4495 y Ft(stopped)144 b Fu(Names)31 b(of)g(stopp)s(ed)e(jobs,)h(if)g -(job)g(con)m(trol)i(is)f(activ)m(e.)1110 4667 y Ft(user)288 +4854 y(\(see)31 b(Section)h(4.2)f([Bash)g(Builtins],)g(page)g(50\).) +1110 5016 y Ft(signal)192 b Fu(Signal)31 b(names.)1110 +5178 y Ft(stopped)144 b Fu(Names)31 b(of)g(stopp)s(ed)e(jobs,)h(if)g +(job)g(con)m(trol)i(is)f(activ)m(e.)1110 5340 y Ft(user)288 b Fu(User)30 b(names.)41 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)f -(as)i Ft(-u)p Fu(.)1110 4839 y Ft(variable)96 b Fu(Names)36 -b(of)g(all)g(shell)g(v)-5 b(ariables.)56 b(Ma)m(y)37 -b(also)f(b)s(e)f(sp)s(eci\014ed)g(as)1590 4949 y Ft(-v)p -Fu(.)630 5121 y Ft(-C)30 b Fj(command)1110 5230 y Fr(command)35 -b Fu(is)e(executed)g(in)e(a)i(subshell)e(en)m(vironmen)m(t,)i(and)f -(its)g(output)g(is)1110 5340 y(used)e(as)g(the)h(p)s(ossible)f -(completions.)p eop end +(as)i Ft(-u)p Fu(.)p eop end %%Page: 136 142 TeXDict begin 136 141 bop 150 -116 a Fu(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(136)630 299 y Ft(-F)30 -b Fj(function)1110 408 y Fu(The)39 b(shell)g(function)g -Fr(function)g Fu(is)g(executed)h(in)f(the)g(curren)m(t)g(shell)g(en)m -(vi-)1110 518 y(ronmen)m(t.)72 b(When)41 b(it)g(is)g(executed,)k($1)c -(is)g(the)g(name)g(of)g(the)g(command)1110 628 y(whose)34 -b(argumen)m(ts)h(are)g(b)s(eing)f(completed,)j($2)e(is)f(the)h(w)m(ord) -f(b)s(eing)g(com-)1110 737 y(pleted,)44 b(and)c($3)i(is)e(the)h(w)m -(ord)g(preceding)f(the)h(w)m(ord)f(b)s(eing)h(completed,)1110 -847 y(as)g(describ)s(ed)f(ab)s(o)m(v)m(e)i(\(see)g(Section)f(8.6)h -([Programmable)g(Completion],)1110 956 y(page)30 b(131\).)42 -b(When)29 b(it)h(\014nishes,)e(the)h(p)s(ossible)g(completions)h(are)g -(retriev)m(ed)1110 1066 y(from)g(the)g(v)-5 b(alue)31 -b(of)g(the)f Ft(COMPREPLY)e Fu(arra)m(y)j(v)-5 b(ariable.)630 -1240 y Ft(-G)30 b Fj(globpat)1110 1350 y Fu(The)39 b(\014lename)h -(expansion)g(pattern)g Fr(globpat)j Fu(is)d(expanded)f(to)h(generate) -1110 1459 y(the)31 b(p)s(ossible)e(completions.)630 1633 -y Ft(-P)h Fj(prefix)66 b Fr(pre\014x)39 b Fu(is)34 b(added)f(at)i(the)f -(b)s(eginning)f(of)i(eac)m(h)g(p)s(ossible)e(completion)i(after)1110 -1743 y(all)c(other)g(options)g(ha)m(v)m(e)g(b)s(een)f(applied.)630 -1917 y Ft(-S)g Fj(suffix)66 b Fr(su\016x)26 b Fu(is)20 +b(Command)29 b(Line)i(Editing)2062 b(136)1110 299 y Ft(variable)96 +b Fu(Names)36 b(of)g(all)g(shell)g(v)-5 b(ariables.)56 +b(Ma)m(y)37 b(also)f(b)s(e)f(sp)s(eci\014ed)g(as)1590 +408 y Ft(-v)p Fu(.)630 573 y Ft(-C)30 b Fj(command)1110 +682 y Fr(command)35 b Fu(is)e(executed)g(in)e(a)i(subshell)e(en)m +(vironmen)m(t,)i(and)f(its)g(output)g(is)1110 792 y(used)e(as)g(the)h +(p)s(ossible)f(completions.)630 956 y Ft(-F)g Fj(function)1110 +1066 y Fu(The)39 b(shell)g(function)g Fr(function)g Fu(is)g(executed)h +(in)f(the)g(curren)m(t)g(shell)g(en)m(vi-)1110 1176 y(ronmen)m(t.)72 +b(When)41 b(it)g(is)g(executed,)k($1)c(is)g(the)g(name)g(of)g(the)g +(command)1110 1285 y(whose)34 b(argumen)m(ts)h(are)g(b)s(eing)f +(completed,)j($2)e(is)f(the)h(w)m(ord)f(b)s(eing)g(com-)1110 +1395 y(pleted,)44 b(and)c($3)i(is)e(the)h(w)m(ord)g(preceding)f(the)h +(w)m(ord)f(b)s(eing)h(completed,)1110 1504 y(as)g(describ)s(ed)f(ab)s +(o)m(v)m(e)i(\(see)g(Section)f(8.6)h([Programmable)g(Completion],)1110 +1614 y(page)30 b(131\).)42 b(When)29 b(it)h(\014nishes,)e(the)h(p)s +(ossible)g(completions)h(are)g(retriev)m(ed)1110 1724 +y(from)g(the)g(v)-5 b(alue)31 b(of)g(the)f Ft(COMPREPLY)e +Fu(arra)m(y)j(v)-5 b(ariable.)630 1888 y Ft(-G)30 b Fj(globpat)1110 +1998 y Fu(The)39 b(\014lename)h(expansion)g(pattern)g +Fr(globpat)j Fu(is)d(expanded)f(to)h(generate)1110 2107 +y(the)31 b(p)s(ossible)e(completions.)630 2271 y Ft(-P)h +Fj(prefix)66 b Fr(pre\014x)39 b Fu(is)34 b(added)f(at)i(the)f(b)s +(eginning)f(of)i(eac)m(h)g(p)s(ossible)e(completion)i(after)1110 +2381 y(all)c(other)g(options)g(ha)m(v)m(e)g(b)s(een)f(applied.)630 +2545 y Ft(-S)g Fj(suffix)66 b Fr(su\016x)26 b Fu(is)20 b(app)s(ended)f(to)i(eac)m(h)h(p)s(ossible)e(completion)i(after)f(all)g -(other)g(options)1110 2027 y(ha)m(v)m(e)32 b(b)s(een)d(applied.)630 -2201 y Ft(-W)h Fj(wordlist)1110 2310 y Fu(The)24 b Fr(w)m(ordlist)k +(other)g(options)1110 2655 y(ha)m(v)m(e)32 b(b)s(een)d(applied.)630 +2819 y Ft(-W)h Fj(wordlist)1110 2929 y Fu(The)24 b Fr(w)m(ordlist)k Fu(is)d(split)g(using)f(the)h(c)m(haracters)i(in)d(the)i -Ft(IFS)e Fu(sp)s(ecial)h(v)-5 b(ariable)1110 2420 y(as)36 +Ft(IFS)e Fu(sp)s(ecial)h(v)-5 b(ariable)1110 3039 y(as)36 b(delimiters,)i(and)e(eac)m(h)h(resultan)m(t)g(w)m(ord)e(is)h -(expanded.)57 b(The)35 b(p)s(ossible)1110 2529 y(completions)c(are)e +(expanded.)57 b(The)35 b(p)s(ossible)1110 3148 y(completions)c(are)e (the)h(mem)m(b)s(ers)f(of)g(the)h(resultan)m(t)g(list)g(whic)m(h)f -(matc)m(h)i(the)1110 2639 y(w)m(ord)f(b)s(eing)g(completed.)630 -2813 y Ft(-X)g Fj(filterpat)1110 2923 y Fr(\014lterpat)d +(matc)m(h)i(the)1110 3258 y(w)m(ord)f(b)s(eing)g(completed.)630 +3422 y Ft(-X)g Fj(filterpat)1110 3532 y Fr(\014lterpat)d Fu(is)e(a)g(pattern)g(as)f(used)g(for)h(\014lename)g(expansion.)38 -b(It)25 b(is)g(applied)f(to)1110 3032 y(the)30 b(list)f(of)h(p)s +b(It)25 b(is)g(applied)f(to)1110 3641 y(the)30 b(list)f(of)h(p)s (ossible)f(completions)h(generated)h(b)m(y)e(the)g(preceding)h(options) -1110 3142 y(and)d(argumen)m(ts,)i(and)e(eac)m(h)i(completion)g(matc)m -(hing)g Fr(\014lterpat)h Fu(is)e(remo)m(v)m(ed)1110 3251 +1110 3751 y(and)d(argumen)m(ts,)i(and)e(eac)m(h)i(completion)g(matc)m +(hing)g Fr(\014lterpat)h Fu(is)e(remo)m(v)m(ed)1110 3861 y(from)i(the)h(list.)42 b(A)30 b(leading)i(`)p Ft(!)p Fu(')e(in)g Fr(\014lterpat)j Fu(negates)f(the)f(pattern;)g(in)f(this) -1110 3361 y(case,)i(an)m(y)e(completion)i(not)f(matc)m(hing)g -Fr(\014lterpat)i Fu(is)d(remo)m(v)m(ed.)630 3535 y(The)35 +1110 3970 y(case,)i(an)m(y)e(completion)i(not)f(matc)m(hing)g +Fr(\014lterpat)i Fu(is)d(remo)m(v)m(ed.)630 4134 y(The)35 b(return)g(v)-5 b(alue)37 b(is)f(true)f(unless)h(an)f(in)m(v)-5 b(alid)37 b(option)f(is)g(supplied,)g(an)g(option)h(other)630 -3645 y(than)h Ft(-p)g Fu(or)g Ft(-r)f Fu(is)h(supplied)f(without)i(a)f +4244 y(than)h Ft(-p)g Fu(or)g Ft(-r)f Fu(is)h(supplied)f(without)i(a)f Fr(name)44 b Fu(argumen)m(t,)c(an)e(attempt)i(is)e(made)g(to)630 -3754 y(remo)m(v)m(e)32 b(a)e(completion)i(sp)s(eci\014cation)f(for)f(a) +4354 y(remo)m(v)m(e)32 b(a)e(completion)i(sp)s(eci\014cation)f(for)f(a) h Fr(name)k Fu(for)30 b(whic)m(h)g(no)g(sp)s(eci\014cation)h(exists,) -630 3864 y(or)f(an)h(error)f(o)s(ccurs)g(adding)g(a)g(completion)i(sp)s -(eci\014cation.)150 4038 y Ft(compopt)870 4180 y(compopt)46 -b([-o)h Fj(option)p Ft(])f([-DE])g([+o)h Fj(option)p -Ft(])f([)p Fj(name)p Ft(])630 4321 y Fu(Mo)s(dify)33 +630 4463 y(or)f(an)h(error)f(o)s(ccurs)g(adding)g(a)g(completion)i(sp)s +(eci\014cation.)150 4628 y Ft(compopt)870 4765 y(compopt)46 +b([-o)h Fj(option)p Ft(])f([-DEI])g([+o)h Fj(option)p +Ft(])e([)p Fj(name)p Ft(])630 4902 y Fu(Mo)s(dify)33 b(completion)h(options)g(for)f(eac)m(h)h Fr(name)39 b Fu(according)34 b(to)g(the)f Fr(option)p Fu(s,)i(or)e(for)g(the)630 -4431 y(curren)m(tly-executing)46 b(completion)f(if)f(no)f +5011 y(curren)m(tly-executing)46 b(completion)f(if)f(no)f Fr(name)5 b Fu(s)44 b(are)h(supplied.)80 b(If)43 b(no)h -Fr(option)p Fu(s)h(are)630 4541 y(giv)m(en,)30 b(displa)m(y)e(the)g +Fr(option)p Fu(s)h(are)630 5121 y(giv)m(en,)30 b(displa)m(y)e(the)g (completion)h(options)g(for)e(eac)m(h)i Fr(name)34 b -Fu(or)27 b(the)i(curren)m(t)e(completion.)630 4650 y(The)f(p)s(ossible) +Fu(or)27 b(the)i(curren)m(t)e(completion.)630 5230 y(The)f(p)s(ossible) g(v)-5 b(alues)27 b(of)f Fr(option)h Fu(are)g(those)g(v)-5 b(alid)26 b(for)g(the)h Ft(complete)d Fu(builtin)i(describ)s(ed)630 -4760 y(ab)s(o)m(v)m(e.)41 b(The)28 b Ft(-D)g Fu(option)h(indicates)h -(that)f(the)g(remaining)g(options)g(should)e(apply)h(to)i(the)630 -4869 y(\\default")j(command)f(completion;)i(that)f(is,)g(completion)g -(attempted)g(on)f(a)g(command)630 4979 y(for)g(whic)m(h)g(no)g -(completion)i(has)e(previously)g(b)s(een)g(de\014ned.)45 -b(The)32 b Ft(-E)f Fu(option)i(indicates)630 5089 y(that)24 -b(the)g(remaining)g(options)g(should)e(apply)h(to)i(\\empt)m(y")g -(command)e(completion;)k(that)630 5198 y(is,)k(completion)g(attempted)h -(on)e(a)h(blank)f(line.)630 5340 y(The)g Ft(-D)g Fu(option)g(tak)m(es)i -(precedence)f(o)m(v)m(er)h Ft(-E)p Fu(.)p eop end +5340 y(ab)s(o)m(v)m(e.)41 b(The)27 b Ft(-D)f Fu(option)i(indicates)g +(that)g(other)f(supplied)f(options)i(should)e(apply)h(to)h(the)p +eop end %%Page: 137 143 TeXDict begin 137 142 bop 150 -116 a Fu(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(137)630 299 y(The)23 -b(return)g(v)-5 b(alue)25 b(is)f(true)g(unless)f(an)h(in)m(v)-5 -b(alid)24 b(option)h(is)f(supplied,)g(an)g(attempt)h(is)f(made)630 -408 y(to)32 b(mo)s(dify)f(the)g(options)h(for)f(a)h Fr(name)k -Fu(for)31 b(whic)m(h)g(no)g(completion)i(sp)s(eci\014cation)f(exists,) -630 518 y(or)e(an)h(output)f(error)g(o)s(ccurs.)150 772 -y Fs(8.8)68 b(A)44 b(Programmable)j(Completion)f(Example)150 -931 y Fu(The)37 b(most)g(common)g(w)m(a)m(y)i(to)e(obtain)h(additional) -g(completion)g(functionalit)m(y)h(b)s(ey)m(ond)d(the)i(default)150 -1041 y(actions)29 b Ft(complete)d Fu(and)i Ft(compgen)e -Fu(pro)m(vide)i(is)h(to)f(use)g(a)h(shell)f(function)g(and)g(bind)e(it) -j(to)g(a)g(particular)150 1151 y(command)h(using)g Ft(complete)e(-F)p -Fu(.)275 1294 y(The)j(follo)m(wing)j(function)e(pro)m(vides)g -(completions)i(for)e(the)g Ft(cd)g Fu(builtin.)46 b(It)32 -b(is)h(a)f(reasonably)h(go)s(o)s(d)150 1403 y(example)41 +b(Command)29 b(Line)i(Editing)2062 b(137)630 299 y(\\default")33 +b(command)f(completion;)i(that)f(is,)g(completion)g(attempted)g(on)f(a) +g(command)630 408 y(for)g(whic)m(h)g(no)g(completion)i(has)e +(previously)g(b)s(een)g(de\014ned.)45 b(The)32 b Ft(-E)f +Fu(option)i(indicates)630 518 y(that)23 b(other)f(supplied)e(options)j +(should)e(apply)g(to)i(\\empt)m(y")g(command)f(completion;)k(that)630 +628 y(is,)36 b(completion)g(attempted)g(on)e(a)h(blank)g(line.)54 +b(The)34 b Ft(-I)g Fu(option)h(indicates)g(that)h(other)630 +737 y(supplied)26 b(options)h(should)g(apply)f(to)i(completion)h(on)e +(the)g(inital)i(non-assignmen)m(t)e(w)m(ord)630 847 y(on)37 +b(the)f(line,)j(or)e(after)g(a)g(command)f(delimiter)i(suc)m(h)e(as)h +(`)p Ft(;)p Fu(')g(or)f(`)p Ft(|)p Fu(',)j(whic)m(h)e(is)f(usually)630 +956 y(command)30 b(name)h(completion.)630 1091 y(If)k(m)m(ultiple)i +(options)f(are)g(supplied,)g(the)g Ft(-D)g Fu(option)g(tak)m(es)h +(precedence)g(o)m(v)m(er)g Ft(-E)p Fu(,)g(and)630 1200 +y(b)s(oth)30 b(tak)m(e)i(precedence)e(o)m(v)m(er)i Ft(-I)630 +1335 y Fu(The)23 b(return)g(v)-5 b(alue)25 b(is)f(true)g(unless)f(an)h +(in)m(v)-5 b(alid)24 b(option)h(is)f(supplied,)g(an)g(attempt)h(is)f +(made)630 1444 y(to)32 b(mo)s(dify)f(the)g(options)h(for)f(a)h +Fr(name)k Fu(for)31 b(whic)m(h)g(no)g(completion)i(sp)s(eci\014cation)f +(exists,)630 1554 y(or)e(an)h(output)f(error)g(o)s(ccurs.)150 +1794 y Fs(8.8)68 b(A)44 b(Programmable)j(Completion)f(Example)150 +1954 y Fu(The)37 b(most)g(common)g(w)m(a)m(y)i(to)e(obtain)h +(additional)g(completion)g(functionalit)m(y)h(b)s(ey)m(ond)d(the)i +(default)150 2063 y(actions)29 b Ft(complete)d Fu(and)i +Ft(compgen)e Fu(pro)m(vide)i(is)h(to)f(use)g(a)h(shell)f(function)g +(and)g(bind)e(it)j(to)g(a)g(particular)150 2173 y(command)h(using)g +Ft(complete)e(-F)p Fu(.)275 2307 y(The)j(follo)m(wing)j(function)e(pro) +m(vides)g(completions)i(for)e(the)g Ft(cd)g Fu(builtin.)46 +b(It)32 b(is)h(a)f(reasonably)h(go)s(o)s(d)150 2417 y(example)41 b(of)g(what)f(shell)h(functions)f(m)m(ust)g(do)h(when)e(used)h(for)g -(completion.)73 b(This)39 b(function)h(uses)150 1513 +(completion.)73 b(This)39 b(function)h(uses)150 2526 y(the)32 b(w)m(ord)f(passed)g(as)h Ft($2)f Fu(to)h(determine)g(the)f (directory)h(name)g(to)g(complete.)46 b(Y)-8 b(ou)32 -b(can)g(also)g(use)g(the)150 1623 y Ft(COMP_WORDS)c Fu(arra)m(y)i(v)-5 +b(can)g(also)g(use)g(the)150 2636 y Ft(COMP_WORDS)c Fu(arra)m(y)i(v)-5 b(ariable;)32 b(the)e(curren)m(t)h(w)m(ord)f(is)g(indexed)g(b)m(y)g -(the)h Ft(COMP_CWORD)c Fu(v)-5 b(ariable.)275 1766 y(The)42 +(the)h Ft(COMP_CWORD)c Fu(v)-5 b(ariable.)275 2770 y(The)42 b(function)h(relies)h(on)e(the)i Ft(complete)c Fu(and)j Ft(compgen)e Fu(builtins)h(to)i(do)f(m)m(uc)m(h)g(of)g(the)h(w)m(ork,) -150 1875 y(adding)25 b(only)h(the)g(things)g(that)g(the)g(Bash)g +150 2880 y(adding)25 b(only)h(the)g(things)g(that)g(the)g(Bash)g Ft(cd)f Fu(do)s(es)g(b)s(ey)m(ond)g(accepting)j(basic)e(directory)g -(names:)38 b(tilde)150 1985 y(expansion)22 b(\(see)h(Section)g(3.5.2)g +(names:)38 b(tilde)150 2989 y(expansion)22 b(\(see)h(Section)g(3.5.2)g ([Tilde)g(Expansion],)g(page)g(23\),)i(searc)m(hing)e(directories)g(in) -e Fr($CDP)-8 b(A)g(TH)p Fu(,)150 2095 y(whic)m(h)21 b(is)h(describ)s +e Fr($CDP)-8 b(A)g(TH)p Fu(,)150 3099 y(whic)m(h)21 b(is)h(describ)s (ed)e(ab)s(o)m(v)m(e)j(\(see)f(Section)h(4.1)f([Bourne)g(Shell)f (Builtins],)j(page)e(43\),)j(and)c(basic)h(supp)s(ort)150 -2204 y(for)31 b(the)h Ft(cdable_vars)d Fu(shell)i(option)h(\(see)h +3208 y(for)31 b(the)h Ft(cdable_vars)d Fu(shell)i(option)h(\(see)h (Section)f(4.3.2)i([The)d(Shopt)g(Builtin],)i(page)f(65\).)46 -b Ft(_comp_)150 2314 y(cd)30 b Fu(mo)s(di\014es)g(the)h(v)-5 +b Ft(_comp_)150 3318 y(cd)30 b Fu(mo)s(di\014es)g(the)h(v)-5 b(alue)31 b(of)g Fr(IFS)36 b Fu(so)31 b(that)g(it)g(con)m(tains)h(only) f(a)g(newline)g(to)h(accommo)s(date)g(\014le)f(names)150 -2423 y(con)m(taining)i(spaces)g(and)e(tabs)h({)g Ft(compgen)e +3428 y(con)m(taining)i(spaces)g(and)e(tabs)h({)g Ft(compgen)e Fu(prin)m(ts)h(the)h(p)s(ossible)f(completions)i(it)g(generates)g(one)f -(p)s(er)150 2533 y(line.)275 2676 y(P)m(ossible)24 b(completions)h(go)g +(p)s(er)150 3537 y(line.)275 3671 y(P)m(ossible)24 b(completions)h(go)g (in)m(to)g(the)f Fr(COMPREPL)-8 b(Y)36 b Fu(arra)m(y)24 b(v)-5 b(ariable,)26 b(one)e(completion)i(p)s(er)c(arra)m(y)150 -2786 y(elemen)m(t.)42 b(The)30 b(programmable)g(completion)i(system)e +3781 y(elemen)m(t.)42 b(The)30 b(programmable)g(completion)i(system)e (retriev)m(es)h(the)g(completions)g(from)f(there)g(when)150 -2895 y(the)h(function)f(returns.)390 3039 y Ft(#)47 b(A)h(completion)d -(function)g(for)i(the)g(cd)g(builtin)390 3148 y(#)g(based)g(on)g(the)g +3891 y(the)h(function)f(returns.)390 4025 y Ft(#)47 b(A)h(completion)d +(function)g(for)i(the)g(cd)g(builtin)390 4134 y(#)g(based)g(on)g(the)g (cd)g(completion)e(function)h(from)g(the)h(bash_completion)d(package) -390 3258 y(_comp_cd\(\))390 3367 y({)581 3477 y(local)i(IFS=$')g -(\\t\\n')190 b(#)47 b(normalize)f(IFS)581 3587 y(local)g(cur)h -(_skipdot)f(_cdpath)581 3696 y(local)g(i)i(j)f(k)581 -3915 y(#)g(Tilde)g(expansion,)e(with)h(side)h(effect)f(of)h(expanding)f -(tilde)g(to)h(full)g(pathname)581 4025 y(case)g("$2")f(in)581 -4134 y(\\~*\))190 b(eval)46 b(cur="$2")g(;;)581 4244 -y(*\))286 b(cur=$2)46 b(;;)581 4354 y(esac)581 4573 y(#)h(no)h(cdpath)e -(or)h(absolute)e(pathname)h(--)h(straight)f(directory)f(completion)581 -4682 y(if)i([[)g(-z)g("${CDPATH:-}")e(]])i(||)g([[)g("$cur")f(==)h -(@\(./*|../*|/*\))d(]];)j(then)772 4792 y(#)g(compgen)f(prints)g(paths) -h(one)f(per)h(line;)g(could)f(also)h(use)g(while)f(loop)772 -4902 y(IFS=$'\\n')772 5011 y(COMPREPLY=\()f($\(compgen)g(-d)i(--)g -("$cur"\))f(\))772 5121 y(IFS=$')g(\\t\\n')581 5230 y(#)h -(CDPATH+directories)c(in)k(the)g(current)f(directory)f(if)j(not)e(in)i -(CDPATH)581 5340 y(else)p eop end +390 4244 y(_comp_cd\(\))390 4354 y({)581 4463 y(local)i(IFS=$')g +(\\t\\n')190 b(#)47 b(normalize)f(IFS)581 4573 y(local)g(cur)h +(_skipdot)f(_cdpath)581 4682 y(local)g(i)i(j)f(k)581 +4902 y(#)g(Tilde)g(expansion,)e(which)h(also)h(expands)f(tilde)g(to)h +(full)g(pathname)581 5011 y(case)g("$2")f(in)581 5121 +y(\\~*\))190 b(eval)46 b(cur="$2")g(;;)581 5230 y(*\))286 +b(cur=$2)46 b(;;)581 5340 y(esac)p eop end %%Page: 138 144 TeXDict begin 138 143 bop 150 -116 a Fu(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(138)772 299 y Ft(IFS=$'\\n')772 -408 y(_skipdot=false)772 518 y(#)47 b(preprocess)e(CDPATH)h(to)i -(convert)d(null)i(directory)e(names)i(to)g(.)772 628 -y(_cdpath=${CDPATH/#:/.:})772 737 y(_cdpath=${_cdpath//::/:.)o(:})772 -847 y(_cdpath=${_cdpath/\045:/:.})772 956 y(for)g(i)g(in)g -(${_cdpath//:/$'\\n'};)c(do)963 1066 y(if)k([[)g($i)g(-ef)g(.)h(]];)f -(then)f(_skipdot=true;)e(fi)963 1176 y(k="${#COMPREPLY[@]}")963 -1285 y(for)j(j)g(in)g($\()g(compgen)f(-d)h(--)h("$i/$cur")d(\);)i(do) -1154 1395 y(COMPREPLY[k++]=${j#$i/})375 b(#)48 b(cut)f(off)f(directory) -963 1504 y(done)772 1614 y(done)772 1724 y($_skipdot)f(||)i +b(Command)29 b(Line)i(Editing)2062 b(138)581 408 y Ft(#)47 +b(no)h(cdpath)e(or)h(absolute)e(pathname)h(--)h(straight)f(directory)f +(completion)581 518 y(if)i([[)g(-z)g("${CDPATH:-}")e(]])i(||)g([[)g +("$cur")f(==)h(@\(./*|../*|/*\))d(]];)j(then)772 628 +y(#)g(compgen)f(prints)g(paths)h(one)f(per)h(line;)g(could)f(also)h +(use)g(while)f(loop)772 737 y(IFS=$'\\n')772 847 y(COMPREPLY=\()f +($\(compgen)g(-d)i(--)g("$cur"\))f(\))772 956 y(IFS=$')g(\\t\\n')581 +1066 y(#)h(CDPATH+directories)c(in)k(the)g(current)f(directory)f(if)j +(not)e(in)i(CDPATH)581 1176 y(else)772 1285 y(IFS=$'\\n')772 +1395 y(_skipdot=false)772 1504 y(#)f(preprocess)e(CDPATH)h(to)i +(convert)d(null)i(directory)e(names)i(to)g(.)772 1614 +y(_cdpath=${CDPATH/#:/.:})772 1724 y(_cdpath=${_cdpath//::/:.)o(:})772 +1833 y(_cdpath=${_cdpath/\045:/:.})772 1943 y(for)g(i)g(in)g +(${_cdpath//:/$'\\n'};)c(do)963 2052 y(if)k([[)g($i)g(-ef)g(.)h(]];)f +(then)f(_skipdot=true;)e(fi)963 2162 y(k="${#COMPREPLY[@]}")963 +2271 y(for)j(j)g(in)g($\()g(compgen)f(-d)h(--)h("$i/$cur")d(\);)i(do) +1154 2381 y(COMPREPLY[k++]=${j#$i/})375 b(#)48 b(cut)f(off)f(directory) +963 2491 y(done)772 2600 y(done)772 2710 y($_skipdot)f(||)i (COMPREPLY+=\()e($\(compgen)g(-d)i(--)g("$cur"\))f(\))772 -1833 y(IFS=$')g(\\t\\n')581 1943 y(fi)581 2162 y(#)h(variable)f(names)g +2819 y(IFS=$')g(\\t\\n')581 2929 y(fi)581 3148 y(#)h(variable)f(names)g (if)h(appropriate)e(shell)i(option)f(set)h(and)f(no)i(completions)581 -2271 y(if)f(shopt)f(-q)i(cdable_vars)c(&&)k([[)f(${#COMPREPLY[@]})c -(-eq)k(0)g(]];)g(then)772 2381 y(COMPREPLY=\()e($\(compgen)g(-v)i(--)g -("$cur"\))f(\))581 2491 y(fi)581 2710 y(return)g(0)390 -2819 y(})275 2973 y Fu(W)-8 b(e)31 b(install)g(the)g(completion)h +3258 y(if)f(shopt)f(-q)i(cdable_vars)c(&&)k([[)f(${#COMPREPLY[@]})c +(-eq)k(0)g(]];)g(then)772 3367 y(COMPREPLY=\()e($\(compgen)g(-v)i(--)g +("$cur"\))f(\))581 3477 y(fi)581 3696 y(return)g(0)390 +3806 y(})275 3952 y Fu(W)-8 b(e)31 b(install)g(the)g(completion)h (function)e(using)f(the)i Ft(-F)f Fu(option)h(to)g Ft(complete)p -Fu(:)390 3126 y Ft(#)47 b(Tell)g(readline)f(to)h(quote)f(appropriate)f -(and)i(append)f(slashes)g(to)h(directories;)390 3236 +Fu(:)390 4098 y Ft(#)47 b(Tell)g(readline)f(to)h(quote)f(appropriate)f +(and)i(append)f(slashes)g(to)h(directories;)390 4208 y(#)g(use)g(the)g(bash)g(default)f(completion)f(for)i(other)f -(arguments)390 3345 y(complete)g(-o)h(filenames)e(-o)i(nospace)f(-o)h -(bashdefault)e(-F)i(_comp_cd)f(cd)150 3499 y Fu(Since)33 +(arguments)390 4317 y(complete)g(-o)h(filenames)e(-o)i(nospace)f(-o)h +(bashdefault)e(-F)i(_comp_cd)f(cd)150 4463 y Fu(Since)33 b(w)m(e'd)g(lik)m(e)i(Bash)e(and)f(Readline)i(to)g(tak)m(e)g(care)g(of) f(some)h(of)f(the)g(other)h(details)g(for)e(us,)i(w)m(e)f(use)150 -3608 y(sev)m(eral)43 b(other)g(options)f(to)h(tell)g(Bash)f(and)f +4573 y(sev)m(eral)43 b(other)g(options)f(to)h(tell)g(Bash)f(and)f (Readline)i(what)f(to)g(do.)76 b(The)41 b Ft(-o)30 b(filenames)39 -b Fu(option)150 3718 y(tells)j(Readline)g(that)g(the)f(p)s(ossible)g +b Fu(option)150 4682 y(tells)j(Readline)g(that)g(the)f(p)s(ossible)g (completions)h(should)f(b)s(e)f(treated)i(as)g(\014lenames,)i(and)d -(quoted)150 3828 y(appropriately)-8 b(.)53 b(That)34 +(quoted)150 4792 y(appropriately)-8 b(.)53 b(That)34 b(option)h(will)g(also)g(cause)g(Readline)g(to)g(app)s(end)e(a)h(slash) -g(to)h(\014lenames)g(it)g(can)150 3937 y(determine)i(are)g(directories) +g(to)h(\014lenames)g(it)g(can)150 4902 y(determine)i(are)g(directories) h(\(whic)m(h)g(is)f(wh)m(y)f(w)m(e)i(migh)m(t)f(w)m(an)m(t)h(to)g -(extend)f Ft(_comp_cd)e Fu(to)i(app)s(end)f(a)150 4047 +(extend)f Ft(_comp_cd)e Fu(to)i(app)s(end)f(a)150 5011 y(slash)22 b(if)g(w)m(e're)h(using)f(directories)h(found)e(via)i Fr(CDP)-8 b(A)g(TH)10 b Fu(:)37 b(Readline)23 b(can't)g(tell)g(those)g -(completions)h(are)150 4156 y(directories\).)45 b(The)31 +(completions)h(are)150 5121 y(directories\).)45 b(The)31 b Ft(-o)f(nospace)f Fu(option)j(tells)g(Readline)g(to)h(not)e(app)s -(end)f(a)i(space)g(c)m(haracter)h(to)f(the)150 4266 y(directory)c +(end)f(a)i(space)g(c)m(haracter)h(to)f(the)150 5230 y(directory)c (name,)h(in)f(case)h(w)m(e)f(w)m(an)m(t)h(to)f(app)s(end)f(to)h(it.)41 b(The)27 b Ft(-o)j(bashdefault)25 b Fu(option)j(brings)f(in)h(the)150 -4376 y(rest)h(of)f(the)h Ft(")p Fu(Bash)f(default)p Ft(")h +5340 y(rest)h(of)f(the)h Ft(")p Fu(Bash)f(default)p Ft(")h Fu(completions)g({)g(p)s(ossible)f(completion)i(that)f(Bash)f(adds)g -(to)h(the)g(default)150 4485 y(Readline)40 b(set.)68 -b(These)39 b(include)g(things)g(lik)m(e)i(command)e(name)g(completion,) -44 b(v)-5 b(ariable)40 b(completion)150 4595 y(for)i(w)m(ords)g(b)s -(eginning)f(with)h(`)p Ft({)p Fu(',)k(completions)e(con)m(taining)f -(pathname)g(expansion)f(patterns)g(\(see)150 4704 y(Section)31 -b(3.5.8)h([Filename)g(Expansion],)e(page)i(31\),)f(and)f(so)h(on.)275 -4858 y(Once)39 b(installed)i(using)e Ft(complete)p Fu(,)h -Ft(_comp_cd)d Fu(will)j(b)s(e)g(called)g(ev)m(ery)h(time)f(w)m(e)g -(attempt)h(w)m(ord)150 4967 y(completion)32 b(for)e(a)h -Ft(cd)e Fu(command.)275 5121 y(Man)m(y)34 b(more)g(examples)g({)g(an)g -(extensiv)m(e)h(collection)i(of)c(completions)i(for)f(most)g(of)g(the)g -(common)150 5230 y(GNU,)g(Unix,)h(and)d(Lin)m(ux)h(commands)g({)h(are)g -(a)m(v)-5 b(ailable)36 b(as)e(part)f(of)h(the)f(bash)p -2943 5230 28 4 v 39 w(completion)i(pro)5 b(ject.)150 -5340 y(This)33 b(is)h(installed)h(b)m(y)f(default)g(on)g(man)m(y)h -(GNU/Lin)m(ux)f(distributions.)51 b(Originally)35 b(written)f(b)m(y)g -(Ian)p eop end +(to)h(the)g(default)p eop end %%Page: 139 145 TeXDict begin 139 144 bop 150 -116 a Fu(Chapter)30 b(8:)41 -b(Command)29 b(Line)i(Editing)2062 b(139)150 299 y(Macdonald,)44 -b(the)d(pro)5 b(ject)41 b(no)m(w)f(liv)m(es)i(at)f Ft(http:)8 -b(/)g(/)g(bash-completion)g(.)g(alioth)g(.)g(debi)o(an)g(.)g(org)f(/)h -Fu(.)150 408 y(There)30 b(are)h(p)s(orts)e(for)h(other)h(systems)f(suc) -m(h)g(as)h(Solaris)g(and)f(Mac)h(OS)f(X.)275 543 y(An)54 -b(older)h(v)m(ersion)h(of)f(the)g(bash)p 1532 543 28 -4 v 40 w(completion)h(pac)m(k)-5 b(age)57 b(is)e(distributed)f(with)h -(bash)f(in)h(the)150 653 y Ft(examples/complete)26 b -Fu(sub)s(directory)-8 b(.)p eop end +b(Command)29 b(Line)i(Editing)2062 b(139)150 299 y(Readline)40 +b(set.)68 b(These)39 b(include)g(things)g(lik)m(e)i(command)e(name)g +(completion,)44 b(v)-5 b(ariable)40 b(completion)150 +408 y(for)i(w)m(ords)g(b)s(eginning)f(with)h(`)p Ft({)p +Fu(',)k(completions)e(con)m(taining)f(pathname)g(expansion)f(patterns)g +(\(see)150 518 y(Section)31 b(3.5.8)h([Filename)g(Expansion],)e(page)i +(32\),)f(and)f(so)h(on.)275 653 y(Once)39 b(installed)i(using)e +Ft(complete)p Fu(,)h Ft(_comp_cd)d Fu(will)j(b)s(e)g(called)g(ev)m(ery) +h(time)f(w)m(e)g(attempt)h(w)m(ord)150 762 y(completion)32 +b(for)e(a)h Ft(cd)e Fu(command.)275 897 y(Man)m(y)34 +b(more)g(examples)g({)g(an)g(extensiv)m(e)h(collection)i(of)c +(completions)i(for)f(most)g(of)g(the)g(common)150 1006 +y(GNU,)g(Unix,)h(and)d(Lin)m(ux)h(commands)g({)h(are)g(a)m(v)-5 +b(ailable)36 b(as)e(part)f(of)h(the)f(bash)p 2943 1006 +28 4 v 39 w(completion)i(pro)5 b(ject.)150 1116 y(This)33 +b(is)h(installed)h(b)m(y)f(default)g(on)g(man)m(y)h(GNU/Lin)m(ux)f +(distributions.)51 b(Originally)35 b(written)f(b)m(y)g(Ian)150 +1225 y(Macdonald,)44 b(the)d(pro)5 b(ject)41 b(no)m(w)f(liv)m(es)i(at)f +Ft(http:)8 b(/)g(/)g(bash-completion)g(.)g(alioth)g(.)g(debi)o(an)g(.)g +(org)f(/)h Fu(.)150 1335 y(There)30 b(are)h(p)s(orts)e(for)h(other)h +(systems)f(suc)m(h)g(as)h(Solaris)g(and)f(Mac)h(OS)f(X.)275 +1469 y(An)54 b(older)h(v)m(ersion)h(of)f(the)g(bash)p +1532 1469 V 40 w(completion)h(pac)m(k)-5 b(age)57 b(is)e(distributed)f +(with)h(bash)f(in)h(the)150 1579 y Ft(examples/complete)26 +b Fu(sub)s(directory)-8 b(.)p eop end %%Page: 140 146 TeXDict begin 140 145 bop 3614 -116 a Fu(140)150 299 y Fp(9)80 b(Using)53 b(History)g(In)l(teractiv)l(ely)150 @@ -18216,187 +18310,203 @@ m(ts)f(to)h(a)g(previous)f(command)g(in)m(to)i(the)e(curren)m(t)150 3395 y(input)f(line,)i(or)g(\014x)f(errors)f(in)h(previous)g(commands)g (quic)m(kly)-8 b(.)275 3532 y(History)24 b(expansion)f(is)h(p)s (erformed)e(immediately)j(after)f(a)g(complete)h(line)f(is)g(read,)h(b) -s(efore)e(the)h(shell)150 3642 y(breaks)30 b(it)h(in)m(to)h(w)m(ords,)e -(and)g(is)g(p)s(erformed)f(on)i(eac)m(h)g(line)g(individually)f -(without)h(taking)g(quoting)g(on)150 3751 y(previous)f(lines)g(in)m(to) -i(accoun)m(t.)275 3888 y(History)27 b(expansion)f(tak)m(es)i(place)f -(in)f(t)m(w)m(o)i(parts.)39 b(The)26 b(\014rst)g(is)g(to)h(determine)g -(whic)m(h)f(line)h(from)f(the)150 3998 y(history)i(list)g(should)f(b)s -(e)g(used)g(during)g(substitution.)39 b(The)27 b(second)h(is)g(to)h -(select)g(p)s(ortions)e(of)h(that)h(line)150 4107 y(for)d(inclusion)f -(in)m(to)i(the)f(curren)m(t)f(one.)40 b(The)25 b(line)h(selected)h -(from)f(the)g(history)f(is)h(called)h(the)f Fr(ev)m(en)m(t)p -Fu(,)j(and)150 4217 y(the)21 b(p)s(ortions)g(of)g(that)h(line)f(that)h -(are)g(acted)g(up)s(on)e(are)h(called)h Fr(w)m(ords)p -Fu(.)38 b(V)-8 b(arious)21 b Fr(mo)s(di\014ers)j Fu(are)e(a)m(v)-5 -b(ailable)150 4327 y(to)35 b(manipulate)f(the)g(selected)i(w)m(ords.)51 -b(The)33 b(line)h(is)g(brok)m(en)g(in)m(to)h(w)m(ords)e(in)h(the)g -(same)h(fashion)e(that)150 4436 y(Bash)i(do)s(es,)h(so)f(that)h(sev)m -(eral)g(w)m(ords)e(surrounded)f(b)m(y)i(quotes)g(are)g(considered)g -(one)g(w)m(ord.)54 b(History)150 4546 y(expansions)34 -b(are)g(in)m(tro)s(duced)f(b)m(y)h(the)g(app)s(earance)g(of)g(the)g -(history)g(expansion)g(c)m(haracter,)i(whic)m(h)e(is)150 -4655 y(`)p Ft(!)p Fu(')39 b(b)m(y)g(default.)66 b(Only)38 -b(`)p Ft(\\)p Fu(')h(and)f(`)p Ft(')p Fu(')h(ma)m(y)h(b)s(e)e(used)g -(to)h(escap)s(e)h(the)f(history)f(expansion)h(c)m(haracter,)150 -4765 y(but)27 b(the)i(history)f(expansion)g(c)m(haracter)i(is)e(also)h -(treated)g(as)g(quoted)f(if)g(it)h(immediately)h(precedes)e(the)150 -4874 y(closing)j(double)f(quote)h(in)f(a)h(double-quoted)g(string.)275 -5011 y(Sev)m(eral)48 b(shell)g(options)h(settable)g(with)e(the)h -Ft(shopt)f Fu(builtin)g(\(see)i(Section)f(4.3.2)i([The)e(Shopt)150 -5121 y(Builtin],)24 b(page)e(65\))h(ma)m(y)e(b)s(e)g(used)g(to)h -(tailor)g(the)g(b)s(eha)m(vior)f(of)h(history)f(expansion.)37 -b(If)21 b(the)h Ft(histverify)150 5230 y Fu(shell)35 -b(option)f(is)h(enabled,)g(and)f(Readline)h(is)f(b)s(eing)g(used,)h -(history)g(substitutions)e(are)i(not)g(immedi-)150 5340 -y(ately)i(passed)d(to)i(the)g(shell)f(parser.)55 b(Instead,)37 -b(the)e(expanded)g(line)g(is)h(reloaded)g(in)m(to)g(the)f(Readline)p -eop end +s(efore)e(the)h(shell)150 3642 y(breaks)32 b(it)i(in)m(to)f(w)m(ords,)g +(and)f(is)h(p)s(erformed)e(on)h(eac)m(h)i(line)f(individually)-8 +b(.)48 b(Bash)33 b(attempts)g(to)h(inform)150 3751 y(the)d(history)f +(expansion)g(functions)g(ab)s(out)g(quoting)h(still)g(in)f(e\013ect)i +(from)e(previous)g(lines.)275 3888 y(History)37 b(expansion)f(tak)m(es) +i(place)g(in)e(t)m(w)m(o)i(parts.)59 b(The)36 b(\014rst)g(is)h(to)g +(determine)g(whic)m(h)f(line)h(from)150 3998 y(the)42 +b(history)f(list)h(should)e(b)s(e)h(used)f(during)g(substitution.)74 +b(The)40 b(second)i(is)f(to)h(select)h(p)s(ortions)e(of)150 +4107 y(that)31 b(line)g(for)f(inclusion)h(in)m(to)g(the)g(curren)m(t)f +(one.)42 b(The)30 b(line)h(selected)h(from)e(the)h(history)f(is)h +(called)h(the)150 4217 y Fr(ev)m(en)m(t)p Fu(,)e(and)c(the)i(p)s +(ortions)e(of)i(that)f(line)h(that)g(are)f(acted)i(up)s(on)c(are)j +(called)g Fr(w)m(ords)p Fu(.)39 b(V)-8 b(arious)28 b +Fr(mo)s(di\014ers)150 4327 y Fu(are)33 b(a)m(v)-5 b(ailable)36 +b(to)d(manipulate)h(the)f(selected)h(w)m(ords.)48 b(The)32 +b(line)i(is)f(brok)m(en)f(in)m(to)i(w)m(ords)f(in)f(the)i(same)150 +4436 y(fashion)23 b(that)g(Bash)g(do)s(es,)h(so)f(that)h(sev)m(eral)g +(w)m(ords)e(surrounded)e(b)m(y)j(quotes)g(are)g(considered)g(one)g(w)m +(ord.)150 4546 y(History)37 b(expansions)g(are)g(in)m(tro)s(duced)f(b)m +(y)h(the)g(app)s(earance)g(of)g(the)g(history)f(expansion)h(c)m +(haracter,)150 4655 y(whic)m(h)30 b(is)h(`)p Ft(!)p Fu(')f(b)m(y)g +(default.)275 4792 y(History)c(expansion)g(implemen)m(ts)h(shell-lik)m +(e)h(quoting)f(con)m(v)m(en)m(tions:)40 b(a)27 b(bac)m(kslash)g(can)f +(b)s(e)g(used)f(to)150 4902 y(remo)m(v)m(e)h(the)e(sp)s(ecial)g +(handling)g(for)g(the)g(next)g(c)m(haracter;)k(single)d(quotes)g +(enclose)g(v)m(erbatim)g(sequences)150 5011 y(of)k(c)m(haracters,)i +(and)e(can)g(b)s(e)g(used)f(to)i(inhibit)f(history)g(expansion;)g(and)g +(c)m(haracters)i(enclosed)e(within)150 5121 y(double)h(quotes)i(ma)m(y) +f(b)s(e)f(sub)5 b(ject)31 b(to)h(history)f(expansion,)g(since)g(bac)m +(kslash)g(can)h(escap)s(e)f(the)g(history)150 5230 y(expansion)e(c)m +(haracter,)j(but)d(single)h(quotes)g(ma)m(y)h(not,)f(since)g(they)g +(are)g(not)f(treated)i(sp)s(ecially)f(within)150 5340 +y(double)g(quotes.)p eop end %%Page: 143 149 TeXDict begin 143 148 bop 150 -116 a Fu(Chapter)30 b(9:)41 -b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(143)150 -299 y(editing)29 b(bu\013er)f(for)h(further)e(mo)s(di\014cation.)41 -b(If)28 b(Readline)h(is)g(b)s(eing)f(used,)h(and)f(the)h -Ft(histreedit)d Fu(shell)150 408 y(option)e(is)g(enabled,)h(a)g(failed) -f(history)g(expansion)g(will)g(b)s(e)f(reloaded)h(in)m(to)h(the)f -(Readline)g(editing)h(bu\013er)150 518 y(for)31 b(correction.)43 +b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(143)275 +299 y(When)41 b(using)g(the)h(shell,)i(only)e(`)p Ft(\\)p +Fu(')g(and)e(`)p Ft(')p Fu(')i(ma)m(y)g(b)s(e)f(used)g(to)h(escap)s(e)g +(the)g(history)f(expansion)150 408 y(c)m(haracter,)e(but)34 +b(the)i(history)g(expansion)f(c)m(haracter)i(is)f(also)g(treated)h(as)e +(quoted)h(if)g(it)g(immediately)150 518 y(precedes)30 +b(the)h(closing)g(double)f(quote)h(in)f(a)h(double-quoted)g(string.)275 +658 y(Sev)m(eral)48 b(shell)g(options)h(settable)g(with)e(the)h +Ft(shopt)f Fu(builtin)g(\(see)i(Section)f(4.3.2)i([The)e(Shopt)150 +767 y(Builtin],)24 b(page)e(65\))h(ma)m(y)e(b)s(e)g(used)g(to)h(tailor) +g(the)g(b)s(eha)m(vior)f(of)h(history)f(expansion.)37 +b(If)21 b(the)h Ft(histverify)150 877 y Fu(shell)35 b(option)f(is)h +(enabled,)g(and)f(Readline)h(is)f(b)s(eing)g(used,)h(history)g +(substitutions)e(are)i(not)g(immedi-)150 987 y(ately)i(passed)d(to)i +(the)g(shell)f(parser.)55 b(Instead,)37 b(the)e(expanded)g(line)g(is)h +(reloaded)g(in)m(to)g(the)f(Readline)150 1096 y(editing)29 +b(bu\013er)f(for)h(further)e(mo)s(di\014cation.)41 b(If)28 +b(Readline)h(is)g(b)s(eing)f(used,)h(and)f(the)h Ft(histreedit)d +Fu(shell)150 1206 y(option)e(is)g(enabled,)h(a)g(failed)f(history)g +(expansion)g(will)g(b)s(e)f(reloaded)h(in)m(to)h(the)f(Readline)g +(editing)h(bu\013er)150 1315 y(for)31 b(correction.)43 b(The)30 b Ft(-p)g Fu(option)h(to)h(the)f Ft(history)e Fu(builtin)h(command)h(ma)m(y)g(b)s(e)f(used)g(to)i(see)f(what)g(a)150 -628 y(history)25 b(expansion)g(will)g(do)g(b)s(efore)g(using)f(it.)40 +1425 y(history)25 b(expansion)g(will)g(do)g(b)s(efore)g(using)f(it.)40 b(The)24 b Ft(-s)h Fu(option)g(to)h(the)f Ft(history)e -Fu(builtin)i(ma)m(y)g(b)s(e)g(used)150 737 y(to)36 b(add)f(commands)g +Fu(builtin)i(ma)m(y)g(b)s(e)g(used)150 1534 y(to)36 b(add)f(commands)g (to)h(the)g(end)f(of)g(the)h(history)f(list)i(without)e(actually)i -(executing)g(them,)g(so)e(that)150 847 y(they)c(are)f(a)m(v)-5 +(executing)g(them,)g(so)e(that)150 1644 y(they)c(are)f(a)m(v)-5 b(ailable)33 b(for)d(subsequen)m(t)g(recall.)42 b(This)29 b(is)i(most)g(useful)e(in)h(conjunction)h(with)f(Readline.)275 -980 y(The)j(shell)h(allo)m(ws)h(con)m(trol)h(of)e(the)g(v)-5 +1784 y(The)j(shell)h(allo)m(ws)h(con)m(trol)h(of)e(the)g(v)-5 b(arious)34 b(c)m(haracters)h(used)f(b)m(y)f(the)h(history)g(expansion) -g(mec)m(h-)150 1090 y(anism)h(with)g(the)g Ft(histchars)d +g(mec)m(h-)150 1893 y(anism)h(with)g(the)g Ft(histchars)d Fu(v)-5 b(ariable,)38 b(as)d(explained)g(ab)s(o)m(v)m(e)i(\(see)f -(Section)f(5.2)i([Bash)e(V)-8 b(ariables],)150 1199 y(page)32 +(Section)f(5.2)i([Bash)e(V)-8 b(ariables],)150 2003 y(page)32 b(72\).)44 b(The)31 b(shell)g(uses)g(the)g(history)g(commen)m(t)i(c)m (haracter)f(to)g(mark)f(history)g(timestamps)h(when)150 -1309 y(writing)e(the)h(history)f(\014le.)150 1505 y Fk(9.3.1)63 -b(Ev)m(en)m(t)39 b(Designators)150 1652 y Fu(An)32 b(ev)m(en)m(t)j +2112 y(writing)e(the)h(history)f(\014le.)150 2317 y Fk(9.3.1)63 +b(Ev)m(en)m(t)39 b(Designators)150 2464 y Fu(An)32 b(ev)m(en)m(t)j (designator)e(is)g(a)g(reference)g(to)h(a)f(command)f(line)h(en)m(try)g (in)g(the)g(history)g(list.)48 b(Unless)33 b(the)150 -1762 y(reference)e(is)f(absolute,)i(ev)m(en)m(ts)f(are)g(relativ)m(e)i +2573 y(reference)e(is)f(absolute,)i(ev)m(en)m(ts)f(are)g(relativ)m(e)i (to)e(the)f(curren)m(t)g(p)s(osition)h(in)f(the)h(history)f(list.)150 -1919 y Ft(!)432 b Fu(Start)34 b(a)f(history)h(substitution,)g(except)g +2741 y Ft(!)432 b Fu(Start)34 b(a)f(history)h(substitution,)g(except)g (when)f(follo)m(w)m(ed)i(b)m(y)e(a)h(space,)h(tab,)f(the)g(end)f(of)630 -2028 y(the)i(line,)g(`)p Ft(=)p Fu(')g(or)f(`)p Ft(\()p +2850 y(the)i(line,)g(`)p Ft(=)p Fu(')g(or)f(`)p Ft(\()p Fu(')h(\(when)e(the)i Ft(extglob)d Fu(shell)j(option)f(is)h(enabled)f -(using)g(the)g Ft(shopt)630 2138 y Fu(builtin\).)150 -2294 y Ft(!)p Fj(n)384 b Fu(Refer)30 b(to)i(command)e(line)g -Fr(n)p Fu(.)150 2451 y Ft(!-)p Fj(n)336 b Fu(Refer)30 +(using)g(the)g Ft(shopt)630 2960 y Fu(builtin\).)150 +3124 y Ft(!)p Fj(n)384 b Fu(Refer)30 b(to)i(command)e(line)g +Fr(n)p Fu(.)150 3289 y Ft(!-)p Fj(n)336 b Fu(Refer)30 b(to)i(the)e(command)g Fr(n)g Fu(lines)h(bac)m(k.)150 -2608 y Ft(!!)384 b Fu(Refer)30 b(to)i(the)e(previous)g(command.)40 +3454 y Ft(!!)384 b Fu(Refer)30 b(to)i(the)e(previous)g(command.)40 b(This)30 b(is)g(a)h(synon)m(ym)f(for)g(`)p Ft(!-1)p -Fu('.)150 2765 y Ft(!)p Fj(string)144 b Fu(Refer)25 b(to)h(the)f(most)h +Fu('.)150 3618 y Ft(!)p Fj(string)144 b Fu(Refer)25 b(to)h(the)f(most)h (recen)m(t)g(command)f(preceding)g(the)g(curren)m(t)g(p)s(osition)g(in) -g(the)g(history)630 2874 y(list)31 b(starting)g(with)f -Fr(string)p Fu(.)150 3031 y Ft(!?)p Fj(string)p Ft([?])630 -3141 y Fu(Refer)25 b(to)h(the)f(most)h(recen)m(t)g(command)f(preceding) +g(the)g(history)630 3728 y(list)31 b(starting)g(with)f +Fr(string)p Fu(.)150 3892 y Ft(!?)p Fj(string)p Ft([?])630 +4002 y Fu(Refer)25 b(to)h(the)f(most)h(recen)m(t)g(command)f(preceding) g(the)g(curren)m(t)g(p)s(osition)g(in)g(the)g(history)630 -3250 y(list)32 b(con)m(taining)i Fr(string)p Fu(.)45 +4111 y(list)32 b(con)m(taining)i Fr(string)p Fu(.)45 b(The)31 b(trailing)i(`)p Ft(?)p Fu(')f(ma)m(y)g(b)s(e)f(omitted)i(if)f -(the)g Fr(string)39 b Fu(is)32 b(follo)m(w)m(ed)630 3360 -y(immediately)g(b)m(y)e(a)h(newline.)150 3516 y Ft(^)p -Fj(string1)p Ft(^)p Fj(string2)p Ft(^)630 3626 y Fu(Quic)m(k)h +(the)g Fr(string)39 b Fu(is)32 b(follo)m(w)m(ed)630 4221 +y(immediately)g(b)m(y)e(a)h(newline.)150 4386 y Ft(^)p +Fj(string1)p Ft(^)p Fj(string2)p Ft(^)630 4495 y Fu(Quic)m(k)h (Substitution.)44 b(Rep)s(eat)32 b(the)g(last)h(command,)f(replacing)g -Fr(string1)40 b Fu(with)31 b Fr(string2)p Fu(.)630 3736 +Fr(string1)40 b Fu(with)31 b Fr(string2)p Fu(.)630 4605 y(Equiv)-5 b(alen)m(t)31 b(to)g Ft(!!:s/)p Fj(string1)p -Ft(/)p Fj(string2)p Ft(/)p Fu(.)150 3892 y Ft(!#)384 +Ft(/)p Fj(string2)p Ft(/)p Fu(.)150 4769 y Ft(!#)384 b Fu(The)30 b(en)m(tire)h(command)f(line)h(t)m(yp)s(ed)f(so)h(far.)150 -4089 y Fk(9.3.2)63 b(W)-10 b(ord)41 b(Designators)150 -4236 y Fu(W)-8 b(ord)27 b(designators)h(are)g(used)e(to)i(select)h +4974 y Fk(9.3.2)63 b(W)-10 b(ord)41 b(Designators)150 +5121 y Fu(W)-8 b(ord)27 b(designators)h(are)g(used)e(to)i(select)h (desired)d(w)m(ords)h(from)f(the)i(ev)m(en)m(t.)41 b(A)27 b(`)p Ft(:)p Fu(')g(separates)h(the)f(ev)m(en)m(t)150 -4345 y(sp)s(eci\014cation)38 b(from)e(the)h(w)m(ord)f(designator.)61 +5230 y(sp)s(eci\014cation)38 b(from)e(the)h(w)m(ord)f(designator.)61 b(It)37 b(ma)m(y)h(b)s(e)e(omitted)i(if)e(the)h(w)m(ord)g(designator)g -(b)s(egins)150 4455 y(with)30 b(a)g(`)p Ft(^)p Fu(',)g(`)p +(b)s(egins)150 5340 y(with)30 b(a)g(`)p Ft(^)p Fu(',)g(`)p Ft($)p Fu(',)g(`)p Ft(*)p Fu(',)h(`)p Ft(-)p Fu(',)f(or)g(`)p Ft(\045)p Fu('.)41 b(W)-8 b(ords)30 b(are)g(n)m(um)m(b)s(ered)e(from)i -(the)g(b)s(eginning)f(of)h(the)g(line,)g(with)g(the)150 -4565 y(\014rst)f(w)m(ord)f(b)s(eing)h(denoted)h(b)m(y)f(0)h(\(zero\).) -41 b(W)-8 b(ords)30 b(are)g(inserted)f(in)m(to)h(the)g(curren)m(t)f -(line)g(separated)h(b)m(y)150 4674 y(single)h(spaces.)275 -4807 y(F)-8 b(or)31 b(example,)150 4964 y Ft(!!)384 b -Fu(designates)37 b(the)f(preceding)g(command.)57 b(When)35 -b(y)m(ou)i(t)m(yp)s(e)f(this,)h(the)f(preceding)g(com-)630 -5074 y(mand)30 b(is)g(rep)s(eated)g(in)g(toto.)150 5230 -y Ft(!!:$)288 b Fu(designates)23 b(the)g(last)g(argumen)m(t)g(of)f(the) -h(preceding)f(command.)38 b(This)22 b(ma)m(y)h(b)s(e)e(shortened)630 -5340 y(to)31 b Ft(!$)p Fu(.)p eop end +(the)g(b)s(eginning)f(of)h(the)g(line,)g(with)g(the)p +eop end %%Page: 144 150 TeXDict begin 144 149 bop 150 -116 a Fu(Chapter)30 b(9:)41 b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(144)150 -299 y Ft(!fi:2)240 b Fu(designates)30 b(the)g(second)f(argumen)m(t)h -(of)f(the)h(most)f(recen)m(t)i(command)e(starting)h(with)f(the)630 -408 y(letters)j Ft(fi)p Fu(.)275 556 y(Here)e(are)h(the)g(w)m(ord)f -(designators:)150 704 y Ft(0)g(\(zero\))114 b Fu(The)30 -b Ft(0)p Fu(th)g(w)m(ord.)40 b(F)-8 b(or)31 b(man)m(y)g(applications,)h -(this)e(is)g(the)h(command)f(w)m(ord.)150 851 y Fj(n)432 -b Fu(The)30 b Fr(n)p Fu(th)g(w)m(ord.)150 999 y Ft(^)432 -b Fu(The)30 b(\014rst)f(argumen)m(t;)j(that)f(is,)f(w)m(ord)g(1.)150 -1146 y Ft($)432 b Fu(The)30 b(last)h(argumen)m(t.)150 -1294 y Ft(\045)432 b Fu(The)30 b(w)m(ord)g(matc)m(hed)h(b)m(y)f(the)h +299 y(\014rst)29 b(w)m(ord)f(b)s(eing)h(denoted)h(b)m(y)f(0)h +(\(zero\).)41 b(W)-8 b(ords)30 b(are)g(inserted)f(in)m(to)h(the)g +(curren)m(t)f(line)g(separated)h(b)m(y)150 408 y(single)h(spaces.)275 +552 y(F)-8 b(or)31 b(example,)150 725 y Ft(!!)384 b Fu(designates)37 +b(the)f(preceding)g(command.)57 b(When)35 b(y)m(ou)i(t)m(yp)s(e)f +(this,)h(the)f(preceding)g(com-)630 834 y(mand)30 b(is)g(rep)s(eated)g +(in)g(toto.)150 1002 y Ft(!!:$)288 b Fu(designates)23 +b(the)g(last)g(argumen)m(t)g(of)f(the)h(preceding)f(command.)38 +b(This)22 b(ma)m(y)h(b)s(e)e(shortened)630 1112 y(to)31 +b Ft(!$)p Fu(.)150 1280 y Ft(!fi:2)240 b Fu(designates)30 +b(the)g(second)f(argumen)m(t)h(of)f(the)h(most)f(recen)m(t)i(command)e +(starting)h(with)f(the)630 1390 y(letters)j Ft(fi)p Fu(.)275 +1563 y(Here)e(are)h(the)g(w)m(ord)f(designators:)150 +1735 y Ft(0)g(\(zero\))114 b Fu(The)30 b Ft(0)p Fu(th)g(w)m(ord.)40 +b(F)-8 b(or)31 b(man)m(y)g(applications,)h(this)e(is)g(the)h(command)f +(w)m(ord.)150 1904 y Fj(n)432 b Fu(The)30 b Fr(n)p Fu(th)g(w)m(ord.)150 +2072 y Ft(^)432 b Fu(The)30 b(\014rst)f(argumen)m(t;)j(that)f(is,)f(w)m +(ord)g(1.)150 2240 y Ft($)432 b Fu(The)30 b(last)h(argumen)m(t.)150 +2409 y Ft(\045)432 b Fu(The)30 b(w)m(ord)g(matc)m(hed)h(b)m(y)f(the)h (most)g(recen)m(t)g(`)p Ft(?)p Fj(string)p Ft(?)p Fu(')e(searc)m(h.)150 -1441 y Fj(x)p Ft(-)p Fj(y)336 b Fu(A)30 b(range)h(of)g(w)m(ords;)f(`)p +2577 y Fj(x)p Ft(-)p Fj(y)336 b Fu(A)30 b(range)h(of)g(w)m(ords;)f(`)p Ft(-)p Fj(y)p Fu(')g(abbreviates)h(`)p Ft(0-)p Fj(y)p -Fu('.)150 1589 y Ft(*)432 b Fu(All)28 b(of)g(the)g(w)m(ords,)g(except)h +Fu('.)150 2745 y Ft(*)432 b Fu(All)28 b(of)g(the)g(w)m(ords,)g(except)h (the)e Ft(0)p Fu(th.)40 b(This)27 b(is)g(a)h(synon)m(ym)f(for)h(`)p Ft(1-$)p Fu('.)39 b(It)28 b(is)g(not)g(an)f(error)630 -1698 y(to)j(use)g(`)p Ft(*)p Fu(')f(if)h(there)g(is)g(just)f(one)h(w)m +2855 y(to)j(use)g(`)p Ft(*)p Fu(')f(if)h(there)g(is)g(just)f(one)h(w)m (ord)f(in)g(the)h(ev)m(en)m(t;)i(the)d(empt)m(y)i(string)e(is)h -(returned)e(in)630 1808 y(that)j(case.)150 1955 y Fj(x)p +(returned)e(in)630 2964 y(that)j(case.)150 3133 y Fj(x)p Ft(*)384 b Fu(Abbreviates)31 b(`)p Fj(x)p Ft(-$)p Fu(')150 -2103 y Fj(x)p Ft(-)384 b Fu(Abbreviates)31 b(`)p Fj(x)p +3301 y Fj(x)p Ft(-)384 b Fu(Abbreviates)31 b(`)p Fj(x)p Ft(-$)p Fu(')f(lik)m(e)h(`)p Fj(x)p Ft(*)p Fu(',)g(but)f(omits)h(the)f -(last)h(w)m(ord.)275 2250 y(If)i(a)h(w)m(ord)g(designator)g(is)g +(last)h(w)m(ord.)275 3474 y(If)i(a)h(w)m(ord)g(designator)g(is)g (supplied)f(without)h(an)g(ev)m(en)m(t)h(sp)s(eci\014cation,)h(the)e -(previous)f(command)150 2360 y(is)d(used)g(as)h(the)f(ev)m(en)m(t.)150 -2547 y Fk(9.3.3)63 b(Mo)s(di\014ers)150 2694 y Fu(After)29 +(previous)f(command)150 3583 y(is)d(used)g(as)h(the)f(ev)m(en)m(t.)150 +3791 y Fk(9.3.3)63 b(Mo)s(di\014ers)150 3938 y Fu(After)29 b(the)g(optional)g(w)m(ord)g(designator,)g(y)m(ou)g(can)g(add)f(a)h (sequence)g(of)g(one)g(or)f(more)h(of)g(the)f(follo)m(wing)150 -2804 y(mo)s(di\014ers,)h(eac)m(h)j(preceded)e(b)m(y)g(a)h(`)p -Ft(:)p Fu('.)150 2951 y Ft(h)432 b Fu(Remo)m(v)m(e)32 +4048 y(mo)s(di\014ers,)h(eac)m(h)j(preceded)e(b)m(y)g(a)h(`)p +Ft(:)p Fu('.)150 4221 y Ft(h)432 b Fu(Remo)m(v)m(e)32 b(a)f(trailing)g(pathname)g(comp)s(onen)m(t,)g(lea)m(ving)h(only)e(the) -h(head.)150 3099 y Ft(t)432 b Fu(Remo)m(v)m(e)32 b(all)f(leading)h +h(head.)150 4389 y Ft(t)432 b Fu(Remo)m(v)m(e)32 b(all)f(leading)h (pathname)e(comp)s(onen)m(ts,)h(lea)m(ving)h(the)e(tail.)150 -3246 y Ft(r)432 b Fu(Remo)m(v)m(e)32 b(a)f(trailing)g(su\016x)f(of)g +4557 y Ft(r)432 b Fu(Remo)m(v)m(e)32 b(a)f(trailing)g(su\016x)f(of)g (the)h(form)f(`)p Ft(.)p Fj(suffix)p Fu(',)f(lea)m(ving)j(the)f -(basename.)150 3394 y Ft(e)432 b Fu(Remo)m(v)m(e)32 b(all)f(but)f(the)h -(trailing)g(su\016x.)150 3541 y Ft(p)432 b Fu(Prin)m(t)30 +(basename.)150 4726 y Ft(e)432 b Fu(Remo)m(v)m(e)32 b(all)f(but)f(the)h +(trailing)g(su\016x.)150 4894 y Ft(p)432 b Fu(Prin)m(t)30 b(the)h(new)f(command)g(but)g(do)g(not)g(execute)i(it.)150 -3689 y Ft(q)432 b Fu(Quote)31 b(the)f(substituted)g(w)m(ords,)g -(escaping)h(further)e(substitutions.)150 3837 y Ft(x)432 +5062 y Ft(q)432 b Fu(Quote)31 b(the)f(substituted)g(w)m(ords,)g +(escaping)h(further)e(substitutions.)150 5230 y Ft(x)432 b Fu(Quote)32 b(the)f(substituted)g(w)m(ords)f(as)i(with)f(`)p Ft(q)p Fu(',)h(but)e(break)h(in)m(to)i(w)m(ords)d(at)i(spaces,)h(tabs,) -630 3946 y(and)d(newlines.)150 4094 y Ft(s/)p Fj(old)p -Ft(/)p Fj(new)p Ft(/)630 4203 y Fu(Substitute)i Fr(new)40 -b Fu(for)32 b(the)h(\014rst)f(o)s(ccurrence)h(of)f Fr(old)37 -b Fu(in)32 b(the)h(ev)m(en)m(t)h(line.)48 b(An)m(y)32 -b(delimiter)630 4313 y(ma)m(y)25 b(b)s(e)g(used)f(in)g(place)i(of)f(`)p -Ft(/)p Fu('.)39 b(The)24 b(delimiter)h(ma)m(y)h(b)s(e)e(quoted)h(in)f -Fr(old)29 b Fu(and)24 b Fr(new)32 b Fu(with)25 b(a)630 -4422 y(single)k(bac)m(kslash.)40 b(If)28 b(`)p Ft(&)p -Fu(')g(app)s(ears)g(in)f Fr(new)p Fu(,)i(it)f(is)h(replaced)f(b)m(y)g -Fr(old)p Fu(.)40 b(A)28 b(single)h(bac)m(kslash)630 4532 -y(will)35 b(quote)g(the)g(`)p Ft(&)p Fu('.)54 b(The)34 -b(\014nal)g(delimiter)i(is)e(optional)i(if)f(it)g(is)f(the)h(last)h(c)m -(haracter)g(on)630 4642 y(the)31 b(input)e(line.)150 -4789 y Ft(&)432 b Fu(Rep)s(eat)31 b(the)f(previous)g(substitution.)150 -4937 y Ft(g)150 5046 y(a)432 b Fu(Cause)38 b(c)m(hanges)i(to)f(b)s(e)f -(applied)h(o)m(v)m(er)h(the)f(en)m(tire)g(ev)m(en)m(t)h(line.)66 -b(Used)39 b(in)f(conjunction)630 5156 y(with)30 b(`)p -Ft(s)p Fu(',)h(as)f(in)h Ft(gs/)p Fj(old)p Ft(/)p Fj(new)p -Ft(/)p Fu(,)c(or)j(with)h(`)p Ft(&)p Fu('.)150 5303 y -Ft(G)432 b Fu(Apply)30 b(the)g(follo)m(wing)i(`)p Ft(s)p -Fu(')f(mo)s(di\014er)e(once)i(to)g(eac)m(h)h(w)m(ord)e(in)g(the)g(ev)m -(en)m(t.)p eop end +630 5340 y(and)d(newlines.)p eop end %%Page: 145 151 -TeXDict begin 145 150 bop 3614 -116 a Fu(145)150 299 +TeXDict begin 145 150 bop 150 -116 a Fu(Chapter)30 b(9:)41 +b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(145)150 +299 y Ft(s/)p Fj(old)p Ft(/)p Fj(new)p Ft(/)630 408 y +Fu(Substitute)32 b Fr(new)40 b Fu(for)32 b(the)h(\014rst)f(o)s +(ccurrence)h(of)f Fr(old)37 b Fu(in)32 b(the)h(ev)m(en)m(t)h(line.)48 +b(An)m(y)32 b(delimiter)630 518 y(ma)m(y)25 b(b)s(e)g(used)f(in)g +(place)i(of)f(`)p Ft(/)p Fu('.)39 b(The)24 b(delimiter)h(ma)m(y)h(b)s +(e)e(quoted)h(in)f Fr(old)29 b Fu(and)24 b Fr(new)32 +b Fu(with)25 b(a)630 628 y(single)k(bac)m(kslash.)40 +b(If)28 b(`)p Ft(&)p Fu(')g(app)s(ears)g(in)f Fr(new)p +Fu(,)i(it)f(is)h(replaced)f(b)m(y)g Fr(old)p Fu(.)40 +b(A)28 b(single)h(bac)m(kslash)630 737 y(will)35 b(quote)g(the)g(`)p +Ft(&)p Fu('.)54 b(The)34 b(\014nal)g(delimiter)i(is)e(optional)i(if)f +(it)g(is)f(the)h(last)h(c)m(haracter)g(on)630 847 y(the)31 +b(input)e(line.)150 1006 y Ft(&)432 b Fu(Rep)s(eat)31 +b(the)f(previous)g(substitution.)150 1166 y Ft(g)150 +1275 y(a)432 b Fu(Cause)38 b(c)m(hanges)i(to)f(b)s(e)f(applied)h(o)m(v) +m(er)h(the)f(en)m(tire)g(ev)m(en)m(t)h(line.)66 b(Used)39 +b(in)f(conjunction)630 1385 y(with)30 b(`)p Ft(s)p Fu(',)h(as)f(in)h +Ft(gs/)p Fj(old)p Ft(/)p Fj(new)p Ft(/)p Fu(,)c(or)j(with)h(`)p +Ft(&)p Fu('.)150 1544 y Ft(G)432 b Fu(Apply)30 b(the)g(follo)m(wing)i +(`)p Ft(s)p Fu(')f(mo)s(di\014er)e(once)i(to)g(eac)m(h)h(w)m(ord)e(in)g +(the)g(ev)m(en)m(t.)p eop end +%%Page: 146 152 +TeXDict begin 146 151 bop 3614 -116 a Fu(146)150 299 y Fp(10)80 b(Installing)52 b(Bash)150 534 y Fu(This)31 b(c)m(hapter)h(pro)m(vides)g(basic)g(instructions)f(for)g(installing)i (Bash)f(on)f(the)h(v)-5 b(arious)31 b(supp)s(orted)f(plat-)150 @@ -18466,12 +18576,12 @@ o Fu(:)390 4767 y Ft(mkdir)46 b(/usr/local/build/bash-4.4)390 4877 y(cd)h(/usr/local/build/bash-4.4)390 4986 y(bash)g (/usr/local/src/bash-4.4)o(/con)o(fig)o(ure)390 5096 y(make)275 5230 y Fu(See)27 b(Section)h(10.3)g([Compiling)g(F)-8 -b(or)27 b(Multiple)h(Arc)m(hitectures],)i(page)d(146,)j(for)c(more)i +b(or)27 b(Multiple)h(Arc)m(hitectures],)i(page)d(147,)j(for)c(more)i (information)150 5340 y(ab)s(out)i(building)g(in)g(a)g(directory)h (separate)h(from)e(the)g(source.)p eop end -%%Page: 146 152 -TeXDict begin 146 151 bop 150 -116 a Fu(Chapter)30 b(10:)41 -b(Installing)31 b(Bash)2356 b(146)275 299 y(If)53 b(y)m(ou)h(need)f(to) +%%Page: 147 153 +TeXDict begin 147 152 bop 150 -116 a Fu(Chapter)30 b(10:)41 +b(Installing)31 b(Bash)2356 b(147)275 299 y(If)53 b(y)m(ou)h(need)f(to) i(do)e(un)m(usual)g(things)g(to)i(compile)g(Bash,)k(please)c(try)e(to)i (\014gure)e(out)h(ho)m(w)150 408 y Ft(configure)47 b Fu(could)j(c)m(hec)m(k)h(whether)e(or)g(not)h(to)h(do)e(them,)55 @@ -18520,7 +18630,7 @@ Ft(make)p Fu(.)55 b Ft(cd)35 b Fu(to)i(the)e(directory)h(where)150 3274 y(y)m(ou)k(w)m(an)m(t)h(the)g(ob)5 b(ject)41 b(\014les)f(and)f (executables)j(to)e(go)h(and)f(run)e(the)j Ft(configure)c Fu(script)j(from)g(the)150 3383 y(source)32 b(directory)h(\(see)g -(Section)f(10.1)i([Basic)f(Installation],)i(page)e(145\).)47 +(Section)f(10.1)i([Basic)f(Installation],)i(page)e(146\).)47 b(Y)-8 b(ou)32 b(ma)m(y)h(need)f(to)g(supply)150 3493 y(the)43 b Ft(--srcdir=PATH)c Fu(argumen)m(t)k(to)h(tell)g Ft(configure)c Fu(where)i(the)h(source)g(\014les)g(are.)78 @@ -18555,9 +18665,9 @@ Ft(/usr/local/man)p Fu(,)f(etc.)61 b(Y)-8 b(ou)150 5340 y(can)35 b(sp)s(ecify)f(an)h(installation)i(pre\014x)c(other)j(than)e Ft(/usr/local)e Fu(b)m(y)j(giving)g Ft(configure)e Fu(the)h(option)p eop end -%%Page: 147 153 -TeXDict begin 147 152 bop 150 -116 a Fu(Chapter)30 b(10:)41 -b(Installing)31 b(Bash)2356 b(147)150 299 y Ft(--prefix=)p +%%Page: 148 154 +TeXDict begin 148 153 bop 150 -116 a Fu(Chapter)30 b(10:)41 +b(Installing)31 b(Bash)2356 b(148)150 299 y Ft(--prefix=)p Fj(PATH)p Fu(,)41 b(or)g(b)m(y)g(sp)s(ecifying)h(a)f(v)-5 b(alue)42 b(for)f(the)h Ft(DESTDIR)d Fu(`)p Ft(make)p Fu(')i(v)-5 b(ariable)42 b(when)f(running)150 408 y(`)p @@ -18624,9 +18734,9 @@ Fu(also)k(accepts)g(some)g(other,)h(not)e(widely)g(used,)h(b)s (oilerplate)g(options.)61 b(`)p Ft(configure)150 5340 y(--help)p Fu(')29 b(prin)m(ts)h(the)g(complete)i(list.)p eop end -%%Page: 148 154 -TeXDict begin 148 153 bop 150 -116 a Fu(Chapter)30 b(10:)41 -b(Installing)31 b(Bash)2356 b(148)150 299 y Fs(10.8)68 +%%Page: 149 155 +TeXDict begin 149 154 bop 150 -116 a Fu(Chapter)30 b(10:)41 +b(Installing)31 b(Bash)2356 b(149)150 299 y Fs(10.8)68 b(Optional)46 b(F)-11 b(eatures)150 458 y Fu(The)29 b(Bash)h Ft(configure)d Fu(has)j(a)g(n)m(um)m(b)s(er)f(of)h Ft(--enable-)p Fj(feature)25 b Fu(options,)30 b(where)g Fr(feature)35 @@ -18693,23 +18803,24 @@ g Fr(PREFIX)9 b Fu(/)p Ft(include)32 b Fu(and)i(the)630 4849 y(There)k(are)i(sev)m(eral)g Ft(--enable-)d Fu(options)i(that)h (alter)g(ho)m(w)f(Bash)g(is)g(compiled)h(and)e(link)m(ed,)i(rather)150 4958 y(than)h(c)m(hanging)h(run-time)f(features.)150 -5121 y Ft(--enable-largefile)630 5230 y Fu(Enable)e(supp)s(ort)f(for)h -(large)i(\014les)f(\()p Ft(http://www.sas.com/stand)o(ards)o(/la)o -(rge_)o(file)o(/)630 5340 y(x_open)5 b(.)g(20Mar96)g(.)g(html)p -Fu(\))31 b(if)36 b(the)g(op)s(erating)h(system)f(requires)g(sp)s(ecial) -h(compiler)g(op-)p eop end -%%Page: 149 155 -TeXDict begin 149 154 bop 150 -116 a Fu(Chapter)30 b(10:)41 -b(Installing)31 b(Bash)2356 b(149)630 299 y(tions)27 -b(to)h(build)e(programs)h(whic)m(h)g(can)g(access)h(large)h(\014les.)39 -b(This)26 b(is)i(enabled)f(b)m(y)f(default,)630 408 y(if)k(the)h(op)s -(erating)g(system)f(pro)m(vides)h(large)g(\014le)g(supp)s(ort.)150 -570 y Ft(--enable-profiling)630 680 y Fu(This)g(builds)f(a)i(Bash)g -(binary)f(that)h(pro)s(duces)e(pro\014ling)h(information)h(to)h(b)s(e)d -(pro)s(cessed)630 790 y(b)m(y)g Ft(gprof)f Fu(eac)m(h)j(time)f(it)g(is) -f(executed.)150 951 y Ft(--enable-static-link)630 1061 -y Fu(This)37 b(causes)h(Bash)f(to)h(b)s(e)f(link)m(ed)h(statically)-8 -b(,)43 b(if)37 b Ft(gcc)g Fu(is)g(b)s(eing)g(used.)61 +5121 y Ft(--enable-largefile)630 5230 y Fu(Enable)36 +b(supp)s(ort)f(for)g(large)j(\014les)e(\()p Ft(http:)5 +b(/)g(/)g(www)g(.)g(unix)g(.)g(org)t(/)g(v)o(ersi)o(on2)t(/)g(w)o(hats) +o(new)t(/)630 5340 y(lfs20mar)h(.)g(html)p Fu(\))35 b(if)j(the)g(op)s +(erating)g(system)g(requires)f(sp)s(ecial)i(compiler)f(options)g(to)p +eop end +%%Page: 150 156 +TeXDict begin 150 155 bop 150 -116 a Fu(Chapter)30 b(10:)41 +b(Installing)31 b(Bash)2356 b(150)630 299 y(build)33 +b(programs)g(whic)m(h)h(can)g(access)h(large)g(\014les.)51 +b(This)33 b(is)h(enabled)g(b)m(y)g(default,)h(if)f(the)630 +408 y(op)s(erating)d(system)f(pro)m(vides)h(large)g(\014le)g(supp)s +(ort.)150 570 y Ft(--enable-profiling)630 680 y Fu(This)g(builds)f(a)i +(Bash)g(binary)f(that)h(pro)s(duces)e(pro\014ling)h(information)h(to)h +(b)s(e)d(pro)s(cessed)630 790 y(b)m(y)g Ft(gprof)f Fu(eac)m(h)j(time)f +(it)g(is)f(executed.)150 951 y Ft(--enable-static-link)630 +1061 y Fu(This)37 b(causes)h(Bash)f(to)h(b)s(e)f(link)m(ed)h +(statically)-8 b(,)43 b(if)37 b Ft(gcc)g Fu(is)g(b)s(eing)g(used.)61 b(This)37 b(could)h(b)s(e)630 1171 y(used)30 b(to)h(build)e(a)i(v)m (ersion)g(to)g(use)f(as)g(ro)s(ot's)h(shell.)275 1334 y(The)f(`)p Ft(minimal-config)p Fu(')d(option)k(can)g(b)s(e)f(used)f @@ -18739,7 +18850,7 @@ b(supp)s(ort)f(for)h Ft(csh)p Fu(-lik)m(e)h(history)g(substitution)f (142\).)150 3487 y Ft(--enable-brace-expansion)630 3597 y Fu(Include)40 b Ft(csh)p Fu(-lik)m(e)h(brace)f(expansion)g(\()h Ft(b{a,b}c)d Fq(7!)i Ft(bac)30 b(bbc)39 b Fu(\).)71 b(See)40 -b(Section)h(3.5.1)630 3706 y([Brace)32 b(Expansion],)e(page)h(22,)h +b(Section)h(3.5.1)630 3706 y([Brace)32 b(Expansion],)e(page)h(23,)h (for)e(a)g(complete)i(description.)150 3868 y Ft (--enable-casemod-attribu)o(tes)630 3978 y Fu(Include)37 b(supp)s(ort)g(for)g(case-mo)s(difying)i(attributes)g(in)e(the)h @@ -18761,9 +18872,9 @@ m(ell)g(as)g(shell)f(builtins)g(and)g(functions)g(to)h(b)s(e)e(timed.) b(supp)s(ort)f(for)i(the)g Ft([[)f Fu(conditional)i(command.)51 b(\(see)34 b(Section)h(3.2.4.2)h([Condi-)630 5340 y(tional)c (Constructs],)e(page)h(11\).)p eop end -%%Page: 150 156 -TeXDict begin 150 155 bop 150 -116 a Fu(Chapter)30 b(10:)41 -b(Installing)31 b(Bash)2356 b(150)150 299 y Ft(--enable-cond-regexp)630 +%%Page: 151 157 +TeXDict begin 151 156 bop 150 -116 a Fu(Chapter)30 b(10:)41 +b(Installing)31 b(Bash)2356 b(151)150 299 y Ft(--enable-cond-regexp)630 408 y Fu(Include)35 b(supp)s(ort)f(for)i(matc)m(hing)h Fm(posix)e Fu(regular)h(expressions)g(using)f(the)h(`)p Ft(=~)p Fu(')g(binary)630 518 y(op)s(erator)25 b(in)f(the)h @@ -18804,7 +18915,7 @@ b(page)h(11\).)150 3550 y Ft(--enable-extended-glob)630 3660 y Fu(Include)40 b(supp)s(ort)e(for)i(the)h(extended)f(pattern)h (matc)m(hing)g(features)g(describ)s(ed)e(ab)s(o)m(v)m(e)630 3769 y(under)29 b(Section)i(3.5.8.1)i([P)m(attern)e(Matc)m(hing],)i -(page)e(32.)150 3915 y Ft(--enable-extended-glob-d)o(efau)o(lt)630 +(page)e(33.)150 3915 y Ft(--enable-extended-glob-d)o(efau)o(lt)630 4025 y Fu(Set)40 b(the)g(default)g(v)-5 b(alue)41 b(of)f(the)g Fr(extglob)j Fu(shell)d(option)g(describ)s(ed)f(ab)s(o)m(v)m(e)i(under) d(Sec-)630 4134 y(tion)31 b(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g @@ -18825,9 +18936,9 @@ b(con)m(trols)j(the)630 4975 y(b)s(eha)m(vior)21 b(of)g(c)m(haracter)h (ys)f(help)h(on)f(shell)h(builtins)f(and)h(v)-5 b(ariables)25 b(\(see)630 5340 y(Section)31 b(4.2)h([Bash)e(Builtins],)i(page)f (50\).)p eop end -%%Page: 151 157 -TeXDict begin 151 156 bop 150 -116 a Fu(Chapter)30 b(10:)41 -b(Installing)31 b(Bash)2356 b(151)150 299 y Ft(--enable-history)630 +%%Page: 152 158 +TeXDict begin 152 157 bop 150 -116 a Fu(Chapter)30 b(10:)41 +b(Installing)31 b(Bash)2356 b(152)150 299 y Ft(--enable-history)630 408 y Fu(Include)29 b(command)g(history)h(and)f(the)h Ft(fc)f Fu(and)g Ft(history)e Fu(builtin)j(commands)f(\(see)h(Sec-)630 518 y(tion)h(9.1)g([Bash)g(History)g(F)-8 b(acilities],)34 @@ -18843,10 +18954,10 @@ b(enables)h(the)g(sp)s(ecial)h(handling)e(of)h(\014lenames)g(of)g(the)g (form)g Ft(/dev/tcp/)p Fj(host)p Ft(/)p Fj(port)630 1614 y Fu(and)31 b Ft(/dev/udp/)p Fj(host)p Ft(/)p Fj(port)26 b Fu(when)31 b(used)g(in)g(redirections)h(\(see)g(Section)g(3.6)h -([Redirec-)630 1724 y(tions],)e(page)g(33\).)150 1870 +([Redirec-)630 1724 y(tions],)e(page)g(34\).)150 1870 y Ft(--enable-process-substit)o(utio)o(n)630 1979 y Fu(This)49 b(enables)i(pro)s(cess)f(substitution)g(\(see)h(Section)g(3.5.6)h([Pro) -s(cess)e(Substitution],)630 2089 y(page)31 b(30\))h(if)e(the)h(op)s +s(cess)e(Substitution],)630 2089 y(page)31 b(31\))h(if)e(the)h(op)s (erating)f(system)h(pro)m(vides)f(the)h(necessary)g(supp)s(ort.)150 2235 y Ft(--enable-progcomp)630 2345 y Fu(Enable)d(the)g(programmable)g (completion)i(facilities)g(\(see)f(Section)g(8.6)g([Programmable)630 @@ -18887,9 +18998,9 @@ b(ma)m(y)g(need)630 4975 y(to)c(disable)g(this)f(if)g(y)m(our)h y Fu(Mak)m(e)c(Bash)f Fm(posix)p Fu(-conforman)m(t)g(b)m(y)f(default)h (\(see)g(Section)h(6.11)g([Bash)f(POSIX)e(Mo)s(de],)630 5340 y(page)31 b(98\).)p eop end -%%Page: 152 158 -TeXDict begin 152 157 bop 150 -116 a Fu(Chapter)30 b(10:)41 -b(Installing)31 b(Bash)2356 b(152)150 299 y Ft +%%Page: 153 159 +TeXDict begin 153 158 bop 150 -116 a Fu(Chapter)30 b(10:)41 +b(Installing)31 b(Bash)2356 b(153)150 299 y Ft (--enable-usg-echo-defaul)o(t)630 408 y Fu(A)30 b(synon)m(ym)g(for)g Ft(--enable-xpg-echo-default)p Fu(.)150 568 y Ft (--enable-xpg-echo-defaul)o(t)630 677 y Fu(Mak)m(e)c(the)f @@ -18912,8 +19023,8 @@ y(the)h(consequences)g(if)f(y)m(ou)h(do.)55 b(Read)36 b(the)g(commen)m(ts)g(asso)s(ciated)h(with)e(eac)m(h)i(de\014nition)e (for)g(more)150 1604 y(information)c(ab)s(out)f(its)h(e\013ect.)p eop end -%%Page: 153 159 -TeXDict begin 153 158 bop 3614 -116 a Fu(153)150 299 +%%Page: 154 160 +TeXDict begin 154 159 bop 3614 -116 a Fu(154)150 299 y Fp(App)t(endix)52 b(A)81 b(Rep)t(orting)53 b(Bugs)150 533 y Fu(Please)33 b(rep)s(ort)e(all)h(bugs)f(y)m(ou)h(\014nd)e(in)i (Bash.)44 b(But)32 b(\014rst,)g(y)m(ou)g(should)e(mak)m(e)j(sure)e @@ -18943,8 +19054,8 @@ s(duce)e(it.)150 2182 y Ft(bashbug)d Fu(inserts)i(the)h(\014rst)f (vides)f(for)g(\014ling)h(a)150 2291 y(bug)h(rep)s(ort.)275 2426 y(Please)h(send)f(all)h(rep)s(orts)f(concerning)g(this)h(man)m (ual)f(to)h Ft(bug-bash@gnu.org)p Fu(.)p eop end -%%Page: 154 160 -TeXDict begin 154 159 bop 3614 -116 a Fu(154)150 141 +%%Page: 155 161 +TeXDict begin 155 160 bop 3614 -116 a Fu(155)150 141 y Fp(App)t(endix)58 b(B)81 b(Ma)9 b(jor)54 b(Di\013erences)d(F)-13 b(rom)54 b(The)g(Bourne)1088 299 y(Shell)150 530 y Fu(Bash)26 b(implemen)m(ts)h(essen)m(tially)g(the)g(same)f(grammar,)h(parameter)f @@ -19030,10 +19141,10 @@ b Fu(Bash)31 b(includes)f(the)g Ft(select)f Fu(comp)s(ound)g(command,)i (whic)m(h)f(allo)m(ws)i(the)f(generation)g(of)g(simple)330 5340 y(men)m(us)f(\(see)h(Section)g(3.2.4.2)i([Conditional)e (Constructs],)g(page)g(11\).)p eop end -%%Page: 155 161 -TeXDict begin 155 160 bop 150 -116 a Fu(App)s(endix)29 +%%Page: 156 162 +TeXDict begin 156 161 bop 150 -116 a Fu(App)s(endix)29 b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31 -b(The)f(Bourne)g(Shell)1258 b(155)225 299 y Fq(\017)60 +b(The)f(Bourne)g(Shell)1258 b(156)225 299 y Fq(\017)60 b Fu(Bash)40 b(includes)g(the)g Ft([[)g Fu(comp)s(ound)e(command,)43 b(whic)m(h)c(mak)m(es)i(conditional)h(testing)f(part)f(of)330 408 y(the)f(shell)g(grammar)g(\(see)h(Section)f(3.2.4.2)j([Conditional) @@ -19042,7 +19153,7 @@ b(regular)e(expression)g(matc)m(hing.)225 653 y Fq(\017)60 b Fu(Bash)31 b(pro)m(vides)f(optional)h(case-insensitiv)m(e)i(matc)m (hing)f(for)e(the)g Ft(case)g Fu(and)f Ft([[)h Fu(constructs.)225 789 y Fq(\017)60 b Fu(Bash)27 b(includes)g(brace)h(expansion)f(\(see)h -(Section)g(3.5.1)i([Brace)e(Expansion],)g(page)g(22\))h(and)d(tilde)330 +(Section)g(3.5.1)i([Brace)e(Expansion],)g(page)g(23\))h(and)d(tilde)330 898 y(expansion)k(\(see)i(Section)f(3.5.2)h([Tilde)f(Expansion],)f (page)h(23\).)225 1034 y Fq(\017)60 b Fu(Bash)24 b(implemen)m(ts)h (command)e(aliases)j(and)d(the)i Ft(alias)d Fu(and)i @@ -19105,7 +19216,7 @@ b(preferred)g(to)i(the)g(Bourne)f(shell's)h Ft(``)e Fu(\(whic)m(h)i(is) f(also)330 4495 y(implemen)m(ted)31 b(for)f(bac)m(kw)m(ards)h (compatibilit)m(y\).)225 4631 y Fq(\017)60 b Fu(Bash)31 b(has)f(pro)s(cess)g(substitution)g(\(see)h(Section)g(3.5.6)h([Pro)s -(cess)f(Substitution],)f(page)h(30\).)225 4766 y Fq(\017)60 +(cess)f(Substitution],)f(page)h(31\).)225 4766 y Fq(\017)60 b Fu(Bash)55 b(automatically)j(assigns)e(v)-5 b(ariables)55 b(that)h(pro)m(vide)f(information)h(ab)s(out)f(the)g(curren)m(t)330 4876 y(user)40 b(\()p Ft(UID)p Fu(,)i Ft(EUID)p Fu(,)g(and)e @@ -19121,10 +19232,10 @@ Fu(v)-5 b(ariable)45 b(is)f(used)f(to)i(split)f(only)g(the)g(results)g y(Section)29 b(3.5.7)h([W)-8 b(ord)29 b(Splitting],)h(page)f(31\).)41 b(This)28 b(closes)h(a)g(longstanding)g(shell)f(securit)m(y)h(hole.)p eop end -%%Page: 156 162 -TeXDict begin 156 161 bop 150 -116 a Fu(App)s(endix)29 +%%Page: 157 163 +TeXDict begin 157 162 bop 150 -116 a Fu(App)s(endix)29 b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31 -b(The)f(Bourne)g(Shell)1258 b(156)225 299 y Fq(\017)60 +b(The)f(Bourne)g(Shell)1258 b(157)225 299 y Fq(\017)60 b Fu(The)36 b(\014lename)h(expansion)f(brac)m(k)m(et)i(expression)f(co) s(de)f(uses)g(`)p Ft(!)p Fu(')h(and)f(`)p Ft(^)p Fu(')h(to)g(negate)h (the)f(set)g(of)330 408 y(c)m(haracters)32 b(b)s(et)m(w)m(een)f(the)f @@ -19134,11 +19245,11 @@ Ft(!)p Fu('.)225 536 y Fq(\017)60 b Fu(Bash)38 b(implemen)m(ts)g(the)g (erators,)i(including)d Fr(c)m(har-)330 646 y(acter)i(classes)p Fu(,)j Fr(equiv)-5 b(alence)39 b(classes)p Fu(,)j(and)37 b Fr(collating)k(sym)m(b)s(ols)g Fu(\(see)e(Section)g(3.5.8)h -([Filename)330 756 y(Expansion],)30 b(page)h(31\).)225 +([Filename)330 756 y(Expansion],)30 b(page)h(32\).)225 883 y Fq(\017)60 b Fu(Bash)35 b(implemen)m(ts)g(extended)g(pattern)g (matc)m(hing)h(features)f(when)f(the)h Ft(extglob)d Fu(shell)j(option) 330 993 y(is)30 b(enabled)h(\(see)g(Section)g(3.5.8.1)i([P)m(attern)f -(Matc)m(hing],)g(page)f(32\).)225 1121 y Fq(\017)60 b +(Matc)m(hing],)g(page)f(33\).)225 1121 y Fq(\017)60 b Fu(It)22 b(is)g(p)s(ossible)g(to)h(ha)m(v)m(e)g(a)f(v)-5 b(ariable)23 b(and)f(a)g(function)g(with)g(the)g(same)g(name;)j Ft(sh)d Fu(do)s(es)g(not)g(separate)330 1230 y(the)31 @@ -19151,20 +19262,20 @@ Fu(builtin,)i(and)e(th)m(us)330 1468 y(useful)i(recursiv)m(e)g b(ariable)25 b(assignmen)m(ts)g(preceding)e(commands)h(a\013ect)h(only) f(that)g(command,)h(ev)m(en)f(builtins)g(and)330 1705 y(functions)36 b(\(see)h(Section)g(3.7.4)h([En)m(vironmen)m(t],)h(page) -e(39\).)60 b(In)35 b Ft(sh)p Fu(,)j(all)f(v)-5 b(ariable)37 +e(40\).)60 b(In)35 b Ft(sh)p Fu(,)j(all)f(v)-5 b(ariable)37 b(assignmen)m(ts)330 1815 y(preceding)30 b(commands)g(are)h(global)h (unless)d(the)i(command)f(is)h(executed)g(from)f(the)g(\014le)h (system.)225 1943 y Fq(\017)60 b Fu(Bash)44 b(p)s(erforms)e(\014lename) i(expansion)f(on)h(\014lenames)g(sp)s(eci\014ed)f(as)h(op)s(erands)e (to)j(input)e(and)330 2052 y(output)30 b(redirection)h(op)s(erators)g -(\(see)g(Section)g(3.6)h([Redirections],)g(page)f(33\).)225 +(\(see)g(Section)g(3.6)h([Redirections],)g(page)f(34\).)225 2180 y Fq(\017)60 b Fu(Bash)29 b(con)m(tains)h(the)f(`)p Ft(<>)p Fu(')f(redirection)i(op)s(erator,)f(allo)m(wing)i(a)e(\014le)g (to)g(b)s(e)f(op)s(ened)g(for)h(b)s(oth)f(read-)330 2290 y(ing)35 b(and)f(writing,)i(and)e(the)h(`)p Ft(&>)p Fu(')g(redirection) g(op)s(erator,)h(for)f(directing)g(standard)f(output)h(and)330 2399 y(standard)30 b(error)g(to)h(the)f(same)h(\014le)f(\(see)i -(Section)f(3.6)g([Redirections],)h(page)g(33\).)225 2527 +(Section)f(3.6)g([Redirections],)h(page)g(34\).)225 2527 y Fq(\017)60 b Fu(Bash)21 b(includes)f(the)h(`)p Ft(<<<)p Fu(')g(redirection)g(op)s(erator,)i(allo)m(wing)g(a)e(string)f(to)i(b)s (e)e(used)g(as)h(the)g(standard)330 2637 y(input)29 b(to)j(a)e @@ -19175,11 +19286,11 @@ Fu(')e(redirection)j(op)s(erators,)g(whic)m(h)f(mo)m(v)m(e)330 3002 y Fq(\017)60 b Fu(Bash)25 b(treats)h(a)f(n)m(um)m(b)s(er)e(of)i (\014lenames)g(sp)s(ecially)g(when)f(they)h(are)g(used)f(in)g (redirection)i(op)s(erators)330 3112 y(\(see)31 b(Section)h(3.6)f -([Redirections],)h(page)f(33\).)225 3240 y Fq(\017)60 +([Redirections],)h(page)f(34\).)225 3240 y Fq(\017)60 b Fu(Bash)33 b(can)f(op)s(en)g(net)m(w)m(ork)i(connections)f(to)h (arbitrary)e(mac)m(hines)h(and)f(services)h(with)f(the)h(redi-)330 3349 y(rection)e(op)s(erators)g(\(see)g(Section)g(3.6)h -([Redirections],)g(page)f(33\).)225 3477 y Fq(\017)60 +([Redirections],)g(page)f(34\).)225 3477 y Fq(\017)60 b Fu(The)29 b Ft(noclobber)e Fu(option)j(is)g(a)m(v)-5 b(ailable)32 b(to)e(a)m(v)m(oid)h(o)m(v)m(erwriting)g(existing)g (\014les)e(with)h(output)f(redi-)330 3587 y(rection)39 @@ -19214,10 +19325,10 @@ y Fq(\017)60 b Fu(Shell)29 b(functions)g(ma)m(y)h(b)s(e)f(exp)s(orted)g (to)h(c)m(hildren)f(via)h(the)g(en)m(vironmen)m(t)g(using)f Ft(export)f(-f)h Fu(\(see)330 5340 y(Section)i(3.3)h([Shell)e(F)-8 b(unctions],)32 b(page)f(17\).)p eop end -%%Page: 157 163 -TeXDict begin 157 162 bop 150 -116 a Fu(App)s(endix)29 +%%Page: 158 164 +TeXDict begin 158 163 bop 150 -116 a Fu(App)s(endix)29 b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31 -b(The)f(Bourne)g(Shell)1258 b(157)225 299 y Fq(\017)60 +b(The)f(Bourne)g(Shell)1258 b(158)225 299 y Fq(\017)60 b Fu(The)40 b(Bash)h Ft(export)p Fu(,)h Ft(readonly)p Fu(,)f(and)g Ft(declare)d Fu(builtins)j(can)g(tak)m(e)h(a)f Ft(-f)f Fu(option)i(to)f(act)h(on)330 408 y(shell)30 @@ -19311,10 +19422,10 @@ Fu(builtin)i(\(see)h(Section)g(4.1)g([Bourne)f(Shell)g(Builtins],)j 5340 y(signal)30 b(sp)s(eci\014cation,)h(similar)f(to)g Ft(EXIT)f Fu(and)g Ft(DEBUG)p Fu(.)39 b(Commands)28 b(sp)s(eci\014ed)h (with)g(an)g Ft(ERR)g Fu(trap)p eop end -%%Page: 158 164 -TeXDict begin 158 163 bop 150 -116 a Fu(App)s(endix)29 +%%Page: 159 165 +TeXDict begin 159 164 bop 150 -116 a Fu(App)s(endix)29 b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31 -b(The)f(Bourne)g(Shell)1258 b(158)330 299 y(are)40 b(executed)g(after)g +b(The)f(Bourne)g(Shell)1258 b(159)330 299 y(are)40 b(executed)g(after)g (a)f(simple)h(command)f(fails,)j(with)d(a)h(few)f(exceptions.)68 b(The)39 b Ft(ERR)g Fu(trap)g(is)330 408 y(not)g(inherited)f(b)m(y)h (shell)g(functions)f(unless)g(the)h Ft(-o)29 b(errtrace)37 @@ -19396,10 +19507,10 @@ Fu(.)57 b(If)35 b(the)i(shell)f(is)h(started)g(from)e(a)i(pro)s(cess)f (with)g Ft(SIGSEGV)e Fu(blo)s(c)m(k)m(ed)k(\(e.g.,)h(b)m(y)d(using)330 5340 y(the)31 b Ft(system\(\))d Fu(C)i(library)g(function)g(call\),)i (it)f(misb)s(eha)m(v)m(es)g(badly)-8 b(.)p eop end -%%Page: 159 165 -TeXDict begin 159 164 bop 150 -116 a Fu(App)s(endix)29 +%%Page: 160 166 +TeXDict begin 160 165 bop 150 -116 a Fu(App)s(endix)29 b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31 -b(The)f(Bourne)g(Shell)1258 b(159)225 299 y Fq(\017)60 +b(The)f(Bourne)g(Shell)1258 b(160)225 299 y Fq(\017)60 b Fu(In)30 b(a)i(questionable)g(attempt)g(at)g(securit)m(y)-8 b(,)33 b(the)e(SVR4.2)h(shell,)g(when)e(in)m(v)m(ok)m(ed)j(without)e (the)h Ft(-p)330 408 y Fu(option,)39 b(will)d(alter)i(its)e(real)h(and) @@ -19430,8 +19541,8 @@ Fm(posix)330 1738 y Fu(standard.)225 1873 y Fq(\017)60 b Fu(The)30 b(SVR4.2)h(shell)g(b)s(eha)m(v)m(es)f(di\013eren)m(tly)h (when)f(in)m(v)m(ok)m(ed)i(as)e Ft(jsh)g Fu(\(it)h(turns)e(on)h(job)g (con)m(trol\).)p eop end -%%Page: 160 166 -TeXDict begin 160 165 bop 3614 -116 a Fu(160)150 299 +%%Page: 161 167 +TeXDict begin 161 166 bop 3614 -116 a Fu(161)150 299 y Fp(App)t(endix)52 b(C)81 b(GNU)54 b(F)-13 b(ree)53 b(Do)t(cumen)l(tation)e(License)1359 502 y Fu(V)-8 b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390 635 y(Cop)m(yrigh)m(t)842 @@ -19512,10 +19623,10 @@ b(\\In)m(v)-5 b(arian)m(t)27 b(Sections")g(are)f(certain)g(Secondary)g 5340 y(b)s(eing)e(those)h(of)g(In)m(v)-5 b(arian)m(t)27 b(Sections,)i(in)d(the)h(notice)h(that)f(sa)m(ys)g(that)g(the)g(Do)s (cumen)m(t)g(is)g(released)p eop end -%%Page: 161 167 -TeXDict begin 161 166 bop 150 -116 a Fu(App)s(endix)29 +%%Page: 162 168 +TeXDict begin 162 167 bop 150 -116 a Fu(App)s(endix)29 b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560 -b(161)330 299 y(under)26 b(this)i(License.)40 b(If)27 +b(162)330 299 y(under)26 b(this)i(License.)40 b(If)27 b(a)h(section)h(do)s(es)f(not)f(\014t)h(the)g(ab)s(o)m(v)m(e)h (de\014nition)e(of)h(Secondary)f(then)h(it)g(is)330 408 y(not)k(allo)m(w)m(ed)i(to)e(b)s(e)g(designated)g(as)g(In)m(v)-5 @@ -19606,10 +19717,10 @@ b(Disclaimers)f(are)g(considered)e(to)330 4970 y(b)s(e)k(included)g(b)m b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g(and)f(has)h(no)330 5189 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h(this)f(License.)199 5340 y(2.)61 b(VERBA)-8 b(TIM)31 b(COPYING)p eop end -%%Page: 162 168 -TeXDict begin 162 167 bop 150 -116 a Fu(App)s(endix)29 +%%Page: 163 169 +TeXDict begin 163 168 bop 150 -116 a Fu(App)s(endix)29 b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560 -b(162)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h +b(163)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h (the)g(Do)s(cumen)m(t)h(in)f(an)m(y)g(medium,)h(either)g(commercially)h (or)330 408 y(noncommercially)-8 b(,)48 b(pro)m(vided)42 b(that)h(this)f(License,)47 b(the)42 b(cop)m(yrigh)m(t)i(notices,)j @@ -19699,10 +19810,10 @@ b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m(ers,)i(if)e 5340 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m (ersions)h(\(whic)m(h)g(should,)g(if)g(there)g(w)m(ere)g(an)m(y)-8 b(,)p eop end -%%Page: 163 169 -TeXDict begin 163 168 bop 150 -116 a Fu(App)s(endix)29 +%%Page: 164 170 +TeXDict begin 164 169 bop 150 -116 a Fu(App)s(endix)29 b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560 -b(163)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g +b(164)510 299 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g (the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same) h(title)h(as)510 408 y(a)e(previous)f(v)m(ersion)g(if)h(the)f(original) i(publisher)d(of)h(that)h(v)m(ersion)g(giv)m(es)h(p)s(ermission.)360 @@ -19781,10 +19892,10 @@ b(arran)m(t)m(y)32 b(Disclaimers.)330 5121 y(If)h(the)g(Mo)s(di\014ed)g (designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e(in)m(v)-5 b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)p eop end -%%Page: 164 170 -TeXDict begin 164 169 bop 150 -116 a Fu(App)s(endix)29 +%%Page: 165 171 +TeXDict begin 165 170 bop 150 -116 a Fu(App)s(endix)29 b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560 -b(164)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5 +b(165)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8 b(ersion's)36 b(license)g(notice.)57 b(These)330 408 y(titles)32 b(m)m(ust)e(b)s(e)g(distinct)h(from)e(an)m(y)i(other)g @@ -19869,10 +19980,10 @@ b(ma)m(y)g(extract)h(a)f(single)g(do)s(cumen)m(t)f(from)g(suc)m(h)g(a)h 5230 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g (other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330 5340 y(that)d(do)s(cumen)m(t.)p eop end -%%Page: 165 171 -TeXDict begin 165 170 bop 150 -116 a Fu(App)s(endix)29 +%%Page: 166 172 +TeXDict begin 166 171 bop 150 -116 a Fu(App)s(endix)29 b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560 -b(165)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h +b(166)199 299 y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h (W)m(ORKS)330 441 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f (its)g(deriv)-5 b(ativ)m(es)30 b(with)d(other)i(separate)g(and)e(indep) s(enden)m(t)330 551 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h @@ -19957,10 +20068,10 @@ b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g (reinstated,)i(receipt)f(of)f(a)g(cop)m(y)h(of)f(some)h(or)f(all)h(of)f (the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f (an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end -%%Page: 166 172 -TeXDict begin 166 171 bop 150 -116 a Fu(App)s(endix)29 +%%Page: 167 173 +TeXDict begin 167 172 bop 150 -116 a Fu(App)s(endix)29 b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560 -b(166)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE) +b(167)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE) 330 433 y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8 b(oundation)43 b(ma)m(y)f(publish)e(new,)k(revised)d(v)m(ersions)h(of)g (the)g(GNU)g(F)-8 b(ree)330 543 y(Do)s(cumen)m(tation)34 @@ -20024,10 +20135,10 @@ f(of)g(that)330 2944 y(license)31 b(published)e(b)m(y)h(that)h(same)g g(under)330 3895 y(CC-BY-SA)30 b(on)g(the)h(same)f(site)h(at)g(an)m(y)g (time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is) 330 4005 y(eligible)h(for)e(relicensing.)p eop end -%%Page: 167 173 -TeXDict begin 167 172 bop 150 -116 a Fu(App)s(endix)29 +%%Page: 168 174 +TeXDict begin 168 173 bop 150 -116 a Fu(App)s(endix)29 b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560 -b(167)150 299 y Fs(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f +b(168)150 299 y Fs(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g(this)h(License)f (for)g(y)l(our)g(do)t(cumen)l(ts)150 458 y Fu(T)-8 b(o)35 b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m(t)g(y)m(ou)f(ha)m(v)m(e) i(written,)g(include)f(a)f(cop)m(y)i(of)f(the)f(License)h(in)g(the)150 @@ -20062,8 +20173,8 @@ y(If)23 b(y)m(our)h(do)s(cumen)m(t)f(con)m(tains)i(non)m(trivial)g b(as)g(the)g(GNU)150 2331 y(General)31 b(Public)f(License,)i(to)f(p)s (ermit)e(their)i(use)f(in)g(free)g(soft)m(w)m(are.)p eop end -%%Page: 168 174 -TeXDict begin 168 173 bop 3614 -116 a Fu(168)150 299 +%%Page: 169 175 +TeXDict begin 169 174 bop 3614 -116 a Fu(169)150 299 y Fp(App)t(endix)52 b(D)81 b(Indexes)150 639 y Fs(D.1)68 b(Index)45 b(of)g(Shell)g(Builtin)g(Commands)146 806 y(.)150 923 y Fe(.)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g @@ -20220,9 +20331,9 @@ g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(59)2025 5235 y Fe(suspend)d Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(105)p eop end -%%Page: 169 175 -TeXDict begin 169 174 bop 150 -116 a Fu(App)s(endix)29 -b(D:)i(Indexes)2623 b(169)146 294 y Fs(T)150 410 y Fe(test)11 +%%Page: 170 176 +TeXDict begin 170 175 bop 150 -116 a Fu(App)s(endix)29 +b(D:)i(Indexes)2623 b(170)146 294 y Fs(T)150 410 y Fe(test)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)25 b Fb(47)150 497 @@ -20326,37 +20437,37 @@ h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(10)2021 (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(10)p eop end -%%Page: 170 176 -TeXDict begin 170 175 bop 150 -116 a Fu(App)s(endix)29 -b(D:)i(Indexes)2623 b(170)150 299 y Fs(D.3)68 b(P)l(arameter)47 +%%Page: 171 177 +TeXDict begin 171 176 bop 150 -116 a Fu(App)s(endix)29 +b(D:)i(Indexes)2623 b(171)150 299 y Fs(D.3)68 b(P)l(arameter)47 b(and)d(V)-11 b(ariable)46 b(Index)146 955 y(!)150 1073 y Fe(!)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 -b Fb(21)146 1327 y Fs(#)150 1445 y Fe(#)19 b Fc(:)13 +b Fb(22)146 1327 y Fs(#)150 1445 y Fe(#)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(21)146 1701 y Fs($)150 1820 y Fe($)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)33 b Fb(21)150 1909 y Fe($!)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)33 b Fb(22)150 1909 y Fe($!)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)31 b Fb(21)150 1997 y Fe($#)16 b Fc(:)e(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)31 b Fb(22)150 1997 y Fe($#)16 b Fc(:)e(:)f(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)31 b Fb(21)150 2085 y Fe($$)16 b Fc(:)e(:)f(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)31 b Fb(21)150 2173 y Fe($*)16 +(:)g(:)g(:)g(:)g(:)g(:)31 b Fb(22)150 2173 y Fe($*)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)31 b Fb(21)150 2261 y Fe($-)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)31 -b Fb(21)150 2350 y Fe($?)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +b Fb(22)150 2350 y Fe($?)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) 31 b Fb(21)150 2438 y Fe($@)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g @@ -20365,17 +20476,17 @@ g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)31 b Fb(21)150 2526 y Fe($_)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)31 b Fb(21)150 2613 y Fe($0)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h +(:)g(:)31 b Fb(22)150 2613 y Fe($0)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)31 b Fb(21)146 2876 y Fs(*)150 2994 y Fe(*)19 +(:)g(:)g(:)31 b Fb(22)146 2876 y Fs(*)150 2994 y Fe(*)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(21)146 3248 y Fs({)150 3366 y Fe(-)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)33 b Fb(21)146 3620 y Fs(?)150 3738 +g(:)h(:)f(:)g(:)g(:)33 b Fb(22)146 3620 y Fs(?)150 3738 y Fe(?)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 @@ -20386,11 +20497,11 @@ f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(21)p 156 4364 41 6 v 150 4482 a Fe(_)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)33 b Fb(21)146 4736 y Fs(0)150 4854 y +(:)f(:)g(:)g(:)33 b Fb(22)146 4736 y Fs(0)150 4854 y Fe(0)19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 -b Fb(21)146 5108 y Fs(A)150 5226 y Fe(auto_resume)8 b +b Fb(22)146 5108 y Fs(A)150 5226 y Fe(auto_resume)8 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) 23 b Fb(105)2021 954 y Fs(B)2025 1074 y Fe(BASH)11 b @@ -20410,7 +20521,7 @@ b Fb(73)2025 1429 y Fe(BASH_ARGV0)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(73)2025 1517 y Fe(BASH_CMDS)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(73)2025 1606 +g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(74)2025 1606 y Fe(BASH_COMMAND)8 b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)22 b Fb(74)2025 1695 y Fe(BASH_COMPAT)10 @@ -20432,7 +20543,7 @@ h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)22 b Fb(74)2025 2226 y Fe(BASH_SOURCE)10 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)25 b Fb(74)2025 2315 y Fe(BASH_SUBSHELL)g Fc(:)13 +g(:)25 b Fb(75)2025 2315 y Fe(BASH_SUBSHELL)g Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(75)2025 2403 y Fe(BASH_VERSINFO)25 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g @@ -20513,12 +20624,12 @@ y Fe(COPROC)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(76)p eop end -%%Page: 171 177 -TeXDict begin 171 176 bop 150 -116 a Fu(App)s(endix)29 -b(D:)i(Indexes)2623 b(171)146 294 y Fs(D)150 416 y Fe(DIRSTACK)18 +%%Page: 172 178 +TeXDict begin 172 177 bop 150 -116 a Fu(App)s(endix)29 +b(D:)i(Indexes)2623 b(172)146 294 y Fs(D)150 416 y Fe(DIRSTACK)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)32 b Fb(76)150 503 y Fe(disable-completion)7 +(:)g(:)h(:)f(:)32 b Fb(77)150 503 y Fe(disable-completion)7 b Fc(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(111)146 791 y Fs(E)150 913 y Fe(echo-control-characters)12 b @@ -20583,7 +20694,7 @@ g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)25 b Fb(78)150 3720 y Fe(HISTFILE)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(78)150 3809 +h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(79)150 3809 y Fe(HISTFILESIZE)8 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)22 b Fb(79)150 3899 y Fe(HISTIGNORE)13 @@ -20613,100 +20724,102 @@ y Fe(HOSTNAME)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(79)150 4700 y Fe(HOSTTYPE)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(79)2021 294 y Fs(I)2025 -421 y Fe(IFS)14 b Fc(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Fb(80)2021 294 y Fs(I)2025 +420 y Fe(IFS)14 b Fc(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)28 -b Fb(72)2025 512 y Fe(IGNOREEOF)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)g +b Fb(72)2025 510 y Fe(IGNOREEOF)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(80)2025 -602 y Fe(input-meta)11 b Fc(:)k(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +600 y Fe(input-meta)11 b Fc(:)k(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)26 b Fb(112)2025 693 y Fe(INPUTRC)c +h(:)f(:)g(:)g(:)g(:)g(:)26 b Fb(113)2025 691 y Fe(INPUTRC)c Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)35 b Fb(80)2025 780 y Fe(isearch-terminators)26 -b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(113)2021 1088 -y Fs(K)2025 1211 y Fe(keymap)22 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 -b Fb(113)2021 1531 y Fs(L)2025 1658 y Fe(LANG)11 b Fc(:)j(:)f(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)26 b Fb(80)2025 1748 y Fe(LC_ALL)6 b Fc(:)14 -b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)21 b Fb(80)2025 1839 y Fe(LC_COLLATE)13 +g(:)g(:)h(:)f(:)g(:)35 b Fb(80)2025 781 y Fe(INSIDE_EMACS)8 +b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) +22 b Fb(80)2025 868 y Fe(isearch-terminators)k Fc(:)13 +b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(113)2021 1167 y Fs(K)2025 +1290 y Fe(keymap)22 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 b Fb(113)2021 +1601 y Fs(L)2025 1727 y Fe(LANG)11 b Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 +b Fb(80)2025 1817 y Fe(LC_ALL)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 +b Fb(80)2025 1907 y Fe(LC_COLLATE)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(80)2025 +1998 y Fe(LC_CTYPE)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(80)2025 2088 +y Fe(LC_MESSAGES)21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)34 b Fb(7,)26 b(80)2025 2178 y Fe(LC_NUMERIC)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)27 b Fb(80)2025 1930 y Fe(LC_CTYPE)18 b Fc(:)d(:)e(:)g(:)g(:)g +(:)h(:)27 b Fb(80)2025 2269 y Fe(LC_TIME)22 b Fc(:)13 +b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 -b Fb(80)2025 2021 y Fe(LC_MESSAGES)21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)34 b Fb(7,)26 b(80)2025 -2111 y Fe(LC_NUMERIC)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h -(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)27 b Fb(80)2025 2202 y -Fe(LC_TIME)22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(80)2025 2293 -y Fe(LINENO)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(80)2025 -2380 y Fe(LINES)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 -b Fb(80)2021 2688 y Fs(M)2025 2815 y Fe(MACHTYPE)18 b -Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)33 b Fb(80)2025 2906 y Fe(MAIL)11 b Fc(:)j(:)f(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)26 b Fb(72)2025 2996 y Fe(MAILCHECK)15 b Fc(:)g(:)f(:)f(:)g -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 -b Fb(80)2025 3087 y Fe(MAILPATH)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f +h(:)f(:)g(:)35 b Fb(80)2025 2359 y Fe(LINENO)6 b Fc(:)14 +b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)21 b Fb(80)2025 2446 y Fe(LINES)9 +b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(80)2021 2746 +y Fs(M)2025 2872 y Fe(MACHTYPE)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 b -Fb(72)2025 3178 y Fe(MAPFILE)22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 -b Fb(80)2025 3269 y Fe(mark-modified-lines)26 b Fc(:)13 -b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(113)2025 3359 y Fe -(mark-symlinked-directories)27 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g -(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(113)2025 3450 -y Fe(match-hidden-files)7 b Fc(:)17 b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22 -b Fb(113)2025 3541 y Fe(menu-complete-display-prefix)17 -b Fc(:)h(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)31 -b Fb(114)2025 3628 y Fe(meta-flag)13 b Fc(:)i(:)e(:)h(:)f(:)g(:)g(:)g +Fb(80)2025 2962 y Fe(MAIL)11 b Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)28 b Fb(112)2021 -3947 y Fs(O)2025 4074 y Fe(OLDPWD)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 -b Fb(81)2025 4165 y Fe(OPTARG)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 -b Fb(72)2025 4256 y Fe(OPTERR)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 -b Fb(81)2025 4347 y Fe(OPTIND)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 -b Fb(72)2025 4437 y Fe(OSTYPE)6 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 -b Fb(81)2025 4525 y Fe(output-meta)8 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:) -g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(114)p -eop end -%%Page: 172 178 -TeXDict begin 172 177 bop 150 -116 a Fu(App)s(endix)29 -b(D:)i(Indexes)2623 b(172)146 294 y Fs(P)150 410 y Fe(page-completions) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 +b Fb(72)2025 3052 y Fe(MAILCHECK)15 b Fc(:)g(:)f(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(80)2025 +3143 y Fe(MAILPATH)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)33 b Fb(72)2025 3233 +y Fe(MAPFILE)22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g +(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) +g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(81)2025 3323 +y Fe(mark-modified-lines)26 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 +b Fb(113)2025 3414 y Fe(mark-symlinked-directories)27 +b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +36 b Fb(113)2025 3504 y Fe(match-hidden-files)7 b Fc(:)17 +b(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f +(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22 b Fb(114)2025 3594 +y Fe(menu-complete-display-prefix)17 b Fc(:)h(:)13 b(:)h(:)f(:)g(:)g(:) +g(:)g(:)g(:)h(:)f(:)g(:)g(:)31 b Fb(114)2025 3681 y Fe(meta-flag)13 +b Fc(:)i(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) +g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)28 b Fb(113)2021 3992 y Fs(O)2025 4118 y Fe(OLDPWD)6 +b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(81)2025 4208 y Fe(OPTARG)6 +b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(72)2025 4299 y Fe(OPTERR)6 +b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(81)2025 4389 y Fe(OPTIND)6 +b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(72)2025 4480 y Fe(OSTYPE)6 +b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) +h(:)f(:)g(:)g(:)g(:)g(:)g(:)21 b Fb(81)2025 4567 y Fe(output-meta)8 +b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) +23 b Fb(114)p eop end +%%Page: 173 179 +TeXDict begin 173 178 bop 150 -116 a Fu(App)s(endix)29 +b(D:)i(Indexes)2623 b(173)146 294 y Fs(P)150 410 y Fe(page-completions) 13 b Fc(:)j(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)27 b Fb(114)150 497 y Fe(PATH)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h @@ -20747,10 +20860,10 @@ g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)28 b Fb(81)146 1689 y Fs(R)150 1804 y Fe(RANDOM)6 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)20 b Fb(81)150 1892 y Fe(READLINE_LINE)25 +g(:)g(:)g(:)h(:)f(:)20 b Fb(82)150 1892 y Fe(READLINE_LINE)25 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 -b Fb(81)150 1979 y Fe(READLINE_POINT)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f +b Fb(82)150 1979 y Fe(READLINE_POINT)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(82)150 2066 y Fe(REPLY)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g @@ -20779,7 +20892,7 @@ g(:)h(:)f(:)g(:)g(:)g(:)23 b Fb(82)150 2851 y Fe(show-all-if-ambiguous) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(114)2025 347 y Fe(skip-completed-text)26 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(114)2021 675 y Fs(T)2025 +(:)h(:)f(:)g(:)g(:)g(:)37 b Fb(115)2021 675 y Fs(T)2025 803 y Fe(TEXTDOMAIN)15 b Fc(:)g(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)30 b Fb(7)2025 894 y @@ -20854,9 +20967,9 @@ f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(127)2025 5340 y Fe (complete-hostname)29 b(\(M-@\))20 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(127)p eop end -%%Page: 173 179 -TeXDict begin 173 178 bop 150 -116 a Fu(App)s(endix)29 -b(D:)i(Indexes)2623 b(173)150 264 y Fe(complete-into-braces)30 +%%Page: 174 180 +TeXDict begin 174 179 bop 150 -116 a Fu(App)s(endix)29 +b(D:)i(Indexes)2623 b(174)150 264 y Fe(complete-into-braces)30 b(\(M-{\))11 b Fc(:)j(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)26 b Fb(128)150 354 y Fe(complete-username)j(\(M-~\))20 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g @@ -20981,9 +21094,9 @@ b(\(C-o\))11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f b Fc(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)32 b Fb(124)p eop end -%%Page: 174 180 -TeXDict begin 174 179 bop 150 -116 a Fu(App)s(endix)29 -b(D:)i(Indexes)2623 b(174)146 294 y Fs(P)150 414 y Fe +%%Page: 175 181 +TeXDict begin 175 180 bop 150 -116 a Fu(App)s(endix)29 +b(D:)i(Indexes)2623 b(175)146 294 y Fs(P)150 414 y Fe (possible-command-completions)32 b(\(C-x)26 b(!\))9 b Fc(:)14 b(:)g(:)f(:)g(:)g(:)24 b Fb(127)150 503 y Fe (possible-completions)30 b(\(M-?\))11 b Fc(:)j(:)f(:)h(:)f(:)g(:)g(:)g @@ -21079,7 +21192,7 @@ b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(91)150 4832 y(arithmetic)26 b(expansion)11 b Fc(:)j(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)26 -b Fb(30)150 4923 y(arithmetic,)h(shell)6 b Fc(:)14 b(:)f(:)g(:)g(:)g(:) +b Fb(31)150 4923 y(arithmetic,)h(shell)6 b Fc(:)14 b(:)f(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)20 b Fb(91)150 5010 y(arra)n(ys)h Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g @@ -21090,28 +21203,28 @@ f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)28 b Fb(102)2025 4739 y(Bash)e(con\014guration)11 b Fc(:)j(:)f(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) -g(:)g(:)26 b Fb(145)2025 4829 y(Bash)g(installation)9 +g(:)g(:)26 b Fb(146)2025 4829 y(Bash)g(installation)9 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)24 -b Fb(145)2025 4918 y(Bourne)i(shell)20 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f +b Fb(146)2025 4918 y(Bourne)i(shell)20 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)35 b Fb(5)2025 5008 y(brace)26 b(expansion)9 b Fc(:)k(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)24 b Fb(22)2025 5095 y(builtin)15 +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)24 b Fb(23)2025 5095 y(builtin)15 b Fc(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)30 b Fb(3)p eop end -%%Page: 175 181 -TeXDict begin 175 180 bop 150 -116 a Fu(App)s(endix)29 -b(D:)i(Indexes)2623 b(175)146 294 y Fs(C)150 418 y Fb(command)26 +%%Page: 176 182 +TeXDict begin 176 181 bop 150 -116 a Fu(App)s(endix)29 +b(D:)i(Indexes)2623 b(176)146 294 y Fs(C)150 418 y Fb(command)26 b(editing)19 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)34 b Fb(107)150 507 y(command)26 b(execution)12 b Fc(:)h(:)g(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)f(:)g(:)g(:)26 b Fb(38)150 597 y(command)g(expansion)c Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fb(37)150 +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fb(38)150 687 y(command)26 b(history)18 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)g(:)33 b Fb(140)150 777 y(command)26 b(searc)n(h)16 @@ -21150,7 +21263,7 @@ g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)28 b Fb(7)150 g(:)36 b Fb(133)150 1943 y(con\014guration)22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 -b Fb(145)150 2033 y(con)n(trol)26 b(op)r(erator)8 b Fc(:)15 +b Fb(146)150 2033 y(con)n(trol)26 b(op)r(erator)8 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)23 b Fb(3)150 2120 y(copro)r(cess)18 b Fc(:)c(:)f(:)h(:)f(:)g(:)g(:)g(:)g @@ -21164,14 +21277,14 @@ b Fc(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)g(:)g(:)g(:)32 b Fb(107)150 3046 y(en)n(vironmen)n(t)18 b Fc(:)12 b(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)32 b Fb(39)150 3136 y(ev)l(aluation,)26 b(arithmetic)12 +f(:)32 b Fb(40)150 3136 y(ev)l(aluation,)26 b(arithmetic)12 b Fc(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)26 b Fb(91)150 3226 y(ev)n(en)n(t)f(designators)c Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)h(:)34 b Fb(143)150 3316 y(execution)26 b(en)n(vironmen)n(t)17 b Fc(:)12 b(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f -(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)31 b Fb(38)150 3405 +(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)31 b Fb(39)150 3405 y(exit)25 b(status)7 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(3,)k(40)150 3495 y(expansion)9 @@ -21179,17 +21292,17 @@ b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)24 b Fb(22)150 3585 y(expansion,)i(arithmetic)18 b Fc(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) -g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)32 b Fb(30)150 3674 +g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)32 b Fb(31)150 3674 y(expansion,)26 b(brace)16 b Fc(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)g(:)30 b Fb(22)150 3764 y(expansion,)c(\014lename)18 +f(:)g(:)g(:)30 b Fb(23)150 3764 y(expansion,)c(\014lename)18 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g -(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)32 b Fb(31)150 +(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)32 b Fb(32)150 3854 y(expansion,)26 b(parameter)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)34 b Fb(24)150 3944 y(expansion,)26 b(pathname)7 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(31)150 +(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(32)150 4033 y(expansion,)k(tilde)14 b Fc(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)28 b Fb(23)150 4123 y(expressions,)f(arithmetic)13 @@ -21205,7 +21318,7 @@ g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)36 b Fb(3)2025 593 y(\014lename)26 b(expansion)11 b Fc(:)i(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)26 b Fb(31)2025 682 y(foreground)9 +g(:)g(:)h(:)f(:)g(:)g(:)26 b Fb(32)2025 682 y(foreground)9 b Fc(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)24 b Fb(102)2025 769 y(functions,)i(shell)9 b @@ -21233,7 +21346,7 @@ b Fc(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) f(:)g(:)g(:)g(:)32 b Fb(109)2025 2102 y(installation)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f (:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:) -g(:)34 b Fb(145)2025 2191 y(in)n(teraction,)26 b(readline)7 +g(:)34 b Fb(146)2025 2191 y(in)n(teraction,)26 b(readline)7 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)22 b Fb(106)2025 2280 y(in)n(teractiv)n(e)k(shell)20 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g @@ -21263,13 +21376,13 @@ h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)21 b Fb(86)2021 4100 y Fs(M)2025 4221 y Fb(matc)n(hing,)26 b(pattern)9 b Fc(:)k(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)24 -b Fb(32)2025 4308 y(metac)n(haracter)7 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g +b Fb(33)2025 4308 y(metac)n(haracter)7 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)22 b Fb(3)p eop end -%%Page: 176 182 -TeXDict begin 176 181 bop 150 -116 a Fu(App)s(endix)29 -b(D:)i(Indexes)2623 b(176)146 294 y Fs(N)150 410 y Fb(name)19 +%%Page: 177 183 +TeXDict begin 177 182 bop 150 -116 a Fu(App)s(endix)29 +b(D:)i(Indexes)2623 b(177)146 294 y Fs(N)150 410 y Fb(name)19 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:) g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Fb(3)150 497 @@ -21289,15 +21402,15 @@ b Fb(24)150 1388 y(parameters)c Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)37 b Fb(19)150 1475 y(parameters,)27 b(p)r(ositional)7 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:) -f(:)g(:)21 b Fb(20)150 1562 y(parameters,)27 b(sp)r(ecial)7 +f(:)g(:)21 b Fb(21)150 1562 y(parameters,)27 b(sp)r(ecial)7 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)21 b Fb(21)150 1649 y(pathname)k(expansion)18 b Fc(:)c(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)32 b Fb(31)150 1736 y(pattern)25 b(matc)n(hing)c +h(:)f(:)g(:)32 b Fb(32)150 1736 y(pattern)25 b(matc)n(hing)c Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 -b Fb(32)150 1824 y(pip)r(eline)12 b Fc(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g +b Fb(33)150 1824 y(pip)r(eline)12 b Fc(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)27 b Fb(8)150 1911 y(POSIX)22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g @@ -21313,7 +21426,7 @@ g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)30 b Fb(3)150 2172 y(pro)r(cess)d (:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:) g(:)26 b Fb(3)150 2259 y(pro)r(cess)h(substitution)11 b Fc(:)h(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:) -h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)25 b Fb(30)150 +h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)25 b Fb(31)150 2347 y(programmable)i(completion)8 b Fc(:)14 b(:)g(:)f(:)g(:)g(:)g(:)g (:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)23 b Fb(131)150 2434 y(prompting)17 b Fc(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g @@ -21330,7 +21443,7 @@ b Fc(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)26 b Fb(105)150 3325 y(redirection)13 b Fc(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)f(:)g(:)g(:)g(:)27 b Fb(33)150 3412 y(reserv)n(ed)f(w)n +g(:)g(:)h(:)f(:)g(:)g(:)g(:)27 b Fb(34)150 3412 y(reserv)n(ed)f(w)n (ord)13 b Fc(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)28 b Fb(3)150 3499 y(restricted)e(shell)14 @@ -21358,7 +21471,7 @@ b Fb(87)2025 892 y(signal)13 b Fc(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)28 b Fb(4)2025 984 y(signal)f(handling)6 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:) -g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)21 b Fb(40)2025 1077 +g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)21 b Fb(41)2025 1077 y(sp)r(ecial)27 b(builtin)16 b Fc(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:) g(:)g(:)g(:)g(:)31 b Fb(4,)26 b(71)2025 1170 y(startup)f(\014les)10 |
