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