* Eli Schwartz <eschwa...@gentoo.org> [2024-11-06 05:42]:
> On 11/5/24 11:12 PM, Solar Designer wrote:
> > So there's no bug in the shells here, but bugs of this kind are common
> > in shell usage (omitting the "--" argument where it's needed, usage of
> > wildcard expansion where that is unnecessary, etc.)
> > 
> > Can the shells do anything to mitigate this?  I think not without
> > breaking compatibility.  The only not-too-unreasonable change I can
> > think of is wildcard expansion prefixing filenames with "./", maybe only
> > those that start with "-" and maybe not when used with builtin "echo".
> 
> Well, to be fair the shell already does exactly this if you do
> 
> grep text ./*

And shellcheck will warn about this kind of bug and suggest doing exactly that
or using "--":

$ cat x.sh
#!/bin/bash
grep text *

$ shellcheck x.sh
In x.sh line 2:
grep text *
          ^-- SC2035 (info): Use ./*glob* or -- *glob* so names with dashes 
won't become options.
For more information:
  https://www.shellcheck.net/wiki/SC2035 -- Use ./*glob* or -- *glob* so name...

- Fay

Reply via email to