On Thu, Mar 26, 2020 at 8:29 AM B Stone <bvstone@xxxxxxxxx> wrote:

I am wondering what the best practice for a global .profile file would be,


That's a good question, and well-studied question in the *nix world.

and if used, would a personal .profile (/home/[user]/.profile) file be able
to override and/or add to the global settings.


This is a good example of why everyone in the IBM i open source world
should have a Linux instance nearby as a reference.

Here is an assortment of facts from the world of Linux and other *nix
operating system:


- When a user is created via useradd -m they are assigned a default
shell and appropriate default profile files are created in their home dir.
- The administrator can edit the master copies of the default profile
files that are copied to the user's directory. These may or may not include
(e.g., for a bash user):
- .profile
- .bash_profile
- .bash_rc
- etc ...
- The accessing of a file in the current shell level so that any
variables set at that level persist after the access is called "sourcing",
as when you source foo.sh or . foo.sh
- A login shell sources .profile first.
- Then it loads the user's default shell.
- That shell follows its own rules for automatic sourcing of shared
files.
- On a Linux system type man bash to see what bash does.
- Invariably, the user's home dir files are sourced last and override.



Or am I barking up the wrong tree entirely? :)


Just write what you want in .profile and leave it in user's home dir.

If user's shell is bash, add a coda in the .profile that reads:

#if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi

... and put all your bash-y stuff in .bashrc


This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].