Re: [PATCH] doc: Document another pitfall of shell pattern matching
Paul Eggert <[email protected]> Tue, 6 May 2025 05:11:51 -0700
| Newsgroups | gmane.comp.sysutils.autoconf.patches |
|---|---|
| Organization | UCLA Computer Science Department |
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --------------HZOw65kZzbtWfLFkypHP0azo Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Thanks, I installed that, along with the attached followup which documents some other globbing pitfalls. By the way, brace expansion is not part of globbing: it's a prepass over the shell command and it operates independently of file names. Brace expansion does not work when doing pattern matching in 'case' statements, for example. So I adjusted the example to not imply that brace expansion cares whether files exist. --------------HZOw65kZzbtWfLFkypHP0azo Content-Type: text/x-patch; charset=UTF-8; name="0001-More-shell-patterns-to-avoid.patch" Content-Disposition: attachment; filename="0001-More-shell-patterns-to-avoid.patch" Content-Transfer-Encoding: base64 RnJvbSA2M2ZmYThlOTUwZGU1ZDI1ZjMyNDY0YjMxODg1ZTUzNjNjNTVlOGNjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDYgTWF5IDIwMjUgMDU6MDQ6MDQgLTA3MDAKU3ViamVjdDogW1BBVENI XSBNb3JlIHNoZWxsIHBhdHRlcm5zIHRvIGF2b2lkCgoqIGRvYy9hdXRvY29uZi50ZXhpIChT aGVsbCBQYXR0ZXJuIE1hdGNoaW5nKToKSW1wcm92ZSBvbiB0aGUgcmVjZW50IGRpc2N1c3Np b24gYWJvdXQgYnJhY2UgZXhwYW5zaW9uLgotLS0KIGRvYy9hdXRvY29uZi50ZXhpIHwgNTUg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kb2MvYXV0b2NvbmYudGV4aSBiL2RvYy9hdXRvY29uZi50ZXhpCmluZGV4IDEyOWU4 MDE4Li4xMjczNDQ0NiAxMDA2NDQKLS0tIGEvZG9jL2F1dG9jb25mLnRleGkKKysrIGIvZG9j L2F1dG9jb25mLnRleGkKQEAgLTE2MjcyLDI1ICsxNjI3Miw1NCBAQCBGaWxlIG5hbWVzIGFy ZSBjYXNlIGluc2Vuc2l0aXZlLCBzbyBldmVuIG5hbWVzIGxpa2UKIEBzZWN0aW9uIFNoZWxs IFBhdHRlcm4gTWF0Y2hpbmcKIEBjaW5kZXggU2hlbGwgcGF0dGVybiBtYXRjaGluZwogCi1O b3dhZGF5cyBwb3J0YWJsZSBwYXR0ZXJucyBjYW4gdXNlIG5lZ2F0ZWQgY2hhcmFjdGVyIGNs YXNzZXMgbGlrZQotQHNhbXB7WyEtYWVpb3VdfS4gIFRoZSBvbGRlciBzeW50YXggQHNhbXB7 W14tYWVpb3VdfSBpcyBzdXBwb3J0ZWQgYnkKLXNvbWUgc2hlbGxzIGJ1dCBub3Qgb3RoZXJz OyBoZW5jZSBwb3J0YWJsZSBzY3JpcHRzIHNob3VsZCBuZXZlciB1c2UKLUBzYW1we159IGFz IHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgYSBicmFja2V0IHBhdHRlcm4uCitQb3J0YWJsZSBw YXR0ZXJucyBzaG91bGQgYXZvaWQgdGhlIGZvbGxvd2luZyBjb25zdHJ1Y3RzOgogCi1PdXRz aWRlIHRoZSBDIGxvY2FsZSwgcGF0dGVybnMgbGlrZSBAc2FtcHtbYS16XX0gYXJlIHByb2Js ZW1hdGljIHNpbmNlCi10aGV5IG1heSBtYXRjaCBjaGFyYWN0ZXJzIHRoYXQgYXJlIG5vdCBs b3dlci1jYXNlIGxldHRlcnMuCitAaXRlbWl6ZSBAYnVsbGV0CitAaXRlbQorQSBicmFja2V0 IGV4cHJlc3Npb24gbGlrZSBAc2FtcHtbYS16XX0gb3V0c2lkZSB0aGUgQyBsb2NhbGUuCitU aGlzIHBhdHRlcm4gbWF5IG1hdGNoIGNoYXJhY3RlcnMgdGhhdCBhcmUgbm90IGxvd2VyLWNh c2UgbGV0dGVycy4KK091dHNpZGUgdGhlIEMgbG9jYWxlLCB1c2UgQHNhbXB7W1s6bG93ZXI6 XV19IGluc3RlYWQsCitvciB0byBtYXRjaCBqdXN0IGxvd2VyLWNhc2UgQVNDSUkgbGV0dGVy cyB1c2UKK0BzYW1we1thYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5el19LgorCitAaXRlbQor QSBicmFja2V0IGV4cHJlc3Npb24gc3RhcnRpbmcgd2l0aCBAc2FtcHtefS4KK0ZvciBleGFt cGxlLCBAc2FtcHtbIS1hZWlvdV19IGlzIHBvcnRhYmxlLCBidXQgQHNhbXB7W14tYWVpb3Vd fSBpcyBub3QuCiAKLVBhdHRlcm5zIHdpdGggYnJhY2VzIGFyZSwgYWx0aG91Z2ggbm90IHNw ZWNpZmllZCBieSBQT1NJWCwgc3VwcG9ydGVkCi1ieSBtb3N0IHNoZWxscy4gIE5vdCBzbyBi eSBBSVggNy4zIEBjb21tYW5key9iaW4vc2h9LCB0aG91Z2g6CitAaXRlbQorV2hlbiBtYXRj aGluZyBmaWxlIG5hbWVzLCBhIHBhdHRlcm4gY29udGFpbmluZyBAc2FtcHsqfSwgQHNhbXB7 P30gb3IKK0BzYW1we1suLi5dfSB0aGF0IG1pZ2h0IG1hdGNoIHRoZSBmaWxlIG5hbWVzIEBz YW1wey59IG9yIEBzYW1wey4ufS4KK0ZvciBleGFtcGxlIEBzYW1wey4qfSBtaWdodCBtYXRj aCBAc2FtcHsufSBhbmQgQHNhbXB7Li59LCBidXQgaXQgbWlnaHQgbm90LgorCitAaXRlbQor QW55IG9mIHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVycywKK3VubGVzcyBxdW90ZWQgb3IgZXNj YXBlZCBvciBpbiBhIGJyYWNrZXQgZXhwcmVzc2lvbjoKIAogQGV4YW1wbGUKLSQgQGtiZHts cyAtMSBzZXF1ZW5jZTAwMC5jIHNlcXVlbmNlOTk5LmN9Ci1zZXF1ZW5jZTAwMC5jCi1zZXF1 ZW5jZTk5OS5jCi0kIEBrYmR7bHMgLTEgc2VxdWVuY2VAezAwMCw5OTlAfS5jfQotbHM6IDA2 NTMtMzQxIFRoZSBmaWxlIHNlcXVlbmNlQHswMDAsOTk5QH0uYyBkb2VzIG5vdCBleGlzdC4K KyEgIyAlID0gWyBdIF4gQHsgQH0gfgogQGVuZCBleGFtcGxlCiAKK0FuIHVuZXNjYXBlZCBA c2FtcHtbfSB0aGF0IGRvZXMgbm90IGludHJvZHVjZSBhIGJyYWNrZXQgZXhwcmVzc2lvbiBp cworcHJvYmxlbWF0aWMgYmVjYXVzZSwgZm9yIGV4YW1wbGUsIEBzYW1we2EqW30gbWlnaHQg bWF0Y2ggdGhlIGZpbGUgbmFtZQorQHNhbXB7YWJjW30sIGJ1dCBpdCBtaWdodCBub3QuCisK K0N1cmx5IGJyYWNlcyBhcmUgcHJvYmxlbWF0aWMgYmVjYXVzZSBQT1NJWCBhbGxvd3MgYnV0 IGRvZXMgbm90IHJlcXVpcmUKK2JyYWNlIGV4cGFuc2lvbi4gIEZvciBleGFtcGxlLCB0aGUg c2hlbGwgY29tbWFuZCBAc2FtcHtlY2hvIGFAe2IsYyxkQH1lfQorb3V0cHV0cyBAc2FtcHth YmUgYWNlIGFkZX0gd2l0aCBCYXNoLCBidXQgQHNhbXB7YUB7YixjLGRAfWV9IHdpdGggRGFz aC4KKworQGl0ZW0KK0JhY2tsYXNoZXMgaW4gYnJhY2tldCBleHByZXNzaW9ucywgdW5sZXNz IGRvdWJsZWQuCitGb3IgZXhhbXBsZSwgQHNhbXB7W1xcXl19IGlzIHBvcnRhYmxlLCBidXQg QHNhbXB7W1xeXX0gaXMgbm90LgorCitAaXRlbQorQW4gdW5lc2NhcGVkIGJhY2tzbGFzaCBh dCBwYXR0ZXJuIGVuZC4KKworQGl0ZW0KK0EgTlVMIGJ5dGUuCitNb3JlIGdlbmVyYWxseSwg YSBOVUwgYnl0ZSBzaG91bGQgbmV2ZXIgYXBwZWFyIGFueXdoZXJlCitpbiBhIHBvcnRhYmxl IHNoZWxsIHNjcmlwdC4KK0BlbmQgaXRlbWl6ZQorCiBAbm9kZSBTaGVsbCBTdWJzdGl0dXRp b25zCiBAc2VjdGlvbiBTaGVsbCBTdWJzdGl0dXRpb25zCiBAY2luZGV4IFNoZWxsIHN1YnN0 aXR1dGlvbnMKLS0gCjIuNDguMQoK --------------HZOw65kZzbtWfLFkypHP0azo--