Aliases got lost
Hi,
I logged into my linux system with a limited user and entered the root using " su " command in the terminal. Then i added some aliases from the root login.then i logged out from root.and again i acquired the root login using "su " command .when i type the alias command it is not showing the previously added aliases. |
When you add an alias it is in the current shell. To add it automatically next time you become the user you need to add it to that user's startup files ($HOME/.bashrc and/or $HOME/.bashprofile assuming you're using bash shell).
Also note that when you do "su root" (or just "su" since root is default user) you are NOT invoking the environment of the root user. You must type "su - root" or "su -" to invoke that environment. Otherwise it is using the environment it had before the switch to root. |
Where did you put your aliases definition? If you simply write them on the command line, they are local to the current shell and are lost when you terminate the session. If you put them in a file which is sourced every time you login, as $HOME/.bashrc, you retrieve your aliases (or functions).
|
thanks
yes,if i add aliases by logging as "su - root". I only see aliases when login as "su - root".If i login as "su " i could not see any . why |
there is nothing like .bashrc file in HOME. I could only find .bash_history
|
Quote:
Quote:
|
$HOME not just "HOME".
$HOME is the home directory of the user. This could be something like: / /root /home/root /billybob It is whatever was defined as the user's home directory in /etc/passwd. You can find out what it is by doing the "su -" then typing "echo $HOME". If there is no .bashrc in root's $HOME you can create it. Of course this also assumes the shell for root is bash. If it were zsh or ksh you might need a different file. The last thing for root user in /etc/passwd is the shell it uses. |
yes i create .bashrc file in $HOME and added the aliases. I could able to find the alias even if login into root as "su ".
Thanks And one more doubt is Currently i logged into a user prakash the terminal prompt is showing as prakash@prakash.domain.name]$ if i logged in as root previosly it showed like root@prakash.domain.name]# But now if i logged in as root it is showing like bash-3.1# Why is it happening so? |
That's the 'normal' basic root prompt (especially the '#') to show you are root.
You can customise it by looking at the contents of /etc/profile, /etc/bashrc, looking for the word 'PROMPT' and editing the user's .bashrc as needed. |
All times are GMT -5. The time now is 11:06 AM. |