Development record
The shell guard reads a ** path segment as a name, not as the * every shell without globstar expands it to: rm -rf /**, ~/**, $HOME/**, ${HOME}/** and ~/../** are allowed, although bash 3.2, bash 5.3 and /bin/sh each expand ~/** to the home's entries and ~/../** to the home's siblings with the home among them (echo only), so /** deletes what /* deletes and ~/../** deletes the home. A run of * in a glob matches what one * matches, and with globstar set ** matches more, never less.
issueresolvedmajoriss-2609290925320493
The shell guard reads a ** path segment as a name, not as the * every shell without globstar expands it to: rm -rf /, ~/, $HOME/, ${HOME}/ and ~/../** are allowed, although bash 3.2, bash 5.3 and /bin/sh each expand ~/** to the home's entries and ~/../** to the home's siblings with the home among them (echo only), so /** deletes what /* deletes and ~/../** deletes the home. A run of * in a glob matches what one * matches, and with globstar set ** matches more, never less.
Grounds
- pursued: every rm -r target beginning at the root or a home spelling whose ** segments, read as *, name the root, the home or the home's entries blocks; such a target that still allows, or a target a * reading does not reach that newly blocks, would show it wrong
Frontmatter
| id | iss-2609290925320493 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | major |
.abcd/work/issues/resolved/iss-2609290925320493-the-shell-guard-reads-a-path-segment-as.md
open on GitHub ↗ · commit history ↗