On Sun, Jan 02, 2022 at 11:47:04PM +0100, ?????? wrote:
> On Sun, Jan 02, 2022 at 06:56:37PM +0000, Jason McIntyre wrote:
> > On Sat, Jan 01, 2022 at 11:07:49PM +0100, ?????? wrote:
> > > @@ -69,8 +69,8 @@ retaining the prior contents.
> > > .It Fl c Ar command
> > > Run
> > > .Ar command
> > > +.Pq via Nm sh Fl c Ar command
> > > instead of an interactive shell.
> >
> > or i suppose we could say
> >
> > Run
> > .Nm sh Fl c Ar command ,
> > instead of an interactive shell.
> Agree, this is much better phrasing, cheers.
>
> > > -To run a command with arguments, enclose both in quotes.
> > why do you want to remove this line? the page is short, and it might
> > help someone.
> Because the value for -c is a *shell script*, not a command ???
i don;t follow. you can run:
$ script -c ls
i.e. a command, not a shell script/
> I didn't think to change it out ??? it's much more confusing to have this
> include mention of arguments when, well, they aren't: this reads as-if
> script -c 'echo a || b'
> ran ["echo", "a", "||", "b"] ??? you can see issue here.
>
why would you think this? the text just explains that if you have
command+args you should quote it.
> This is in contrast to, e.g., FreeBSD script(1), which has a
> script outfile argv0 argv1 argvn...
> usage.
>
ugh
> -To run a command with arguments, enclose both in quotes.
> +Scripts longer than just the name of a command need to be quoted,
> +and are subject to re-expansion.
that's a horrible sentence. i don;t see any improvement.
jmc
> I've applied your phrasing to the first hunk, re-phrased the quoting
> requirement, and re-named the Ar name from "command" to "script".
> This does introduce a minor ambiguity in that script is heavily loaded
> here, but "shell program", while more correct, is not the usual
> parlance; dunno ??? please see scissor-patch below.
>
> P.S.: I forgot to note this in the original patchset,
> but please keep me in CC, as I'm not subscribed.
>
> -- >8 --
> Subject: [PATCH v2 4/4] script(1): explicitly specify sh -c,
> rename argument name
>
> The original wording is weird and doesn't explicitly say that it does
> sh -c, which is the fundamental point ??? spell it out directly,
> and clear up the quoting requirement: -c takes a shell program,
> not a command
> ---
> usr.bin/script/script.1 | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/usr.bin/script/script.1 b/usr.bin/script/script.1
> index 28783961a..18802504c 100644
> --- a/usr.bin/script/script.1
> +++ b/usr.bin/script/script.1
> @@ -39,7 +39,7 @@
> .Sh SYNOPSIS
> .Nm script
> .Op Fl a
> -.Op Fl c Ar command
> +.Op Fl c Ar script
> .Op Ar file
> .Sh DESCRIPTION
> .Nm
> @@ -66,11 +66,12 @@ Append the output to
> or
> .Pa typescript ,
> retaining the prior contents.
> -.It Fl c Ar command
> +.It Fl c Ar script
> Run
> -.Ar command
> +.Nm sh Fl c Ar script
> instead of an interactive shell.
> -To run a command with arguments, enclose both in quotes.
> +Scripts longer than just the name of a command need to be quoted,
> +and are subject to re-expansion.
> .El
> .Pp
> The script ends when the forked program exits (an
> --
> 2.30.2