sh scripting question
Polytropon
freebsd at edvax.de
Fri Oct 16 13:23:45 UTC 2020
On Fri, 16 Oct 2020 11:34:08 +0200, Ralf Mardorf wrote:
> Imagine a file named
>
> -
>
> or
>
> -h
>
> or
>
> --help
>
> etc., then add the file name behind a command.
>
> Yes, you could use a workaround, such as adding a path.
>
> [rocketmouse at archlinux tmp]$ cat --help | head -1
> Usage: cat [OPTION]... [FILE]...
> [rocketmouse at archlinux tmp]$ cat ./--help | head -1
> test
For such files, using "--", the "stop processing command line
options" directive, is quite useful:
# cat -- --help | head -l
This of course assumes that _after_ the offending filename,
no further command line arguments will be supplied.
> However, you easily could end up with a script containing more lines
> that workaround offended conventions, than containing lines for what
> actually should be done.
That's right, a "benevolent script" will eventually contain
many different kinds of defensive mechanisms, and will therefore
be much more complex (and surely prone to breaking, if not done
properly) than a script working on "normalized" filenames.
--
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
More information about the freebsd-questions
mailing list