Thus said "Andy Bradford" on 04 Feb 2024 08:39:27 -0700:
> But is there a file that I can modify that will cause the shell proper
> to load some kind of environment setup also for non-interactive shells
> started with -c?
[For the archives]
As it turns out, given that the shell does not itself read any profile
configuration files for non-interactive shells, I can just update
/etc/login.conf using ~/bin in the path:
default:\
:path=~/bin /usr/bin /bin /usr/sbin /sbin /usr/X11R6/bin /usr/local/bin
/usr/local/sbin:\
Before:
$ ssh localhost env | grep PATH
amb@localhost's password:
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin
After:
$ ssh localhost env | grep PATH
amb@localhost's password:
PATH=/home/amb/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin
Arguably, this could be done for a class that is assigned to different
users for which this should apply so not everyone has this. Also, this
does not impact interactive shells because, well, interactive shells
read ~/.profile and consequently ENV applies.
Andy