The original sh sourced .profile on startup. bash will try to source .bash_profile first, but if that doesn't exist, it will source .profile. Note that if bash is started as sh (e.g. /bin/sh is a link to /bin/bash) or is started with the --posix flag, it tries to emulate sh, and only reads .profile. Footnotes: Actually, the first one of .bash_profile, .bash_login, .profile See also: Bash ...
It says that the /etc/profile file sets the environment variables at startup of the Bash shell. The /etc/profile.d directory contains other scripts that contain application-specific startup files, which are also executed at startup time by the shell.
What do the scripts in /etc/profile.d do? - Unix & Linux Stack Exchange
The one possible exception is /etc/profile and .profile, which may be used by multiple different shells (including at least sh and bash). There is something called an environment associated with every running process which can contain variables that may affect the behavior of said process.
I erroneously assumed that the service would have access to the environment variables all users inherit from scripts/exports under /etc/profile.d Is there a way to accomplish this without having to manually copy the variables in systemd unit file definition.
The .profile dates back to the original Bourne shell known as sh. Since the GNU shell bash is (depending on its options) a superset of the Bourne shell, both shells can use the same startup file. That is, provided that only sh commands are put in .profile For example, alias is a valid built-in command of bash but unknown to sh. Therefore, if you had only a .profile in your home directory and ...
What is the difference between .profile and .bash_profile and why don't ...
@kuspia: 1) But my .profile IS executed as my "echo" test has proven. However, it seems it isn't sourced. 2) My fried, I know that. You don't need to copy things from my question; I know what I've written ;) 3) I don't have a .bash_profile since it has no benefit over .profile if Bash is the only shell you use, as in my case. Read the section "INVOCATION" of the Bash manual.
/etc/profile.d is a vendor-specific means of customizing the environment of a shell session (setting PATH and so forth), and would not typically be related to the startup of a daemon; some would even argue that daemon startup should in no way involve /etc/profile.d, so that user shell customizations cannot cause a daemon to fail to load, or to load with incorrect environment settings (timezone ...
On the Linux systems I've seen the files .profile and .bash_profile in ~ have permissions -rw-r--r--. People seem to put various env vars into these files quite often, including smth like AWS keys, etc.