|
Message-ID: <20211022170732.d7lg6i55m6wo2x5p@chazelas.org> Date: Fri, 22 Oct 2021 18:07:32 +0100 From: Stephane Chazelas <stephane@...zelas.org> To: Oğuz <oguzismailuysal@...il.com> Cc: Rob Landley <rob@...dley.net>, enh <enh@...gle.com>, Rich Felker <dalias@...c.org>, austin-group-l <austin-group-l@...ngroup.org>, "libc-coord@...ts.openwall.com" <libc-coord@...ts.openwall.com> Subject: Re: Posix issue 8 pending change to system(). 2021-10-22 12:43:11 +0300, Oğuz: [...] > > So system() was broken when sh started accepting more than one > > option argument. > > > > I wouldn't say broken. This is rather an academic case, I don't see why > anyone would name a utility that way (`-potato'/`+potato'), I don't know a > single utility that is named that way either. [...] FWIW, zsh has a "-" builtin command (to run a command with it's argv[0] prefixed with a "-"). $ zsh -c '- ps -f' zsh: bad option string: '- ps -f' $ zsh -c -- '- ps -f' UID PID PPID C STIME TTY TIME CMD chazelas 728758 93970 0 18:01 pts/8 00:00:00 /bin/zsh chazelas 729347 728758 0 18:02 pts/8 00:00:00 -ps -f (from 1990; less useful now that most shells support a -l / --login to achieve the same effect as "- sh"). Note that it's not only about the command's name, one could want to do: system("++dir++/script.py blah"); > The standard should note this corner case and encourage developers to > implement `system()' to behave as if `sh -c -- command' were called, and > leave it at that. [...] Yes, it should make sure that system("any shell code") correctly gets a shell to interpret that code. -- Stephane
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.