Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: zsh not sourcing /etc/profile?



I found this article on comp.unix.shells.  I thought I would
pass it along.

rc

> > I found out it does, yes. However, I did stumble upon some bash sillyness
> > now. One of the admins we have put something similar to the following in
> > /etc/profile:
> > case "$0" in
> >  -bash|-zsh)
> >        do stuff
> >        ;;
> >  ...
> > esac
> 
> > Now, bash seems to expand the $0 to '-bash', whereas zsh expands it to
> > (which I would think is the _correct_ expansion) '/etc/profile'. It's an
> > old bash version we use here (1.14.7(1)), so I assume this is fixed
> > already in newer versions.
> 
> On my system, HP-UX 9.05
> 
> posix-sh, ksh, and bash all return the name of the shell for $0 when
> sourcing a file.
> 
> Only zsh returns the name of the file being sourced.  I suspect the
> right behaviour is to return the shell name.  The reason for this is
> that sourcing a file does not create a new process, it should behave
> as if the file had been typed from the keyboard.  If you type the
> command "echo $0" at the prompt, it should return the shell name.
> Although I really like zsh, I think it does not have the right
> behaviour because you can't rely on $0 to determine which shell is
> interpreting the file.



Messages sorted by: Reverse Date, Date, Thread, Author