Date: Fri, 16 Oct 2020 15:23:38 +0200 From: Polytropon <freebsd@edvax.de> To: Ralf Mardorf <ralf-mardorf@riseup.net> Cc: freebsd-questions@freebsd.org Subject: Re: sh scripting question Message-ID: <20201016152338.168831c5.freebsd@edvax.de> In-Reply-To: <20201016113408.16d58d68@archlinux> References: <d50ba2c9-617f-6842-ef89-f5933be8f8b3@hotmail.com> <DB8PR06MB64427D88E17F02711EE657A3F6030@DB8PR06MB6442.eurprd06.prod.outlook.com> <20201016113408.16d58d68@archlinux>
next in thread | previous in thread | raw e-mail | index | archive | help
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@archlinux tmp]$ cat --help | head -1 > Usage: cat [OPTION]... [FILE]... > [rocketmouse@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, ...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20201016152338.168831c5.freebsd>