addition to POSIX mode documentation; new translations; update copyrights on some files; update formatted documentation; changes to cut/lcut loadable builtins when supplied -a ARRAY

This commit is contained in:
Chet Ramey
2025-06-06 12:16:11 -04:00
parent dbe4256d5e
commit 727b8d3663
56 changed files with 6737 additions and 11126 deletions
+339 -319
View File
@@ -1,7 +1,7 @@
%!PS-Adobe-2.0
%%Creator: dvips(k) 2024.1 (TeX Live 2024) Copyright 2024 Radical Eye Software
%%Title: bashref.dvi
%%CreationDate: Tue Apr 22 14:00:28 2025
%%CreationDate: Fri May 30 12:52:48 2025
%%Pages: 214
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
@@ -10,10 +10,9 @@
%%DocumentPaperSizes: Letter
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps
%+ /usr/local/src/bash/bash-20250418/doc/bashref.dvi
%DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
%DVIPSParameters: dpi=600
%DVIPSSource: TeX output 2025.04.22:1000
%DVIPSSource: TeX output 2025.05.30:0852
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -4954,6 +4953,7 @@ dup 41 /parenright put
dup 45 /hyphen put
dup 51 /three put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
@@ -5196,135 +5196,141 @@ ACA503B3C565FE949A30F08F9A68541FC740549496AA70885C19FB751B46C797
2BDAE3C044E0BBD0FFCFB0E6676B8A06318ECE80777A5FA5A137CC043FA0E17B
8BA4E8C5DCD5854EE5775355100225D52D719BBE3AE2BBAEE2A9EBFC1E6DDB44
30B4DC186F26DA75731DF0BB2232903645900B351A1A40EF09E80E4D602E3F3B
91708A66B4DBCFCDF9F739947A34AC5BB67EA974A305C7F95DE2C331D8E5AC2E
029BD620DFFCD216CFF05B10E68262D58DED07D9CB5CD73C20778E3BB1B1EDE4
A4538AA03CB7778E19B89AF3F34438F882105DE368C1B5AEF6667CF77ADB94EF
D54E166110F8242A64117AB9A9B78E11437F0CC332865D268FC5F5259CA6BAB5
116C169C72CA1390D264B6694721F6C4E11E7FBA3E71EBF9DB0CAA0E47293153
A02729F77ABFD98C8BEFF6C29C0C1471033978A1FB867F3BF22158B0A4781426
8AC4F157E5AEA63F8D164D6654360577CD9860282B379FBAAE27F07039161ED7
F8B99311C72B2A02189A447CED8191932F70BBB78D805847EC77F3C43CF58CC4
EAE0E7219426BF23819E0DE5912486D77B8B7D585E6A50AA5762197C8E2C4EB4
3A2B1A34E8C0F5AED32DA5FE92952FFAABFB29742C18470AF7046292E11154F0
7F9EE5622DE1C04A60B8D0C2257EE8D06CA3E4D0D6CC2B6CEE18B4F5BB2E7299
A939892DD8DF1366FEF6258390F3E7563A3A4AB54F9910A4A317DE96DE0CC1D1
59E087517210E5012256A56EFD75CBB351B9F3CEFCC5EB693BD3F265490AE809
C81D375B49279900C5EA3804B495216F8905D3C430979032230C39106F8FBC7A
F7FE5AC195AA3F37EB736B5F9895A6C7494A19F53325FFB31C154CF78879D336
BFB1718799B2A1E0717833548403E3F4A96023F9FD06B5728A1EEF86FCE5345F
13ECCC04A6F06A2195446121C45F4A5CC66796924A6EF8429327CB9BC3289F13
71FC30E1DC10D7BF6DE0A9E4135FA3D86B1FA416DA5277F678E72B7DEAE1E7A8
83B615B9DFA92F8C86B98A36413A9A83F859B06BFD57A239745598EBBC91FA11
5A7738F46DE08A31A286474EFF96552B4F2B9552C806CE2988879B2B707063CB
F4285218597CA39A00A3432B784F8EE45AF5507C667E1641374E225B71F2BE34
69F1DE6B8357A78646D38C4E2430011501FA6C4791BAAF24A240A8C765DFCF4E
EF8F3FF7B892F0070FAF734DB0BE2F0122DE5C1EBB2554C4AFF49BDEB6CE9A55
E0F246D29A8001F5704C04FF41D7439D628AB4D968938A4C094FEBF4EEBAE758
0D7E247AA9D7598BAEBF182DB178BD90520E80748C35F30339BC6BE01F40473D
7070138BEB5587F0536F517BFB4B35A0341E803D7E38500308E3DCBB1F0B107B
B7C9D890BC079A1F7727DA51CFF0E36D2F93CC990E2A5354CEEEDD1C43A4D760
80E97B13E562EE347252E72829FBDE9EF644171C02F9394EF0DFAAECE1BC9A59
D0388A70048AB2AA8C2694391FF2BB9E764BC220A77970E324345255E2D47540
BCC6903E2D87A75C6848FEF763D5794D29D7BB362890D591AAD1B210D5A3198D
455A4CD565C3A85E88525FB2F2E340ED2AD15A5569C54DFA9A889D2790C1E4BC
984690ADEF12C1C57A999D08B85BE2AA554E20B48172FB3FDCF127E4CEF6283C
77EBB27AA14449610CA704337A9427AF3EEB863707009A51A1AA9E3DD0ED6C1A
B0579A4CB74F0BB962FA97EA4C3599FA782C9714237C1A04665BB5C6FF544208
D7AF307383667A7AA3EC2D5B349B5ED7C7F37CA5FBD5B0171A95D7A9A3D973AE
F8632214A31264888AF7292B81E19AC2846E0C79131C40B391B0A785E2CCE197
524117179B44B9E8B633C1D3F19F1B3523CFC02DD5F1E9806BEF62491140A59B
2052BEC84B496869EACB84AC9CA6A854D5E701186FB15BA016B33F9681F5A5FC
2AE141291D02383433C57C205F526D3CD4FEB5D99B2FBCB609ED85B474BA8F69
C45A1BA96B5AECBE7EC1EBCF265F400DAE943CFCCA785907050CFA6A23CD4C5E
B6DC2C793BE8D8ACD85BF83AC662205BF76981DD864E58F66212A4F8A650AB7E
244444786D75D1821283C544804F8FE5EA300E3DDF832056A916DD9FBEF04E68
339C66FF5054D30C094FC5498AAC3E170701C382322DF543EC3D98A11FC3225B
158694570C4FE19CDF592F5F3A111B63615AB2DA3E932CCA1EA02373B01D6398
E6AAD8FEB3C9F62CC29CB6CA30CEF112C1D004D21A28DD03952D5188F5C39203
BC5EB7E6BBD07B30B12233964860C7302493DF286F87C9AD8C8DA34582AAB342
E726C5EE08AEE84BBE57C3C3D0465DA3ED81F506337B152E97F303093526B26E
4D52B0C43CE276B4F06E8E8601FD18496B166303CFF419B9B5DC200F691F1955
9C2CF202F41BF2295E1738F5C7ACD434CF628BBE043BFE2ECCB5DE2D71BDE932
0162EA7DB842017FB1F428F91ABC693A1182DD1ED09AF938F5934F5CA36C001A
810815A152A96091B27E49FDE87BD97F019804D1FCCE1793700AC0762FFB3FD4
14245E87888B54D2FB91AE501B0A998732321A9A275265A7AF196CB0BBE2A9A9
27DA00C9282EB875B7D508ADD444261C799B558F764143BC780C8F6C74EA7FF9
8C2CCA95D9E5AC225843019E3DDCAF3555381F3F7A46A49731EBEA3D3BCE7C29
C5D86EDE26FDC34E9DF04266B9FEC79CE387493FA40AB4762178686659D210BB
30215702BFEC9EF027916978583A76617EB180B8D6C866257F9C14B80D7C0254
A5B1BD9FF2096AEA41031DC702911A40A06092EDCCFF150DC756A893E19AF583
832E7B0ED88996692783C11CE1CD5BB3268BA0579BE0E003CE53B0E719B5BB2F
AE87DE65AE8064AFB8F4EE72F16F4A567AB2EBF3002DABC0C3D56BE7BA073860
6B583385F8478868364A85BD9A89ED52693E4E03188872917A2219A89599F867
F7585E713CAC55F4D523662891745D8172CE06910AEAD92C0A9489ABD51DBB8F
C5FC9DE83FF69505C1F09A8598FAF1BFD3FFFAB05A537C6E651EAC117E0F3FFE
6EE53778C2017582250FA25B381300766CCF1EBFA5B210549FC243EE32FD1381
FDC1070B7BD459C025C6B591032CE422BE8B6B411A0380175DC101C3859B315E
47ABA9A68AC52CABD3711AF236E3B67BAC6BDB07666F563441CAEC10C2B12196
6B687C34F8FCC9C061B6B19792F3F2CE72E4AF6C8070709C9CC9DD8B8CBE9980
79FDC3D6391F35022B3E1EC0B298DC2409842B39386DBAB07F7DB4F28A40F3D7
FAF6C7E39C16E88AAFCE8F5958F7D3E2E866FE990BEE541983253F6A447919B1
F88600D21A55E25EE7DAA7CBF0E9E632C1553BF1C220220DBA1132995D39796E
548448C9940F18CD41D4153AB742BC6E5A200D70B12D2C91CDDB60AB2D949FD7
05D9F51500E5D8FA6A3BC706FD66404EE565EEBD6192F1BC784E47E55312B4DA
531121687D60CBB1985285E73A7CF3A629A104EEB54F4DFBB6BF9C326D1ABAC9
FFFD8142F10E17F9C4407589507E47CA36ECCC4DDB2A8C3CB1EB57AFEE28E2D8
809CB435BB888BAE35BAFD16B3764F6922E5A4DA6723CEB52AAC2951F0C3DD54
A25D55C9830728F471170004020471DD7316BCE6E5293DD716CA55F05693013B
EAA64EF3814069A5B125FE134ABE80B54644DC89BF0058C0039EAEEA998D817D
315AB5A6A28F31472D169FA2AD749BD153B45B81EBC0C92964415FCB8B8D1AFD
245EBFDE89121D366C8DF5322F7090D0360F680D029C3C05987B066CEEBC3B21
5558632CB4E826AC1E70862B7FADD4F0AA9DE4FBE517D3D0C8BABA83FDEBB01B
B37CA493E4A21A758234157A94BFFD9AB867840FFC638EDAF4B8B36476593C8E
A7E81C53DEC2832621165C53029DE5066813F0AEDF98BC881B45986CDDD7158A
24F245A6E71EFB7075790A3AE298953EBEC4AE166F66E8C33FF7ACE0D20575B2
5910A6716280EA62F0C7BD75987F620CEFD9855084FB287BC944E0DF7CFCAB1E
184106282A5083E42313EB5BBFA6DB134F07CAE3273D9B6288AEECF43A4337F3
7CF6D2A6B93FEB3281F4001585728CC11A076C5BE40C2E9D24303ABF65475DBD
F2B7089743EF0E70670FE9BED3550794945ED5C1370BD4BF7A576E24F7A7B8B5
9590224F96CFA37B11E82BC3C0F204AD60AB2D3E72EDFA23197BF91D9985645E
B7F7EE572AA35A5773A612880B5504789EB184550B3575F3C45B9E9D3C945940
BC05F5829254CBF087EFE06ECD5C68BA41D79A4EB5B0596825157FAF7B16A723
50459059531503BAFADCB2AFBEC4D0DFD2129E2654255AF136AB5758C88AB51D
6BA6CE751AEC740EF8A5C738B22038156D12EE80D9CCD34D87E4863784B399F7
B97BE7794B6B16F3468EB810B1E562E9D09E05F6D03982C4455ACC4138415358
C41EFA7647D8803B582F190A818FDD67B5C65129B99A630F615DD92A73EB5B68
2683C9E42CEE118A9C642D7B00B7238791AA5972751248C32959589300C2AF60
A777CCA09D66FA49C38BEBC5A233814B006CC15BF71C12305BE9B1E81429884C
D3193BB1C07E9CAE0E73F220C4C5EC3E869E9B7F12FC85B998F7FB2513224868
082EDD4977F37690D36E791D5685D46F6A5128B57056B2F5D9BDC29AFEA659AA
FAD00B44FB5BFC84F0D2DE276A4D53AE32A85D051D4FF7071BAF8473EE2767CB
54603F343268BD752FD0F59720B62A3A49D3B89CFE75DC777A51AF18AC918BB7
4B30884FF61AF01C417AADEA4AD4F14327FA3C14486BB5D1BC07DB7443B04D9D
E20A5ACA8531B476A92DE84D02C1BF2E90EEA55B678E07CED5AAA14EFAD83042
4172743746A4963F82625635F69F280DF086DE28B0F4FF205A530506556C9416
3FD225BA22B9B6EA745A28C05B2CE086713E3964DA2A5A4D8A860F0694DFC7B7
58DEEC11BA5AABBAAE516721F3CDEDAA0EC320E543FF7BDFF5C5F7E1800ED7E0
0E686EDEF974ADD0D84AC93936C1590C0C900B16309DC6CD11FF29F7A18256FA
658351FF63F8ECEDF1A08ACC907723574A69757910C123480D37798124B644C0
A209AA45D6C2AF87FD66948FF924AAD4332864B563CBB49DDC47371F386D2005
63C512685F38BD1613D45DE23F3B16F861FDB39BE984E76657DC2F7315BAAA32
1F48A9E6E880D6DCCACCF3503324F9F10E672695C487A5F02C11059EB3D65945
76660D7CD1892564904EA92E040CC6418C1C8C207983849E374583C32ABBD886
0B41A147DD2CDB5E97128A7E8351A5583BADC4A1DA271AF38D2C09C2E78CD172
808672645B0B197694125C1B8D010D0675CBBC1A399A4D6DC768E773CF0CE2F4
0C922B8384813E5602DA73518CDD721114938E290AC48E50ED3B4E109C607A42
18FF245B7AA243593F01A41E8FE317ED997C16BE35A3A802EF57929C82B9637D
2B694013286C22A4052940C4816AB2C203F5726E6286E235FDF28DA8A058B024
B78945E8A38FD5B82DB71C2BA3D61CE8512F554F901E828A753873D7D35ED923
79A4738CAE8113297E53E4665906A1EF4D1653DBAFC95F5B619C783E42FFD95A
B38B4A5C4235B4B769759B8BA80B05999091D1B48D401762E2CE3DAA631DB555
1FEF72484E29C7DFB767811A49B23231466FC826BCBAE39ADACDAE8FF665F33C
E8707685B4C46CEAE91CFB897D6C4982A0F73BA0CF85D4966484BE20E43F1F2C
706C5E466247F343833A0FF9877C812C6C06B2B7076E282BD20EA0819345867E
AB2C71D97347BA071834F9539D2F7561A7281A6B6F91A6A5AB576041553716E1
0DF8F5F400F9DD06F13894181B58200AB282161FF91C82DA04761435B141BE4E
22E9DA50EA6B37E534397B0A66ED598196BAF64EB579C7BB08AC795DE403C01A
9BBEF136818330E2700389E8CF5D8734CA7642DBED662EB43F99F0E91C983CA2
1BDEE4F01680A833C87A1B1BBC9FCF2111D9835F1993F2FB5EDFA2D30131FC8E
0780CC8FC83E52B9FCC8454C7E95C3E45AD18C196E302341ED6A49D84D595852
CE841193E319A2D566BA1781242E2A6B3A09EB62EEB76956FD61BC7EB31F76F3
CBDC3AE9837AB34F5FA6
91708A66B4DBCFCC2A6B3C3FEDA18C851EEDB91B757FB44909E3DF1BB06DDFE7
30B193FB0D3D09F8B11E7B417B00555E2413A2572E67AA9B48C859A4FA50B834
CFB8512BD5E9D13DD1132F6704EC4ECE2A132C3AE447A5F332E60928ADA72B63
9846383F731E0F6D8B5458ED73FCB6EA6615E2379E6AB895CADB47F4595A502D
45D99ED65A2909B95468CEF6DA0393F644D5CBFB34C7642F7B42A38ED34DAED1
97C0DC8F2556AFD0956F35C26FD1413849912627AD230A6DF64A657B8EACA61C
E01E0FC10E680D1213CBB756CD85D67343E6C89CA30981C6B31AC0BB3CF76D73
3EA83F472E0FBAC18DA0968BB15942BB25984BCBF99592996F4B896AB6077E37
432C9DACD78769827CF159E0BFD7E792E9A623D05DD7F2983F157A4E0D3C61C8
44FD2EE38965EDFA7909CE809C8FAC231541015D692C17D65E4A5AADD889C7DB
27083128B78310B37180A83E85ED7E12A6E278C4C61BE3F2CE7C6BEE827E8837
15212BC5779B4F1D7A09A89573452F59194EAB6374A8D887167903A4535D3E86
4C0A6D3E3168E65F67AB2CB8D4DB1A7456461E9D6A52B752D5A4C6C1C14DC410
6D3919AF616F2EB4036B48D7863F77154BC028A70037514E283E1A448404DCCA
C03F4DB671066CDA6414204F54AA899ECE4676D8992943A108E1A1040173FDFA
C22739B5E42C6B6230E81DB55BACEC7D7A77BEE1450EB4E76BD6ABA0517B924B
9B4F65BAB4EA17AFBFF9FC99F504DDA47A3EF836804D2A8DB02250ECC1F185F1
273983C49340AEA983D1862E9920D8A19046DF30B03F204A65CA971A702FA790
7A1207A59D57886D7F7BAD9B5763DDF0CBD9C26291F1310E4C7ADC388B0EEB8C
494F56E4ABD1E273AB1550D234989F106D85DEA26E8572B712FC1E47A7F941E1
81FD663E667EF64A3B6E780F22AC9AB166288ACD6B6DE0DDACA8EE96895DE623
F887745E77B6D95410BE1A33A3DECDB646C342DD745876B909DF57C5FF69108F
BB3E04358715700B9D5289B7BF86BA03C96E72C45588BF19FD1BAEC5758C6AFD
CE305899B23F877BE70F91FED87DF410C20F932F72AC437C9AC2C14D48BF79C4
A9CB3E4F95F88B89136AC126EB2245F2760463E10A1439708DBC3C6028EF54B5
F601782C652600DB0EADF179A5CD975CCEBA238CA2F85E1BCE229EC2021F1454
90A6FBC9647E08C2000FCADF613B837969178D44AB0659D9D8B142E216AD612E
7EFEA426317CB26A4C67B5588607B17B65D6145621B7E9AC5E2FB6D82BD706EF
F4BAB2278C3CCCADB21EE033A4C9735452265AADB3682CD57758CD47EB39993C
A722680E13EE1B7E29AF97C168F6428786E1B4C284E3004B3185D5EC1207CE91
6CDB4EC6879519A377237B059DE5B340B2506879C6517D6F36C98392D334FCBA
153F3E580180E6EE253DEC9B46CEF5C4E9287A72C53C6AABE7C5F4F006792854
56CFB32B4FA636D35161B3EB6C40C9B9FCA605851B553877BF0CD9004B0B3C6C
9F76C8688E3E3D8C142A23C9035E77D0F90C198AC39C7C9371F72C1D473A50BF
0DB83C888D6764393CC4C7F28226C29E028F6FD830CE850083BC3A7707E3925D
FDE48920E5C2C228B9A02424AA9DA14E0DB4ED0D43EDCA7EF9A96BCB6354F04A
ED6D35CF7A4F669EC60C99118913C6C3B61F50C35FE2C5808E2C0804EB925FA3
37E2D42990C84B26257AAFE9D9BDE77FF125CE106FA066B9DA902B4D2F0A3844
C5C96C3FBD0191A50BF798B3DF1C2CE05019E0B91CED479216D4518C9237C394
974E35929D8FA50DAE7D8DC9ACD0B93984B7D4E909DD97C2BEF9DFA3575936D4
86E923E95C76F0051CED607A7CA487047474C39DD11E3FA0F23D33FF5CB65C9F
F5225506B4E5435016D4F92E8E853C7985C46201883BCC5F327F70542FBA00CD
7B43C5FD66E1670F2EE9B9316E45D6C3D0DD9AF463F0D460585E2C2AAE4BABE5
C7805F81C8560C092103A63C190F97EBCFB1E2CAE202E09623DAEA9E502845E9
EAEDA60AE08657270F7E31B565D813F81DD9D5EE5FF28D3BDD8E8C988954C591
EF5F86FB2C930CCE57CA447D22DB0F91E5715774DD18FEE6282EA9B9524046CD
9BD32C82096AC7E11E6F975CE8BDAC28ABD40A631D5ADE7B08B5C3ABFE253BAF
C0DCC5CCC95B34149E13559A9ECF503B2EFB1CD3FC971AFC38349E8D4CDB7F92
E0301590C0E28E1CD5998D401332530B749CF239A94E61126A3E58DA153B4636
4761D9A49FFCDB5B76E4A7C9868BA67EED58B0354BDE5F93A97038F6C27E1088
DA3E30A9E958A3A4DB441D3FB14D1BF60201F32A2162E3B4672CE6036322B817
2094A3753326B93E750D5D089ECDBA70EF7BE18A7D923964F0B39C13B474210A
0C801824E702ADAFE8D8460FC48FCA6A9EC26C714796A89AE9E061240BD39106
2B9FDE81DBF2E0D09D5899035E1FB733849598A3767E2DA726890283C0FD8D6D
8895E3613CE13FA4B424D95FA099F9610FBD9963D45D46BB4265E1108EFFD9BC
DCE1E2BCB5C16C0BD12834F70EBD59BAA63115B4F12A24496BF5A4D23FBE89EF
980E94FF241A49EE5625A14D446DDEF0B69A9A7198E360235D953404DFD1EC07
6323392D0E4FE6954B70F32958E8F0C528373102EF2B23FDB7D79AB5A00AD438
3C7847FF35878384B0702B8643F60A516DDFB683E38FED29BC034EE49D3359EB
3983154A0D2995528558463D2EBA4F0DC855284968F305D7E618142C4F2680A2
A7D214AABFE635D1D75536C165A3989C9C03214ED83A6F423983ADFD45959707
383A5BFA058E20A325F09D386EB549E08680333CF43582FD09BD5A30914DA8C2
4FE430810CEAE208A4A1E4599B55E177460457DA4510EBCA4317005FE1641AD8
87E76AAED9299A492AC1757F6FB1ADC2328842E3D68C0FF0D3FCB7E51B4E08F4
AFE461E5A2EFD6AA7D62CF1609BF2CFD37A9807C88E3157722C7991BBA55685B
4C088D18C242E77A92407ED80D4DE389752ED29E50A5D5DDE93C9A4DFDDE5C38
B30584F6255500231A9EB03BBD33645FED004541D095430209A3D43245063387
8141D72DCBB19ACFD298A6D980A34EADA7EACC4CA0650E2260E3F0625510BA50
09A5BFD2B382CDDC68357EF7B3F2232B0ECDFFB5EA68B8DA44EC63FBC709FCC9
254B3CBCD772C1BFB0212E908CF1D1FA4AB9B63FCE36008FD6159B5921303457
D9F1AA25FDE085DF6B5F3F4D27DA8B250A7BF4E9BD067209852A6FD04ED61AB7
2761D72FB3BFBABF5B2C9B4C51472773AE5FA5BA283249196FA4703AE8D2BC93
E9C87378C51AB36D4154A6CBF6D0F04BB60F7A803A5E9DD02ADA9690E7241411
230E9287525B4F5B9BFB3927EFA4A4F17EB849F731E7B9CC557E721485B27D77
7EDED14680FB592C5C214FCC83AC89C3CBADA0AFABA5BE9D7CBC73A1D7590C5B
EB372681E9681738EEB27D812E8F63666002BE8237DF9D1A030D58F479DD3C89
A325970C20C20349D3E243FB0255A66EE53318AEC3963E83E1521B17927BFC8C
104F5052B05B4BF759481B65F2AAA08F53927F28E0E06B160E25224C3FA2AF8C
DA0DA5FBC15502A9E38BEDB9F24C1D4B115EAC9ED9DA490519D206E7E8A5C597
1A9DE22EA133EA9C1DD05EE44932AC4C47EF92B743B99CA49A4D24DD7A9597A2
5E678DB4EEAE812C00D3DFC1660D442BC3956B941D24F3C17D654D21F9CA135E
706180E03058CD04867DF42B27ADC04C84DC4E147E819A82B0144A8539D146CC
229E29FE9FFD1F5144366B7A0357325077E71093C0902C076C16323FE18E34D3
5E38F0F6B8153F6E3729B582616F43EF4BFED11E96604E73A820AAD9B976D673
E4516467BB4C938A04BDEDF19D8366FB89B021310169355C0BE5D0781293E6E2
E46F572EA4F66B1253BE3C2FE7FB30092ED2C5FCED39A97C5039AAD8CB41000D
F33FB894B57EFDB51E4AD8935661D3DF41601552F245712A44D384A7C1BB8209
A24908872CB129B5C56637B548CAF0036EF165FC7CE103204A71FA7354B94589
2547AB84089EA9D4FF4F125DB93FA845E2187B4FBE931DE05CC3ACDE09C5230A
C1C73DCCEBF0AFEB3EF052F267F0F5DF1D66C89C8E93F38212E974B0362A9DDC
47B97961D7285737F2176EBCD70CECA79606859F8B88CEBFB4B4D9250B0F3496
7C9850B6CC2C9C227E0AE5B9CF61BDFB4EFCC07C083CB2631DCAD9B0CDD3469B
F5408972F0052A7D7D7B4C81421F33BCE5D1ACC9F033FEB51CCE6060F611FE4A
0BC396D58ACF04184EC1DCEEB6711C7C6F171B79DE2680C34959275D0E9F8A1A
A1DBF43F1A50B82F631205BEE0DBDC69B7AD74BFB08E3190610CB966D6A689CE
20A1D6D3A8F7A0C8318F309DF47813D6DB98C2B725B0E3E9BA0944C8A961EB9A
BAB3D7B987A5F0FB5DCA7F3CE510EBB9FE7F045C44ED5EA72DE6C5B05E419415
72C5084CF59E83D5BCB203201A43547FBBBADA248255ED86E81333E9814068E5
51316EB120BD7A6B7DB7C907D2A1FDB6EDA22EC0FC863B842BF73134101AE59C
9528AE301BA7E5F03EA3B58E7A3FC7A1207D117EA58EAB0D6855DC88ABE23B95
18F319C307A5EE278A89909BEADED3056E577A1F34D7410B5D827FF1281867DD
5F9D04DD8F24F420CB1F6A52AEC8A52701A5B99A2696BC2827D8F1B0004D380F
93CB984DC5429236B8C4BA24E20D2DF19F872A84883CE944B798B6B148993691
F4BF17CC2952F9F85333A8492F63D460378014AF2A02A50972120B3DEC05E54E
CB2192E31A5FCB88AD6EBC88004B29F0EA91B346CB2B65FDDE1BCB5227C65EAE
14F191859B55CA7BF0815A7F5CD583085E902E48E09F7C4AB48E8DF7C550DB9E
0D37671146FCEF5E572F4520064244671B8E0EE9CD80F7A06B0DF881952E2170
8F9994BE756B1AB0A2C71C9E1F181F8F635F4282878D8BAF16B519D685E99985
236FD4EB83127DF45ABAB8137580919A633EE3813835FA1FA7930EA3627CCF57
8C01329CF170ACC8A08E65478C3FA7C39AB68CC6172A83F50406EF3F6A532969
08CB29259774A33D26DCAFAC7E35B1F16F3A8E092EF1408EAFBFE34714EB6B53
37C1CDBEB6FFB780E148AB32D8CC4B8393DAFC29061AF59D059A03128F76232C
2281DEBFFDF89440008BAA676E400D2909BE95350BA495CB5BC2B0C1E808A67F
8C12A7B0B29778B8DAF30432622D84138909E5866871C566241AC9893696C20B
53B11E41A7E8D0B08D2C1C7D18D2F3F9F0DAB2DFB99EA17E53D2FB83C48EF123
80C085C6395E6333E51E0928F1E8040F520A531C313E5571E37FC7A2ABA8E589
BD100B2C01D13EC317E11EA4B3033D3E63ED7FCECCF610DC78319E052431F2EE
F37473B1B362897E5EF60FECFFF3DD33C36049D888DA082105B46123D78C296F
C1CDBEEE60F6AA39B22C5163C54F6DD9E324F88BC13383176FE2FC88AF56CEF3
467AC8860B6E5D6A886F0A3F6F043D0ADDDD45354F69070A45823968D31467F1
28D2C18DB5901470323CC6880CAF849F6FDC1CAB1301B24624190B06F98CB493
B883BC8D3ED2BF23896D4ED94B5ED6EA0BAB6918D458FE8D246257EB09300550
4A4A865BC9D686120BECFC329F468ADC94B7917E05EAAECCCF433A57BE01EACD
9B96E4369AD38E0E877C4E9F6944A6DC4D7A053F304EB4DAB9FF375DFF3A4F42
A9E68C87E7DC462F557FFC6B5A5A3977A4903F3DF37904F99B1F1E0449A69BDC
6D9BA0A87C4296A398C3FED6211868176C0E975288BB3E5BA0C8839A2B5CF275
DA3E9C8AB1FAD2E20EB2456138F324DB3C6872923EE1A785E58B89DFACCF676C
5F4CBC2ABD84E52854D01D2383D063A3DDEE5D18FC72D49F3C1C5B0699F2A93A
2FE26A8A4CD859C88ADF1DDAA01704889764BC7A895E2707548FC587970D7BBC
CA26876B9476AF789D099274522195B62B18FAAABF7966BC693FD014C9686AC5
A2EE90658A218DAF93B6BE47FD647C1291A999270C267A28FF077FF78A8E4249
2F0A7E3FA0A1D3DF9D1D1F66FF954ED296277AD7DE85FECCC788AA88B9B9A1C9
E17BF86E7D7FE3F2F7C20771DA823896F141733BFAC034920D3B6F3FFD44CD29
6FF1A159FD3A6A543795BB3AB0EF517E58ACF8300938CA4010DC5AB5197E4B94
48
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -7567,8 +7573,7 @@ E69030FD907778821C66F93220A31991386640AC2315A5B7DB80B4AE91A6A4D7
cleartomark
{restore}if
%%EndFont
TeXDict begin 40258431 52099146 1000 600 600
(/usr/local/src/bash/bash-20250418/doc/bashref.dvi)
TeXDict begin 40258431 52099146 1000 600 600 (bashref.dvi)
@start /Fa 130[55 1[55 123[{ T1Encoding ReEncodeFont }2
116.231 /SFRM1440 rf /Fb 133[34 41 41 55 41 43 30 30
30 41 43 38 43 64 21 41 23 21 43 38 23 34 43 34 43 38
@@ -7597,8 +7602,8 @@ TeXDict begin 40258431 52099146 1000 600 600
96 116 74 96 1[46 96 96 77 81 94 89 87 93 1[58 5[61 61
61 61 61 61 61 61 61 61 1[34 41 34 31[68 72 11[{}63 109.091
/CMBX12 rf /Fl 134[44 42 1[42 1[30 37 38 1[46 46 51 74
23 2[28 1[42 28 42 46 42 1[46 45[46 5[33 3[37 37 27[51
12[{}23 90.9091 /CMTI10 rf /Fm 135[56 2[56 1[42 55 1[51
23 2[28 1[42 28 42 46 42 42 46 45[46 5[33 3[37 37 27[51
12[{}24 90.9091 /CMTI10 rf /Fm 135[56 2[56 1[42 55 1[51
58 56 1[47 2[27 1[58 49 51 57 54 53 56 97[{}16 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
@@ -7646,7 +7651,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.3,)g(for)f
Ft(Bash)g Fu(V)-8 b(ersion)31 b(5.3.)3333 1697 y(April)f(2025)150
Ft(Bash)g Fu(V)-8 b(ersion)31 b(5.3.)3364 1697 y(Ma)m(y)g(2025)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
@@ -7654,15 +7659,16 @@ 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.3,)c(7)e(April)h
(2025\).)150 4523 y(This)36 b(is)g(Edition)h(5.3,)j(last)d(up)s(dated)e
(7)i(April)g(2025,)j(of)c Fr(The)h(GNU)g(Bash)g(Reference)g(Man)m(ual)p
Fu(,)i(for)150 4633 y Ft(Bash)p Fu(,)29 b(V)-8 b(ersion)31
b(5.3.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577 4767
y Fq(\015)f Fu(1988{2025)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
(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s
(cumen)m(t)f(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.3,)c(18)f(Ma)m(y)g
(2025\).)150 4523 y(This)k(is)h(Edition)f(5.3,)k(last)d(up)s(dated)e
(18)j(Ma)m(y)g(2025,)i(of)c Fr(The)h(GNU)g(Bash)g(Reference)g(Man)m
(ual)p Fu(,)i(for)150 4633 y Ft(Bash)p Fu(,)29 b(V)-8
b(ersion)31 b(5.3.)150 4767 y(Cop)m(yrigh)m(t)602 4764
y(c)577 4767 y Fq(\015)f Fu(1988{2025)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(to)g(cop)m(y)-8
b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f
(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26
b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43
b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8
@@ -17077,271 +17083,285 @@ 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
408 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 518 y(found)i(in)h Ft($PATH)p Fu(.)154 655 y(71.)61
330 518 y(found)i(in)h Ft($PATH)p Fu(.)154 648 y(71.)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 791 y(72.)61 b(The)35 b Ft(unset)e Fu(builtin)i(with)g
Fu(options.)154 778 y(72.)61 b(The)35 b Ft(unset)e Fu(builtin)i(with)g
(the)g Ft(-v)f Fu(option)i(sp)s(eci\014ed)e(returns)g(a)i(fatal)g
(error)f(if)g(it)g(attempts)h(to)330 901 y(unset)29 b(a)g
(error)f(if)g(it)g(attempts)h(to)330 888 y(unset)29 b(a)g
Ft(readonly)e Fu(or)i Ft(non-unsettable)c Fu(v)-5 b(ariable,)30
b(whic)m(h)f(causes)h(a)f(non-in)m(teractiv)m(e)j(shell)d(to)330
1010 y(exit.)154 1147 y(73.)61 b(When)39 b(ask)m(ed)g(to)g(unset)g(a)g
997 y(exit.)154 1127 y(73.)61 b(When)39 b(ask)m(ed)g(to)g(unset)g(a)g
(v)-5 b(ariable)39 b(that)h(app)s(ears)e(in)g(an)h(assignmen)m(t)g
(statemen)m(t)i(preceding)330 1256 y(the)30 b(command,)f(the)h
(statemen)m(t)i(preceding)330 1237 y(the)30 b(command,)f(the)h
Ft(unset)e Fu(builtin)h(attempts)i(to)f(unset)f(a)h(v)-5
b(ariable)31 b(of)e(the)h(same)g(name)g(in)f(the)330
1366 y(curren)m(t)24 b(or)g(previous)g(scop)s(e)g(as)g(w)m(ell.)40
1347 y(curren)m(t)24 b(or)g(previous)g(scop)s(e)g(as)g(w)m(ell.)40
b(This)23 b(implemen)m(ts)i(the)f(required)f Ft(")p Fu(if)h(an)g
(assigned)g(v)-5 b(ariable)330 1476 y(is)34 b(further)e(mo)s(di\014ed)g
(assigned)g(v)-5 b(ariable)330 1456 y(is)34 b(further)e(mo)s(di\014ed)g
(b)m(y)i(the)g(utilit)m(y)-8 b(,)36 b(the)e(mo)s(di\014cations)g(made)g
(b)m(y)f(the)h(utilit)m(y)h(shall)f(p)s(ersist)p Ft(")330
1585 y Fu(b)s(eha)m(vior.)154 1722 y(74.)61 b(The)39
1566 y Fu(b)s(eha)m(vior.)154 1696 y(74.)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 1831 y Fu(builtin)c(and)h(cause)g(it)h(to)f(return)f
Ft(wait)330 1805 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 1941 y(c)m(hild)31 b(that)g(exits.)154
2078 y(75.)61 b(Bash)27 b(remo)m(v)m(es)h(an)e(exited)i(bac)m(kground)e
(for)f(eac)m(h)330 1915 y(c)m(hild)31 b(that)g(exits.)154
2045 y(75.)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 2187 y(the)k Ft(wait)e Fu(builtin)h(returns)f(it.)275
2353 y(There)34 b(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 2462 y Fm(posix)d Fu(mo)s(de.)40 b(Sp)s(eci\014cally:)
199 2601 y(1.)61 b(The)30 b Ft(fc)f Fu(builtin)h(c)m(hec)m(ks)i
(after)330 2155 y(the)k Ft(wait)e Fu(builtin)h(returns)f(it.)275
2305 y(There)e(is)i(additional)g Fm(posix)f Fu(b)s(eha)m(vior)g(that)h
(Bash)g(do)s(es)f(not)g(implemen)m(t)h(b)m(y)f(default)h(ev)m(en)g
(when)150 2415 y(in)h Fm(posix)g Fu(mo)s(de.)40 b(Sp)s(eci\014cally:)
199 2545 y(1.)61 b Fm(posix)30 b Fu(requires)g(that)i(w)m(ord)e
(splitting)i(b)s(e)e(b)m(yte-orien)m(ted.)44 b(That)30
b(is,)i(eac)m(h)g Fl(byte)37 b Fu(in)31 b(the)g(v)-5
b(alue)31 b(of)330 2654 y Ft(IFS)23 b Fu(p)s(oten)m(tially)j(splits)f
(a)g(w)m(ord,)g(ev)m(en)g(if)f(that)h(b)m(yte)g(is)g(part)f(of)g(a)h(m)
m(ultib)m(yte)h(c)m(haracter)f(in)f Ft(IFS)g Fu(or)330
2764 y(part)29 b(of)f(m)m(ultib)m(yte)i(c)m(haracter)g(in)f(the)g(w)m
(ord.)39 b(Bash)29 b(allo)m(ws)h(m)m(ultib)m(yte)g(c)m(haracters)g(in)f
(the)f(v)-5 b(alue)330 2874 y(of)35 b Ft(IFS)p Fu(,)f(treating)i(a)f(v)
-5 b(alid)34 b(m)m(ultib)m(yte)i(c)m(haracter)g(as)f(a)f(single)i
(delimiter,)g(and)e(will)g(not)h(split)g(a)330 2983 y(v)-5
b(alid)29 b(m)m(ultib)m(yte)i(c)m(haracter)f(ev)m(en)g(if)f(one)g(of)h
(the)f(b)m(ytes)g(comp)s(osing)h(that)f(c)m(haracter)i(app)s(ears)d(in)
330 3093 y Ft(IFS)p Fu(.)40 b(This)29 b(is)i Fm(posix)e
Fu(in)m(terpretation)j(1560,)h(further)c(mo)s(di\014ed)g(b)m(y)h(issue)
g(1924.)199 3223 y(2.)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 2710 y(rather)g(than)g(defaulting)
(if)f Ft(FCEDIT)f Fu(is)h(unset,)330 3333 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 2847 y(2.)61
Ft(ed)g Fu(if)g Ft(EDITOR)f Fu(is)h(unset.)199 3463 y(3.)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 2957 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275
3122 y(Bash)c(can)g(b)s(e)f(con\014gured)h(to)g(b)s(e)g
Ft(echo)f Fu(builtin)330 3572 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275
3723 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 3232 y(strict-posix-default)c
(ecifying)g(the)g Ft(--enable-)150 3832 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 3341 y(page)31 b(178\).)150
3588 y Fs(6.12)68 b(Shell)46 b(Compatibilit)l(y)h(Mo)t(de)150
3748 y Fu(Bash-4.0)33 b(in)m(tro)s(duced)f(the)f(concept)i(of)f(a)g
([Optional)g(F)-8 b(eatures],)150 3942 y(page)31 b(178\).)150
4174 y Fs(6.12)68 b(Shell)46 b(Compatibilit)l(y)h(Mo)t(de)150
4333 y Fu(Bash-4.0)33 b(in)m(tro)s(duced)f(the)f(concept)i(of)f(a)g
Fr(shell)g(compatibilit)m(y)i(lev)m(el)p Fu(,)g(sp)s(eci\014ed)d(as)h
(a)g(set)h(of)f(options)150 3857 y(to)f(the)f(shopt)g(builtin)g(\()p
(a)g(set)h(of)f(options)150 4443 y(to)f(the)f(shopt)g(builtin)g(\()p
Ft(compat31)p Fu(,)e Ft(compat32)p Fu(,)h Ft(compat40)p
Fu(,)f Ft(compat41)p Fu(,)g(and)i(so)g(on\).)41 b(There)30
b(is)g(only)150 3967 y(one)f(curren)m(t)f(compatibilit)m(y)j(lev)m(el)f
b(is)g(only)150 4552 y(one)f(curren)m(t)f(compatibilit)m(y)j(lev)m(el)f
({)f(eac)m(h)h(option)f(is)g(m)m(utually)g(exclusiv)m(e.)41
b(The)28 b(compatibilit)m(y)j(lev)m(el)150 4076 y(is)39
b(The)28 b(compatibilit)m(y)j(lev)m(el)150 4662 y(is)39
b(in)m(tended)g(to)h(allo)m(w)g(users)e(to)i(select)h(b)s(eha)m(vior)e
(from)f(previous)h(v)m(ersions)g(that)h(is)f(incompatible)150
4186 y(with)d(new)m(er)g(v)m(ersions)g(while)g(they)g(migrate)h
4772 y(with)d(new)m(er)g(v)m(ersions)g(while)g(they)g(migrate)h
(scripts)f(to)h(use)f(curren)m(t)f(features)i(and)e(b)s(eha)m(vior.)58
b(It's)150 4296 y(in)m(tended)30 b(to)h(b)s(e)f(a)h(temp)s(orary)f
(solution.)275 4434 y(This)k(section)j(do)s(es)e(not)h(men)m(tion)g(b)s
b(It's)150 4881 y(in)m(tended)30 b(to)h(b)s(e)f(a)h(temp)s(orary)f
(solution.)275 5011 y(This)k(section)j(do)s(es)e(not)h(men)m(tion)g(b)s
(eha)m(vior)g(that)g(is)f(standard)g(for)g(a)h(particular)g(v)m(ersion)
g(\(e.g.,)150 4544 y(setting)d Ft(compat32)c Fu(means)i(that)h(quoting)
g(\(e.g.,)150 5121 y(setting)d Ft(compat32)c Fu(means)i(that)h(quoting)
g(the)g(righ)m(t)g(hand)e(side)h(of)h(the)f(regexp)h(matc)m(hing)h(op)s
(erator)150 4653 y(quotes)42 b(sp)s(ecial)f(regexp)h(c)m(haracters)g
(erator)150 5230 y(quotes)42 b(sp)s(ecial)f(regexp)h(c)m(haracters)g
(in)f(the)g(w)m(ord,)j(whic)m(h)c(is)i(default)f(b)s(eha)m(vior)g(in)g
(bash-3.2)h(and)150 4763 y(subsequen)m(t)30 b(v)m(ersions\).)275
4902 y(If)f(a)h(user)f(enables,)h(sa)m(y)-8 b(,)31 b
Ft(compat32)p Fu(,)d(it)i(ma)m(y)g(a\013ect)h(the)f(b)s(eha)m(vior)g
(of)g(other)g(compatibilit)m(y)h(lev)m(els)150 5011 y(up)23
b(to)h(and)f(including)h(the)g(curren)m(t)f(compatibilit)m(y)j(lev)m
(el.)41 b(The)23 b(idea)h(is)g(that)g(eac)m(h)h(compatibilit)m(y)h(lev)
m(el)150 5121 y(con)m(trols)35 b(b)s(eha)m(vior)f(that)g(c)m(hanged)g
(in)f(that)h(v)m(ersion)g(of)g(Bash,)h(but)e(that)h(b)s(eha)m(vior)g
(ma)m(y)g(ha)m(v)m(e)h(b)s(een)150 5230 y(presen)m(t)f(in)g(earlier)g
(v)m(ersions.)52 b(F)-8 b(or)35 b(instance,)g(the)f(c)m(hange)h(to)g
(use)f(lo)s(cale-based)h(comparisons)f(with)150 5340
y(the)e Ft([[)f Fu(command)g(came)h(in)g(bash-4.1,)h(and)d(earlier)j(v)
m(ersions)f(used)f(ASCI)s(I-based)f(comparisons,)i(so)p
(bash-3.2)h(and)150 5340 y(subsequen)m(t)30 b(v)m(ersions\).)p
eop end
%%Page: 122 128
TeXDict begin 122 127 bop 150 -116 a Fu(Chapter)30 b(6:)41
b(Bash)30 b(F)-8 b(eatures)2439 b(122)150 299 y(enabling)27
b(Bash)30 b(F)-8 b(eatures)2439 b(122)275 299 y(If)29
b(a)h(user)f(enables,)h(sa)m(y)-8 b(,)31 b Ft(compat32)p
Fu(,)d(it)i(ma)m(y)g(a\013ect)h(the)f(b)s(eha)m(vior)g(of)g(other)g
(compatibilit)m(y)h(lev)m(els)150 408 y(up)23 b(to)h(and)f(including)h
(the)g(curren)m(t)f(compatibilit)m(y)j(lev)m(el.)41 b(The)23
b(idea)h(is)g(that)g(eac)m(h)h(compatibilit)m(y)h(lev)m(el)150
518 y(con)m(trols)35 b(b)s(eha)m(vior)f(that)g(c)m(hanged)g(in)f(that)h
(v)m(ersion)g(of)g(Bash,)h(but)e(that)h(b)s(eha)m(vior)g(ma)m(y)g(ha)m
(v)m(e)h(b)s(een)150 628 y(presen)m(t)f(in)g(earlier)g(v)m(ersions.)52
b(F)-8 b(or)35 b(instance,)g(the)f(c)m(hange)h(to)g(use)f(lo)s
(cale-based)h(comparisons)f(with)150 737 y(the)e Ft([[)f
Fu(command)g(came)h(in)g(bash-4.1,)h(and)d(earlier)j(v)m(ersions)f
(used)f(ASCI)s(I-based)f(comparisons,)i(so)150 847 y(enabling)27
b Ft(compat32)e Fu(will)i(enable)g(ASCI)s(I-based)e(comparisons)i(as)g
(w)m(ell.)41 b(That)26 b(gran)m(ularit)m(y)i(ma)m(y)g(not)150
408 y(b)s(e)i(su\016cien)m(t)i(for)f(all)g(uses,)g(and)g(as)g(a)g
956 y(b)s(e)i(su\016cien)m(t)i(for)f(all)g(uses,)g(and)g(as)g(a)g
(result)g(users)f(should)g(emplo)m(y)i(compatibilit)m(y)h(lev)m(els)g
(carefully)-8 b(.)150 518 y(Read)31 b(the)f(do)s(cumen)m(tation)h(for)g
(a)f(particular)h(feature)g(to)g(\014nd)e(out)h(the)h(curren)m(t)f(b)s
(eha)m(vior.)275 665 y(Bash-4.3)44 b(in)m(tro)s(duced)e(a)h(new)f
(carefully)-8 b(.)150 1066 y(Read)31 b(the)f(do)s(cumen)m(tation)h(for)
g(a)f(particular)h(feature)g(to)g(\014nd)e(out)h(the)h(curren)m(t)f(b)s
(eha)m(vior.)275 1200 y(Bash-4.3)44 b(in)m(tro)s(duced)e(a)h(new)f
(shell)h(v)-5 b(ariable:)65 b Ft(BASH_COMPAT)p Fu(.)75
b(The)42 b(v)-5 b(alue)43 b(assigned)g(to)g(this)150
775 y(v)-5 b(ariable)32 b(\(a)g(decimal)h(v)m(ersion)e(n)m(um)m(b)s(er)
f(lik)m(e)j(4.2,)g(or)e(an)h(in)m(teger)g(corresp)s(onding)f(to)h(the)f
Ft(compat)p Fr(NN)150 884 y Fu(option,)g(lik)m(e)h(42\))f(determines)g
(the)f(compatibilit)m(y)j(lev)m(el.)275 1032 y(Starting)h(with)g
(bash-4.4,)i(Bash)f(b)s(egan)f(deprecating)h(older)f(compatibilit)m(y)j
(lev)m(els.)54 b(Ev)m(en)m(tually)-8 b(,)150 1141 y(the)31
b(options)f(will)h(b)s(e)f(remo)m(v)m(ed)h(in)f(fa)m(v)m(or)i(of)e
Ft(BASH_COMPAT)p Fu(.)275 1289 y(Bash-5.0)39 b(w)m(as)f(the)g(\014nal)g
(v)m(ersion)g(for)g(whic)m(h)f(there)h(w)m(as)g(an)g(individual)f
(shopt)h(option)g(for)g(the)150 1398 y(previous)31 b(v)m(ersion.)43
b Ft(BASH_COMPAT)29 b Fu(is)i(the)g(only)g(mec)m(hanism)h(to)g(con)m
(trol)h(the)e(compatibilit)m(y)i(lev)m(el)g(in)150 1508
y(v)m(ersions)e(new)m(er)f(than)g(bash-5.0.)275 1655
y(The)24 b(follo)m(wing)i(table)g(describ)s(es)e(the)i(b)s(eha)m(vior)f
(c)m(hanges)h(con)m(trolled)g(b)m(y)f(eac)m(h)h(compatibilit)m(y)h(lev)
m(el)150 1765 y(setting.)43 b(The)30 b Ft(compat)p Fr(NN)39
b Fu(tag)32 b(is)f(used)f(as)h(shorthand)e(for)h(setting)i(the)f
(compatibilit)m(y)i(lev)m(el)f(to)g Fr(NN)150 1874 y
Fu(using)37 b(one)h(of)g(the)g(follo)m(wing)h(mec)m(hanisms.)63
b(F)-8 b(or)39 b(v)m(ersions)f(prior)f(to)h(bash-5.0,)j(the)d
(compatibilit)m(y)150 1984 y(lev)m(el)d(ma)m(y)f(b)s(e)e(set)i(using)e
(the)i(corresp)s(onding)e Ft(compat)p Fr(NN)41 b Fu(shopt)33
b(option.)50 b(F)-8 b(or)34 b(bash-4.3)f(and)g(later)150
2093 y(v)m(ersions,)40 b(the)e Ft(BASH_COMPAT)d Fu(v)-5
1310 y(v)-5 b(ariable)32 b(\(a)g(decimal)h(v)m(ersion)e(n)m(um)m(b)s
(er)f(lik)m(e)j(4.2,)g(or)e(an)h(in)m(teger)g(corresp)s(onding)f(to)h
(the)f Ft(compat)p Fr(NN)150 1419 y Fu(option,)g(lik)m(e)h(42\))f
(determines)g(the)f(compatibilit)m(y)j(lev)m(el.)275
1553 y(Starting)h(with)g(bash-4.4,)i(Bash)f(b)s(egan)f(deprecating)h
(older)f(compatibilit)m(y)j(lev)m(els.)54 b(Ev)m(en)m(tually)-8
b(,)150 1663 y(the)31 b(options)f(will)h(b)s(e)f(remo)m(v)m(ed)h(in)f
(fa)m(v)m(or)i(of)e Ft(BASH_COMPAT)p Fu(.)275 1797 y(Bash-5.0)39
b(w)m(as)f(the)g(\014nal)g(v)m(ersion)g(for)g(whic)m(h)f(there)h(w)m
(as)g(an)g(individual)f(shopt)h(option)g(for)g(the)150
1906 y(previous)31 b(v)m(ersion.)43 b Ft(BASH_COMPAT)29
b Fu(is)i(the)g(only)g(mec)m(hanism)h(to)g(con)m(trol)h(the)e
(compatibilit)m(y)i(lev)m(el)g(in)150 2016 y(v)m(ersions)e(new)m(er)f
(than)g(bash-5.0.)275 2150 y(The)24 b(follo)m(wing)i(table)g(describ)s
(es)e(the)i(b)s(eha)m(vior)f(c)m(hanges)h(con)m(trolled)g(b)m(y)f(eac)m
(h)h(compatibilit)m(y)h(lev)m(el)150 2259 y(setting.)43
b(The)30 b Ft(compat)p Fr(NN)39 b Fu(tag)32 b(is)f(used)f(as)h
(shorthand)e(for)h(setting)i(the)f(compatibilit)m(y)i(lev)m(el)f(to)g
Fr(NN)150 2369 y Fu(using)37 b(one)h(of)g(the)g(follo)m(wing)h(mec)m
(hanisms.)63 b(F)-8 b(or)39 b(v)m(ersions)f(prior)f(to)h(bash-5.0,)j
(the)d(compatibilit)m(y)150 2478 y(lev)m(el)d(ma)m(y)f(b)s(e)e(set)i
(using)e(the)i(corresp)s(onding)e Ft(compat)p Fr(NN)41
b Fu(shopt)33 b(option.)50 b(F)-8 b(or)34 b(bash-4.3)f(and)g(later)150
2588 y(v)m(ersions,)40 b(the)e Ft(BASH_COMPAT)d Fu(v)-5
b(ariable)39 b(is)e(preferred,)i(and)e(it)i(is)f(required)f(for)g
(bash-5.1)i(and)e(later)150 2203 y(v)m(ersions.)150 2381
y Ft(compat31)705 2522 y Fq(\017)60 b Fu(Quoting)32 b(the)f(rhs)g(of)g
(bash-5.1)i(and)e(later)150 2698 y(v)m(ersions.)150 2856
y Ft(compat31)705 2990 y Fq(\017)60 b Fu(Quoting)32 b(the)f(rhs)g(of)g
(the)h Ft([[)e Fu(command's)i(regexp)f(matc)m(hing)i(op)s(erator)f(\(=)
p Ft(~)p Fu(\))f(has)810 2632 y(no)f(sp)s(ecial)h(e\013ect)150
2804 y Ft(compat40)705 2945 y Fq(\017)60 b Fu(The)32
p Ft(~)p Fu(\))f(has)810 3099 y(no)f(sp)s(ecial)h(e\013ect)150
3258 y Ft(compat40)705 3392 y Fq(\017)60 b Fu(The)32
b(`)p Ft(<)p Fu(')g(and)g(`)p Ft(>)p Fu(')g(op)s(erators)h(to)g(the)f
Ft([[)g Fu(command)g(do)g(not)g(consider)h(the)f(curren)m(t)810
3055 y(lo)s(cale)41 b(when)d(comparing)i(strings;)k(they)c(use)f(ASCI)s
(I)f(ordering.)67 b(Bash)40 b(v)m(ersions)810 3164 y(prior)f(to)i
3501 y(lo)s(cale)41 b(when)d(comparing)i(strings;)k(they)c(use)f(ASCI)s
(I)f(ordering.)67 b(Bash)40 b(v)m(ersions)810 3611 y(prior)f(to)i
(bash-4.1)f(use)g(ASCI)s(I)e(collation)k(and)d(strcmp\(3\);)45
b(bash-4.1)c(and)e(later)810 3274 y(use)30 b(the)h(curren)m(t)f(lo)s
b(bash-4.1)c(and)e(later)810 3720 y(use)30 b(the)h(curren)m(t)f(lo)s
(cale's)i(collation)h(sequence)d(and)g(strcoll\(3\).)150
3446 y Ft(compat41)705 3587 y Fq(\017)60 b Fu(In)35 b
3879 y Ft(compat41)705 4013 y Fq(\017)60 b Fu(In)35 b
Fm(posix)f Fu(mo)s(de,)j Ft(time)d Fu(ma)m(y)i(b)s(e)f(follo)m(w)m(ed)i
(b)m(y)f(options)g(and)e(still)j(b)s(e)e(recognized)810
3696 y(as)c(a)f(reserv)m(ed)h(w)m(ord)f(\(this)h(is)f
Fm(posix)g Fu(in)m(terpretation)h(267\).)705 3837 y Fq(\017)60
4122 y(as)c(a)f(reserv)m(ed)h(w)m(ord)f(\(this)h(is)f
Fm(posix)g Fu(in)m(terpretation)h(267\).)705 4256 y Fq(\017)60
b Fu(In)33 b Fm(posix)h Fu(mo)s(de,)h(the)f(parser)g(requires)g(that)g
(an)g(ev)m(en)h(n)m(um)m(b)s(er)e(of)i(single)f(quotes)810
3947 y(o)s(ccur)28 b(in)g(the)h Fr(w)m(ord)i Fu(p)s(ortion)d(of)h(a)g
4366 y(o)s(ccur)28 b(in)g(the)h Fr(w)m(ord)i Fu(p)s(ortion)d(of)h(a)g
(double-quoted)f($)p Fi({)6 b Fu(.)23 b(.)f(.)11 b Fi(})29
b Fu(parameter)g(expansion)810 4056 y(and)34 b(treats)h(them)f(sp)s
b Fu(parameter)g(expansion)810 4475 y(and)34 b(treats)h(them)f(sp)s
(ecially)-8 b(,)37 b(so)e(that)g(c)m(haracters)g(within)f(the)h(single)
g(quotes)g(are)810 4166 y(considered)30 b(quoted)h(\(this)f(is)h
Fm(posix)e Fu(in)m(terpretation)j(221\).)150 4338 y Ft(compat42)705
4479 y Fq(\017)60 b Fu(The)45 b(replacemen)m(t)i(string)f(in)f
g(quotes)g(are)810 4585 y(considered)30 b(quoted)h(\(this)f(is)h
Fm(posix)e Fu(in)m(terpretation)j(221\).)150 4743 y Ft(compat42)705
4877 y Fq(\017)60 b Fu(The)45 b(replacemen)m(t)i(string)f(in)f
(double-quoted)h(pattern)f(substitution)g(do)s(es)h(not)810
4589 y(undergo)30 b(quote)h(remo)m(v)-5 b(al,)32 b(as)e(it)h(do)s(es)f
(in)g(v)m(ersions)h(after)g(bash-4.2.)705 4729 y Fq(\017)60
4987 y(undergo)30 b(quote)h(remo)m(v)-5 b(al,)32 b(as)e(it)h(do)s(es)f
(in)g(v)m(ersions)h(after)g(bash-4.2.)705 5121 y Fq(\017)60
b Fu(In)36 b Fm(posix)f Fu(mo)s(de,)j(single)e(quotes)h(are)g
(considered)f(sp)s(ecial)h(when)e(expanding)h(the)810
4839 y Fr(w)m(ord)g Fu(p)s(ortion)c(of)g(a)h(double-quoted)g($)p
5230 y Fr(w)m(ord)g Fu(p)s(ortion)c(of)g(a)h(double-quoted)g($)p
Fi({)6 b Fu(.)22 b(.)h(.)11 b Fi(})33 b Fu(parameter)g(expansion)f(and)
g(can)h(b)s(e)810 4949 y(used)40 b(to)i(quote)g(a)f(closing)h(brace)f
(or)g(other)h(sp)s(ecial)f(c)m(haracter)i(\(this)e(is)g(part)g(of)810
5058 y Fm(posix)36 b Fu(in)m(terpretation)h(221\);)42
b(in)36 b(later)h(v)m(ersions,)h(single)f(quotes)g(are)g(not)f(sp)s
(ecial)810 5168 y(within)30 b(double-quoted)g(w)m(ord)g(expansions.)150
5340 y Ft(compat43)p eop end
g(can)h(b)s(e)810 5340 y(used)40 b(to)i(quote)g(a)f(closing)h(brace)f
(or)g(other)h(sp)s(ecial)f(c)m(haracter)i(\(this)e(is)g(part)g(of)p
eop end
%%Page: 123 129
TeXDict begin 123 128 bop 150 -116 a Fu(Chapter)30 b(6:)41
b(Bash)30 b(F)-8 b(eatures)2439 b(123)705 299 y Fq(\017)60
b Fu(W)-8 b(ord)32 b(expansion)g(errors)g(are)g(considered)g(non-fatal)
h(errors)e(that)i(cause)f(the)g(cur-)810 408 y(ren)m(t)26
b(command)g(to)h(fail,)h(ev)m(en)f(in)f Fm(posix)f Fu(mo)s(de)h(\(the)g
(default)h(b)s(eha)m(vior)f(is)g(to)h(mak)m(e)810 518
y(them)j(fatal)i(errors)e(that)h(cause)g(the)f(shell)h(to)g(exit\).)705
647 y Fq(\017)60 b Fu(When)36 b(executing)h(a)f(shell)g(function,)h
(the)f(lo)s(op)g(state)h(\(while/un)m(til/etc.\))61 b(is)36
b(not)810 757 y(reset,)e(so)g Ft(break)d Fu(or)i Ft(continue)e
Fu(in)h(that)i(function)f(will)g(break)g(or)g(con)m(tin)m(ue)h(lo)s
(ops)810 866 y(in)h(the)g(calling)h(con)m(text.)57 b(Bash-4.4)37
b(and)d(later)i(reset)g(the)f(lo)s(op)g(state)i(to)e(prev)m(en)m(t)810
976 y(this.)150 1124 y Ft(compat44)705 1253 y Fq(\017)60
b Fu(The)38 b(shell)g(sets)g(up)g(the)g(v)-5 b(alues)38
b(used)g(b)m(y)g Ft(BASH_ARGV)d Fu(and)j Ft(BASH_ARGC)d
Fu(so)k(they)810 1363 y(can)26 b(expand)f(to)h(the)g(shell's)g(p)s
b(Bash)30 b(F)-8 b(eatures)2439 b(123)810 299 y Fm(posix)36
b Fu(in)m(terpretation)h(221\);)42 b(in)36 b(later)h(v)m(ersions,)h
(single)f(quotes)g(are)g(not)f(sp)s(ecial)810 408 y(within)30
b(double-quoted)g(w)m(ord)g(expansions.)150 579 y Ft(compat43)705
719 y Fq(\017)60 b Fu(W)-8 b(ord)32 b(expansion)g(errors)g(are)g
(considered)g(non-fatal)h(errors)e(that)i(cause)f(the)g(cur-)810
829 y(ren)m(t)26 b(command)g(to)h(fail,)h(ev)m(en)f(in)f
Fm(posix)f Fu(mo)s(de)h(\(the)g(default)h(b)s(eha)m(vior)f(is)g(to)h
(mak)m(e)810 938 y(them)j(fatal)i(errors)e(that)h(cause)g(the)f(shell)h
(to)g(exit\).)705 1078 y Fq(\017)60 b Fu(When)36 b(executing)h(a)f
(shell)g(function,)h(the)f(lo)s(op)g(state)h(\(while/un)m(til/etc.\))61
b(is)36 b(not)810 1188 y(reset,)e(so)g Ft(break)d Fu(or)i
Ft(continue)e Fu(in)h(that)i(function)f(will)g(break)g(or)g(con)m(tin)m
(ue)h(lo)s(ops)810 1297 y(in)h(the)g(calling)h(con)m(text.)57
b(Bash-4.4)37 b(and)d(later)i(reset)g(the)f(lo)s(op)g(state)i(to)e
(prev)m(en)m(t)810 1407 y(this.)150 1577 y Ft(compat44)705
1717 y Fq(\017)60 b Fu(The)38 b(shell)g(sets)g(up)g(the)g(v)-5
b(alues)38 b(used)g(b)m(y)g Ft(BASH_ARGV)d Fu(and)j Ft(BASH_ARGC)d
Fu(so)k(they)810 1827 y(can)26 b(expand)f(to)h(the)g(shell's)g(p)s
(ositional)g(parameters)g(ev)m(en)h(if)e(extended)h(debugging)810
1472 y(mo)s(de)k(is)g(not)h(enabled.)705 1601 y Fq(\017)60
1937 y(mo)s(de)k(is)g(not)h(enabled.)705 2077 y Fq(\017)60
b Fu(A)38 b(subshell)f(inherits)g(lo)s(ops)h(from)f(its)h(paren)m(t)g
(con)m(text,)k(so)c Ft(break)e Fu(or)i Ft(continue)810
1711 y Fu(will)d(cause)g(the)f(subshell)f(to)i(exit.)54
2186 y Fu(will)d(cause)g(the)f(subshell)f(to)i(exit.)54
b(Bash-5.0)36 b(and)d(later)j(reset)f(the)f(lo)s(op)h(state)g(to)810
1820 y(prev)m(en)m(t)c(the)g(exit.)705 1949 y Fq(\017)60
2296 y(prev)m(en)m(t)c(the)g(exit.)705 2436 y Fq(\017)60
b Fu(V)-8 b(ariable)27 b(assignmen)m(ts)g(preceding)e(builtins)g(lik)m
(e)i Ft(export)d Fu(and)i Ft(readonly)d Fu(that)j(set)810
2059 y(attributes)37 b(con)m(tin)m(ue)h(to)g(a\013ect)g(v)-5
2545 y(attributes)37 b(con)m(tin)m(ue)h(to)g(a\013ect)g(v)-5
b(ariables)37 b(with)g(the)f(same)h(name)g(in)g(the)f(calling)810
2168 y(en)m(vironmen)m(t)31 b(ev)m(en)g(if)f(the)h(shell)g(is)f(not)h
(in)f Fm(posix)f Fu(mo)s(de.)150 2317 y Ft(compat50)f(\(set)h(using)g
(BASH_COMPAT\))705 2426 y Fq(\017)60 b Fu(Bash-5.1)29
2655 y(en)m(vironmen)m(t)31 b(ev)m(en)g(if)f(the)h(shell)g(is)f(not)h
(in)f Fm(posix)f Fu(mo)s(de.)150 2826 y Ft(compat50)f(\(set)h(using)g
(BASH_COMPAT\))705 2935 y Fq(\017)60 b Fu(Bash-5.1)29
b(c)m(hanged)g(the)f(w)m(a)m(y)g Ft($RANDOM)e Fu(is)i(generated)h(to)f
(in)m(tro)s(duce)g(sligh)m(tly)h(more)810 2536 y(randomness.)39
(in)m(tro)s(duce)g(sligh)m(tly)h(more)810 3045 y(randomness.)39
b(If)30 b(the)f(shell)h(compatibilit)m(y)i(lev)m(el)f(is)f(set)g(to)h
(50)f(or)g(lo)m(w)m(er,)h(it)f(rev)m(erts)810 2645 y(to)e(the)g(metho)s
(50)f(or)g(lo)m(w)m(er,)h(it)f(rev)m(erts)810 3154 y(to)e(the)g(metho)s
(d)f(from)g(bash-5.0)h(and)f(previous)g(v)m(ersions,)i(so)e(seeding)h
(the)g(random)810 2755 y(n)m(um)m(b)s(er)36 b(generator)j(b)m(y)e
(the)g(random)810 3264 y(n)m(um)m(b)s(er)36 b(generator)j(b)m(y)e
(assigning)h(a)g(v)-5 b(alue)38 b(to)g Ft(RANDOM)e Fu(will)i(pro)s
(duce)e(the)i(same)810 2865 y(sequence)31 b(as)f(in)g(bash-5.0.)705
2993 y Fq(\017)60 b Fu(If)22 b(the)g(command)g(hash)f(table)i(is)f
(duce)e(the)i(same)810 3373 y(sequence)31 b(as)f(in)g(bash-5.0.)705
3513 y Fq(\017)60 b Fu(If)22 b(the)g(command)g(hash)f(table)i(is)f
(empt)m(y)-8 b(,)25 b(Bash)d(v)m(ersions)g(prior)g(to)h(bash-5.1)f
(prin)m(ted)810 3103 y(an)29 b(informational)i(message)g(to)f(that)g
(prin)m(ted)810 3623 y(an)29 b(informational)i(message)g(to)f(that)g
(e\013ect,)h(ev)m(en)g(when)d(pro)s(ducing)g(output)h(that)810
3213 y(can)40 b(b)s(e)g(reused)f(as)h(input.)69 b(Bash-5.1)42
3733 y(can)40 b(b)s(e)g(reused)f(as)h(input.)69 b(Bash-5.1)42
b(suppresses)c(that)j(message)g(when)e(the)i Ft(-l)810
3322 y Fu(option)31 b(is)f(supplied.)150 3471 y Ft(compat51)e(\(set)h
(using)g(BASH_COMPAT\))705 3580 y Fq(\017)60 b Fu(The)38
3842 y Fu(option)31 b(is)f(supplied.)150 4013 y Ft(compat51)e(\(set)h
(using)g(BASH_COMPAT\))705 4122 y Fq(\017)60 b Fu(The)38
b Ft(unset)g Fu(builtin)g(will)h(unset)f(the)h(arra)m(y)g
Ft(a)g Fu(giv)m(en)g(an)g(argumen)m(t)g(lik)m(e)h(`)p
Ft(a[@])p Fu('.)810 3690 y(Bash-5.2)32 b(will)f(unset)f(an)g(elemen)m
Ft(a[@])p Fu('.)810 4232 y(Bash-5.2)32 b(will)f(unset)f(an)g(elemen)m
(t)i(with)e(k)m(ey)i(`)p Ft(@)p Fu(')e(\(asso)s(ciativ)m(e)k(arra)m
(ys\))d(or)f(remo)m(v)m(e)810 3799 y(all)h(the)g(elemen)m(ts)h(without)
(ys\))d(or)f(remo)m(v)m(e)810 4341 y(all)h(the)g(elemen)m(ts)h(without)
e(unsetting)g(the)h(arra)m(y)g(\(indexed)f(arra)m(ys\).)705
3928 y Fq(\017)60 b Fu(Arithmetic)31 b(commands)f(\()h(\(\()6
4482 y Fq(\017)60 b Fu(Arithmetic)31 b(commands)f(\()h(\(\()6
b(.)23 b(.)f(.)11 b(\)\))31 b(\))g(and)f(the)g(expressions)g(in)g(an)h
(arithmetic)g(for)810 4038 y(statemen)m(t)h(can)f(b)s(e)f(expanded)f
(more)i(than)f(once.)705 4167 y Fq(\017)60 b Fu(Expressions)20
(arithmetic)g(for)810 4591 y(statemen)m(t)h(can)f(b)s(e)f(expanded)f
(more)i(than)f(once.)705 4731 y Fq(\017)60 b Fu(Expressions)20
b(used)f(as)i(argumen)m(ts)g(to)g(arithmetic)h(op)s(erators)f(in)f(the)
h Ft([[)f Fu(conditional)810 4276 y(command)30 b(can)h(b)s(e)f
(expanded)f(more)i(than)f(once.)705 4405 y Fq(\017)60
h Ft([[)f Fu(conditional)810 4841 y(command)30 b(can)h(b)s(e)f
(expanded)f(more)i(than)f(once.)705 4981 y Fq(\017)60
b Fu(The)31 b(expressions)g(in)h(substring)e(parameter)i(brace)g
(expansion)g(can)g(b)s(e)f(expanded)810 4515 y(more)g(than)f(once.)705
4644 y Fq(\017)60 b Fu(The)35 b(expressions)g(in)g(the)h($\(\()42
(expansion)g(can)g(b)s(e)f(expanded)810 5090 y(more)g(than)f(once.)705
5230 y Fq(\017)60 b Fu(The)35 b(expressions)g(in)g(the)h($\(\()42
b(.)22 b(.)g(.)47 b(\)\))36 b(w)m(ord)f(expansion)h(can)f(b)s(e)g
(expanded)g(more)810 4753 y(than)30 b(once.)705 4882
y Fq(\017)60 b Fu(Arithmetic)33 b(expressions)f(used)g(as)h(indexed)e
(arra)m(y)i(subscripts)e(can)i(b)s(e)f(expanded)810 4992
y(more)f(than)f(once.)705 5121 y Fq(\017)60 b Ft(test)29
b(-v)p Fu(,)35 b(when)f(giv)m(en)h(an)g(argumen)m(t)g(of)f(`)p
Ft(A[@])p Fu(',)h(where)f Fr(A)h Fu(is)f(an)h(existing)g(asso-)810
5230 y(ciativ)m(e)h(arra)m(y)-8 b(,)37 b(will)d(return)f(true)g(if)h
(the)h(arra)m(y)f(has)g(an)m(y)g(set)g(elemen)m(ts.)53
b(Bash-5.2)810 5340 y(will)31 b(lo)s(ok)g(for)f(and)g(rep)s(ort)f(on)i
(a)f(k)m(ey)i(named)d(`)p Ft(@)p Fu('.)p eop end
(expanded)g(more)810 5340 y(than)30 b(once.)p eop end
%%Page: 124 130
TeXDict begin 124 129 bop 150 -116 a Fu(Chapter)30 b(6:)41
b(Bash)30 b(F)-8 b(eatures)2439 b(124)705 299 y Fq(\017)60
b Fu(the)40 b($)p Fi({)p Fr(parameter)7 b Fu([:]=)p Fr(v)-5
b(alue)5 b Fi(})42 b Fu(w)m(ord)e(expansion)f(will)i(return)d
Fr(v)-5 b(alue)p Fu(,)43 b(b)s(efore)d(an)m(y)810 408
y(v)-5 b(ariable-sp)s(eci\014c)34 b(transformations)f(ha)m(v)m(e)h(b)s
(een)e(p)s(erformed)f(\(e.g.,)36 b(con)m(v)m(erting)e(to)810
518 y(lo)m(w)m(ercase\).)43 b(Bash-5.2)32 b(will)f(return)e(the)i
b Fu(Arithmetic)33 b(expressions)f(used)g(as)h(indexed)e(arra)m(y)i
(subscripts)e(can)i(b)s(e)f(expanded)810 408 y(more)f(than)f(once.)705
543 y Fq(\017)60 b Ft(test)29 b(-v)p Fu(,)35 b(when)f(giv)m(en)h(an)g
(argumen)m(t)g(of)f(`)p Ft(A[@])p Fu(',)h(where)f Fr(A)h
Fu(is)f(an)h(existing)g(asso-)810 653 y(ciativ)m(e)h(arra)m(y)-8
b(,)37 b(will)d(return)f(true)g(if)h(the)h(arra)m(y)f(has)g(an)m(y)g
(set)g(elemen)m(ts.)53 b(Bash-5.2)810 762 y(will)31 b(lo)s(ok)g(for)f
(and)g(rep)s(ort)f(on)i(a)f(k)m(ey)i(named)d(`)p Ft(@)p
Fu('.)705 897 y Fq(\017)60 b Fu(the)40 b($)p Fi({)p Fr(parameter)7
b Fu([:]=)p Fr(v)-5 b(alue)5 b Fi(})42 b Fu(w)m(ord)e(expansion)f(will)
i(return)d Fr(v)-5 b(alue)p Fu(,)43 b(b)s(efore)d(an)m(y)810
1006 y(v)-5 b(ariable-sp)s(eci\014c)34 b(transformations)f(ha)m(v)m(e)h
(b)s(een)e(p)s(erformed)f(\(e.g.,)36 b(con)m(v)m(erting)e(to)810
1116 y(lo)m(w)m(ercase\).)43 b(Bash-5.2)32 b(will)f(return)e(the)i
(\014nal)f(v)-5 b(alue)31 b(assigned)f(to)i(the)e(v)-5
b(ariable.)705 653 y Fq(\017)60 b Fu(P)m(arsing)40 b(command)f
b(ariable.)705 1250 y Fq(\017)60 b Fu(P)m(arsing)40 b(command)f
(substitutions)f(will)i(b)s(eha)m(v)m(e)g(as)f(if)g(extended)g
(globbing)h(\(see)810 762 y(Section)e(4.3.2)g([The)f(Shopt)f(Builtin],)
j(page)f(78\))g(is)f(enabled,)i(so)e(that)g(parsing)g(a)810
872 y(command)24 b(substitution)g(con)m(taining)h(an)f(extglob)i
(globbing)h(\(see)810 1360 y(Section)e(4.3.2)g([The)f(Shopt)f
(Builtin],)j(page)f(78\))g(is)f(enabled,)i(so)e(that)g(parsing)g(a)810
1469 y(command)24 b(substitution)g(con)m(taining)h(an)f(extglob)i
(pattern)e(\(sa)m(y)-8 b(,)27 b(as)d(part)g(of)g(a)h(shell)810
981 y(function\))30 b(will)h(not)g(fail.)41 b(This)30
1579 y(function\))30 b(will)h(not)g(fail.)41 b(This)30
b(assumes)g(the)h(in)m(ten)m(t)g(is)g(to)g(enable)g(extglob)g(b)s
(efore)810 1091 y(the)i(command)f(is)g(executed)h(and)f(w)m(ord)g
(efore)810 1689 y(the)i(command)f(is)g(executed)h(and)f(w)m(ord)g
(expansions)g(are)h(p)s(erformed.)45 b(It)33 b(will)f(fail)810
1200 y(at)42 b(w)m(ord)f(expansion)h(time)g(if)f(extglob)i(hasn't)e(b)s
(een)g(enabled)h(b)m(y)f(the)h(time)g(the)810 1310 y(command)30
b(is)h(executed.)150 1469 y Ft(compat52)d(\(set)h(using)g
(BASH_COMPAT\))705 1579 y Fq(\017)60 b Fu(The)23 b Ft(test)g
1798 y(at)42 b(w)m(ord)f(expansion)h(time)g(if)f(extglob)i(hasn't)e(b)s
(een)g(enabled)h(b)m(y)f(the)h(time)g(the)810 1908 y(command)30
b(is)h(executed.)150 2067 y Ft(compat52)d(\(set)h(using)g
(BASH_COMPAT\))705 2177 y Fq(\017)60 b Fu(The)23 b Ft(test)g
Fu(builtin)g(uses)h(its)g(historical)h(algorithm)g(to)f(parse)g(paren)m
(thesized)g(sub)s(ex-)810 1689 y(pressions)30 b(when)f(giv)m(en)i
(\014v)m(e)g(or)f(more)h(argumen)m(ts.)705 1823 y Fq(\017)60
(thesized)g(sub)s(ex-)810 2286 y(pressions)30 b(when)f(giv)m(en)i
(\014v)m(e)g(or)f(more)h(argumen)m(ts.)705 2421 y Fq(\017)60
b Fu(If)25 b(the)h Ft(-p)f Fu(or)h Ft(-P)f Fu(option)h(is)g(supplied)e
(to)j(the)f Ft(bind)e Fu(builtin,)i Ft(bind)f Fu(treats)i(an)m(y)f
(argu-)810 1933 y(men)m(ts)h(remaining)g(after)h(option)f(pro)s
(argu-)810 2531 y(men)m(ts)h(remaining)g(after)h(option)f(pro)s
(cessing)g(as)g(bindable)f(command)h(names,)h(and)810
2042 y(displa)m(ys)k(an)m(y)f(k)m(ey)i(sequences)f(b)s(ound)d(to)j
(those)g(commands,)g(instead)g(of)g(treating)810 2152
2640 y(displa)m(ys)k(an)m(y)f(k)m(ey)i(sequences)f(b)s(ound)d(to)j
(those)g(commands,)g(instead)g(of)g(treating)810 2750
y(the)f(argumen)m(ts)f(as)h(k)m(ey)g(sequences)g(to)g(bind.)705
2286 y Fq(\017)60 b Fu(In)m(teractiv)m(e)41 b(shells)d(will)h(notify)g
2884 y Fq(\017)60 b Fu(In)m(teractiv)m(e)41 b(shells)d(will)h(notify)g
(the)f(user)g(of)h(completed)g(jobs)f(while)g(sourcing)h(a)810
2396 y(script.)i(New)m(er)31 b(v)m(ersions)f(defer)g(noti\014cation)i
2994 y(script.)i(New)m(er)31 b(v)m(ersions)f(defer)g(noti\014cation)i
(un)m(til)f(script)f(execution)i(completes.)p eop end
%%Page: 125 131
TeXDict begin 125 130 bop 3614 -116 a Fu(125)150 299