[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Globbing
Scott writes
> Zalman writes:
> | Maybe not, but writing a program which depends on this should be
> | punishable by death.
> "noglob considered harmful", eh? :-)
yes, because it's not the convention. an operating system is more
than a system call interface. it's a large set of conventions.
my way of thinking says
(a) you can change the shell
but
(b) you can't change all the programs it invokes.
if you don't believe (b), fine. you're not in unix anymore, which
is perfectly reasonable, but not what rc and es are doing.
> | (In case the list hasn't gathered yet, I take a very dim view of
> | communicating dynamic data from one program to another via environment
> | variables. Too many failure mechanisms otherwise. Env vars should be
> | used for more or less long-lived parameters that the user knows about.)
> Granted there are problems, but similarly argv is subject to so much
> processing that only very limited things can be communicated that way.
i disagree very strongly. many programs accept as argv elements programs
in a turing complete language. what's very limited? i'll pass several
hundred line awk scripts that way. the es unparsing mechanism takes
real advantage of the fact that argv is a literal once you get out of
the shell.
the simplified quoting rules in rc and es help a lot. i don't worry
about any characters between ' and ' except for ', which is simple to
handle.
i second Zalman's comments about shells that don't understand this
convention and stale argv values.
paul