On Mon, Dec 13, 2021 at 8:31 AM Mallika <mallika.bac...@gmail.com> wrote:
> "An interactive shell is one started without non-option arguments, unles*s* > -s is specified, without specifying the -c option, and whose input and > error output are both connected to terminals (as determined by isatty(3)), or > one started with the -i option." > > I'm a little confused about how all the and's and or's combine (I suppose > it's obvious if you're a little more familiar with the material - but it > would be great if it were possible to express this by indentation), > > but I'd actually decided to write in just to clarify that first line: > "started without non-option arguments," > > Does "option arguments" mean "option*al* arguments"? > If so, is the statement even correct? i.e. should it not be > "started without optional arguments"? It says "non-option" arguments; in other words, arguments that aren't options. > > If the double-negative* is *actually correct, wouldn't the same sentiment > be expressed by "started with only option(al?) arguments"? Double-negatives > are inherently confusing, so it would be helpful to avoid them. No. An "option argument" would be an argument that follows an option, such as `extglob' in `bash -O extglob'. That sentence is not about them. As to what non-option arguments are, all arguments in `bash file command_name positional_parameters' are non-option arguments, so are command name and positional parameters in `bash -s command_name positional_parameters'; but the former starts a non-interactive shell, and the latter starts an interactive shell since `-s' is specified. > > -Mallika