Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connectionsPath: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Kaz Kylheku <643-408-1753@kylheku.com>
Newsgroups: comp.unix.programmer
Subject: Re: Always use "--" (Was: Long filenames in DOS/Windows and
Unix/Linux)
Date: Thu, 5 Sep 2024 02:29:49 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 51
Message-ID: <20240904192549.23@kylheku.com>
References: <9e7a4bd1-bfbb-4df7-af1a-27ca9625e50bn@googlegroups.com>
<87ttevzoj3.fsf@nosuchdomain.example.com>
Injection-Date: Thu, 05 Sep 2024 04:29:49 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="4d4bbe75f0388a771dfebf259ca2980f";
logging-data="198221"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/rI1JqZZHFKEzHc+lJzIhqhQIdrgZnX3M="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:dQFXUlmLeOy/9owJumqrRMlvd+A=
Bytes: 3143
On 2024-09-04, Lew Pitcher wrote:
> On Wed, 04 Sep 2024 13:04:07 +0000, Kenny McCormack wrote:
>
>> In article ,
>> Nuno Silva wrote:
>> ...
>>>> D'oh!
>>>
>>>(Along with these quotes, I'd add ./ before $file.)
>>
>> Or, more simply, just put -- after the -p.
>>
>> This is an often overlooked aspect of shell programing. You should always
>> use "--". The "shellcheck" program will tell you this, if you let it.
>
> The "--" option is just that, an option coded into the argument parser of
> the program being invoked. Many programs /do not/ recognize "--" as an
> "end of flags" argument, so the effectiveness of "--" is unreliable.
>
> OTOH, if you specify a fully qualified pathname, (or, at least, a qualified
> relative pathname), you can assure yourself that the file path provided
> to the program /will not/ start with the '-' that indicates a program flag.
>
> Note that all this is /convention/ and not /requirement/. There are situations
> in which /none/ of the above applies, as
> a) the program interprets it's arguments by /position/, or
> b) the program doesn't use the '-' to introduce flag arguments, or
> c) the program doesn't take filenames as arguments, or
> d) some other conditions that I'm too lazy to enumerate
d) it's a goddamned GNU program that continues to take options
after non-option arguments!
$ ls . -ld
drwxr-xr-x 67 kaz kaz 36864 Sep 3 15:59 .
.... unless -- is specified to signal the end of options.
$ ls -ld -- . -ld
ls: cannot access '-ld': No such file or directory
drwxr-xr-x 67 kaz kaz 36864 Sep 3 15:59 .
So unfortunately although starting an argument with ./ will
ensure that it's not treated as an option, it doesn't mean
it will be treated as the first non-option argument after
which there are no more option arguments.
--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca