bash - What is the difference between ~ . profile, ~ . bashrc, ~ . bash . . . "profile" is a much less common suffix Define "scope" Most applications do not share configuration files with other non-related applications The one possible exception is etc profile and profile, which may be used by multiple different shells (including at least sh and bash)
When should I use . bashrc and when . profile? [duplicate] profile is read by every login shell, xxxrc is read by every interactive shell after reading profile You need to decide yourself depending on what you like to add A good idea is to put everything that sets exported environment variables and thus propagates to sub shells into profile
Setting PATH vs. exporting PATH in ~ . bash_profile [duplicate] Any of the ENV files first invoked by a shell such as bashrc or profile will set variable values for the life of that shell So any variables that are set and export ed within those files will maintain that export characteristic and be export ed to all child processes invoked by that shell for the life of the shell or until they are unset
What do the scripts in etc profile. d do? - Unix Linux Stack Exchange @AvindraGoolcharan Different distros may use different schemes for this kind of thing The profile d directory only works because its contents are sourced by etc profile, which is specified by shells such as bash as a startup file (see INVOCATION in man bash); if you edit etc profile, you can disable etc profile d
profile - Find out what scripts are being run by bash at login - Unix . . . Sourced etc profile Sourced etc bash bashrc Sourced bash_profile Sourced profile Sourced bashrc Before anyone marks this as a duplicate of "PATH variable contains duplicates", keep reading At first I thought this had to do with ~ profile being sourced twice, so I had the file write to a log file whenever it was sourced, and surprisingly
What is the purpose of . bashrc and how does it work? Contrast bash_profile and profile which are only run at the start of a new login shell (bash -l) You choose whether a command goes in bashrc vs bash_profile depending on whether you want it to run once or for every interactive shell start
path - How do I set a user environment variable? (permanently, not . . . Note: If either of these files exists and your login shell is bash, profile is not read when you log in over ssh or on a text console, but it might still be read instead of bash_profile if you log in from the GUI Also, if there is no bash_profile, then use bashrc If you've set zsh as your login shell, use ~ zprofile instead of ~ profile
bash - How to correctly add a path to PATH? - Unix Linux Stack Exchange The profile file is read by login shells, so it will only take effect the next time you log in (Some systems configure terminals to read a login shell; in that case you can start a new terminal window, but the setting will take effect only for programs started via a terminal, and how to set PATH for all programs depends on the system )
How to permanently set environmental variables To do if for all users shells, depending on distro you could use etc environment or etc profile Creating a new file in etc profile d may be preferable if it exists, as it will be less likely to conflict with updates made by the packaging system