tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: interactive shell detection in shrc
Date: Tue, 24 Sep 2024 00:10:24 +0300
From: Valery Ushakov <uwe%stderr.spb.ru@localhost>
Message-ID: <ZvHZQN0ouO82whAU%snips.stderr.spb.ru@localhost>
| shrc is there to affect the state of a shell in a
| way that is visible in subsequent use of that same shell.
Of course.
| sh .shrc allows you to check that .shrc has no failures, but you cannot
| test how it affected the shell (as opposed to sourcing it).
That's the point, to test what would happen if it were sourced,
to prevent undesired actions from affecting a real shell, before
a new version actually gets installed.
| sh .shrc is a _non_ interactive shell
Yes, but sh -i .shrc isn't.
| and return in the non-interacive branch is ingored,
In most shells, yes, but not all, relying on that is not portable,
and there really isn't a good reason to supply non-portable code
fragments like that.
| so shell falls through to the interactive-only part.
which means a test intended to see what happens for non-interactive
shells doesn't show that at all, which your average user might not
understand - spending time trying to understand a "problem" which
doesn't actually exist.
Note that it is not necessarily the case that what is in that file
is only desired to effect interactive shells, I use it precisely to
add things to non-interactive shells, even more than interactive ones.
| I would say win-win :)
I wouldn't go that far, but note I didn't actually object to making
the change, just pointing out why the code is written as it was.
kre
Home |
Main Index |
Thread Index |
Old Index