NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: xsrc/54851 (.profile is not read by sh when using xdm or other login managers)
The following reply was made to PR xsrc/54851; it has been noted by GNATS.
From: Robert Elz <kre%munnari.OZ.AU@localhost>
To: Valery Ushakov <uwe%stderr.spb.ru@localhost>
Cc: gnats-bugs%netbsd.org@localhost
Subject: Re: xsrc/54851 (.profile is not read by sh when using xdm or other login managers)
Date: Wed, 24 Aug 2022 02:01:03 +0700
Date: Tue, 23 Aug 2022 21:12:47 +0300
From: Valery Ushakov <uwe%stderr.spb.ru@localhost>
Message-ID: <YwUYn9VsfhWxOs+W%pony.stderr.spb.ru@localhost>
Finally, a comment, thanks - I was beginning to wonder if
anyone was left paying attention to this PR/thread, and was
considering sending a message to tech-userlevel (which I
probably should do anyway).
| ksh, bash and zsh seems to allow mixing login and -c. I'd prefer we
| follow suit.
I don't have strong feelings either way, it just seems kind of
weird (even perverted) to abuse the concept of being a login
shell that way (thanks for the examples, but I had tested various
shells already, and I know some behave like that).
While I am here, a few other minor things I forgot to mention.
The long name (to use with -o) will be "login" which it is in all
other shells that have a long name version (bash is one which doesn't)
except for ksh93, where the long name is "login_shell", but it still
allows -o login (ie: abbreviated form) to work on the command line (which
is the only place ksh93 allows this option to be set).
Second, the 'l' flag will appear in $- (not in all shells which have
the option) and can be used with the "set" command (but doing so is
pointless, as the only place it is used is deciding whether or not to
run the profile files - that decision is made before any external code
is executed, so while it will be possible to "set +l" in a login shell,
or "set -l" in an ordinary shell, the only thing that will alter is
what appears in $-. Not all shells allow -l to work with the "set"
command (neither that nor the -o form) - even some shells that show its
value in the output of "set -o" don't allow it to be altered by the
set command. This is a very peculiarly implemented option overall.
Third, I haven't bothered to check how many (if any) other shells
allow +l to prevent a shell which would otherwise be a login shell
from being one, nor do I care .. to me that symmetry is important.
(I haven't tested, as actually making a shell be a login shell, other
than by use of -l is annoying to do (possible, just annoying) other
than actually making it be a login shell for some user, and logging in,
which is a very tedious way to test, and provides no mechanism for
passing +l as an option anyway).
kre
Home |
Main Index |
Thread Index |
Old Index