2009/10/7 John Stalker <stal...@maths.tcd.ie>:
> Rm is, I think, an example of someone who simply wasn't thinking
> properly.  In
>
>        rm `{ complicated pipeline }
>
> I almost certainly want the exit status to reflect whether all the
> selected files were deleted, even if there weren't any, so I want
> rm without arguments to succeed silently.

it does under plan 9.

FWIW, my experimental "alphabet" shell formalised the types of command line
arguments and checked usage before invoking the actual command.
each option took a fixed number of arguments; options were followed
by zero or more fixed arguments, optionally followed by a repeated
argument of the same type. this was sufficient for many of the conventional
commands, but not, for instance, mv which has a fixed argument at the
end.

as with any language, static typing is an advantage (it avoids some errors)
and a disadvantage (it's hard to do some things because they don't fit
within the type system). mileage varies.

Reply via email to