1. Tilde expansion and quoting pitfalls
Many commenters warned that unquoted ~ does not expand unless it starts a “word,” leading to literal ~ appearing in $PATH. Proper quoting (or using $HOME) avoids the problem.
- “People quote both too often and too little.” — paulddraper
- “That's a literal ~ in your path, the exact problem the blog post talks about.” — yencabulator
- “better: export PATH=\"$HOME/.local/bin/:$PATH\"" — gjvc
2. PATH ordering and security trade‑offs
Debate centered on whether user‑added directories should precede or follow system paths. Prepending lets you override utilities (convenient but risky); appending prevents malicious shadowing of system binaries.
- “Afaik it's habit to give system paths precedence so a malicious script can't shadow e.g. sudo and steal your password…” — Backslasher
- “AFAIK it's habit to allow your scripts to override system ones, so you can customize behavior.” — paulddraper
- “Otoh, if you don't put your local path first, you can't override system binaries that you want to override.” — toast0
3. Preference for alternative shells or language improvements
Several users argued that Bash’s footguns motivate switching to shells like fish, zsh, or nushell, or even designing a new “typed” shell language to avoid quoting and expansion issues.
- “Or just stop using bash. It’s a terrible language to write and has tons of footguns.” — vips7L
- “I try to encourage people to use better designed shells that have less of these footguns : Fish … Zsh … Nushell …” — malux85
- “I actually think we do need a new programming language for the shell…” — hnlmorg