Apologies in advance if this question is going to annoy the hell out of everyone as I appreciate, it's been asked in various ways many times before. Please be assured, I have read the archives and have tried at least some of the suggestions but still cannot resolve the (simple) issue. Hopefully someone can provide an answer and I can feel appropriately humbled. FYI, for the avoidance of any ambiguity, I'm going to use absolute rather than relative paths.
When I log in, I do so as user adam
. The aliases in /Users/adam/.bash_profile
are loaded and I can use them immediately upon pulling up a terminal. I don't use a .bashrc
file and that's fine.
Every now and then, I switch to root by typing su
into the terminal and then entering my password. The prompt changes and I am now root user. My question is this: immediately upon becoming root, can my root bash profile be loaded without me having to manually source the profile file? The reason I know it doesn't happen automatically is because I have the same aliases in my root profile file and my /Users/adam/.bash_profile
. After becoming root user, unless I type in source [root_profile_file]
, they don't work. I have tried setting up the following permutations and then switching to root via the terminal but none of them automatically source the profile/aliases (note, I don't have any of the options below set up concurrently so I don't think I'm confusing the system):
Option 1: put my aliases in /etc/profile
Option 2:
- in
/etc/profile
, insert[ -r /etc/bashrc ] && . /etc/bashrc
- put my aliases in
/etc/bashrc
Option 3:
- in
/etc/bash_profile
, insert[ -r /etc/bashrc ] && . /etc/bashrc
- put my aliases in
/etc/bashrc
Option 4: put my aliases in /var/root/.profile
Option 5:
- in
/var/root/.profile
, insert[ -r /var/root/.bashrc ] && . /var/root/.bashrc
- put my aliases in
/var/root/.bashrc
Option 6:
- in
/var/root/.bash_profile
, insert[ -r /var/root/.bashrc ] && . /var/root/.bashrc
- put my aliases in
/var/root/.bashrc
Please note, with any of the above, if I switch to root and then type source root_profile_file
the aliases are loaded but only if I do indeed source the file manually. Perhaps I've totally misunderstood how bash works and it's not possible to source a profile file automatically after switching to root but I'm hoping there is a simple solution. Thanks in advance to anyone who's taken the time to read this message.