Development record
The shell guard reads a dot-glob path segment as a name, although bash 3.2 and /bin/sh (no globskipdots) let a segment written with a leading dot match the name .. and expand ~/.?/*, ~/.[.]/*, ~/.[!x]/*, ~/.?*/* and ~/.*/* to include ~/../* (the home's parent's entries, the home among them) and /.?/* and ~/../.*/* to the root's entries; every one is allowed. bash 5.3 leaves them literal. echo alone showed the expansions.
issueresolvedmajoriss-2609290925333487
The shell guard reads a dot-glob path segment as a name, although bash 3.2 and /bin/sh (no globskipdots) let a segment written with a leading dot match the name .. and expand ~/.?/, ~/.[.]/, ~/.[!x]/, ~/.?/* and ~/./ to include ~/../* (the home's parent's entries, the home among them) and /.?/* and ~/.././ to the root's entries; every one is allowed. bash 5.3 leaves them literal. echo alone showed the expansions.
Grounds
- pursued: a target whose dot-glob segment, read as .., reaches the root or the home blocks, as bash 3.2 and /bin/sh expand it; an echo on either shell showing such a glob reaching the root or the home under a spelling that still allows would show it wrong
Frontmatter
| id | iss-2609290925333487 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | major |
.abcd/work/issues/resolved/iss-2609290925333487-the-shell-guard-reads-a-dot-glob-path.md
open on GitHub ↗ · commit history ↗