You are not logged in.

#1 2008-03-07 02:39:54

praka123
Member
From: Kerala,India
Registered: 2008-03-04
Posts: 188
Website

~/.bashrc not sourced on bootup for root user!

I have bash_completion etc enabled in .bashrc file.
for local user,~/.bashrc is sourced at boot and works perfectly.
but for root,I have to:

. .bashrc

on every boot!
what went wrong?
also,for systemwide  bashrc -which file does that job?
/etc/profile.bash
I have added below lines to the above file in a new line at bottom.but that too *may* not have sourced on boot.
below is my /root/.bashrc file:

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" -a -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color)
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
    ;;
*)
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
    ;;
esac

# Comment in the above and uncomment this below for a color prompt
#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
    ;;
*)
    ;;
esac

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable color support of ls and also add handy aliases
if [ "$TERM" != "dumb" ]; then
    eval "`dircolors -b`"
    alias ls='ls --color=auto'
    #alias dir='ls --color=auto --format=vertical'
    #alias vdir='ls --color=auto --format=long'
fi

# some more ls aliases
alias ll='ls -l'
alias la='ls -A'
alias l='ls -CF'

# enable bash completion in interactive shells
if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi

what should I do to have bash_completion and other aliases to work on boot?
Thank You smile

Offline

#2 2008-03-07 02:44:46

brebs
Member
Registered: 2007-04-03
Posts: 3,742

Re: ~/.bashrc not sourced on bootup for root user!

In ~/.bash_profile

. $HOME/.bashrc

Exactly that.

Edit: And at the start of ~/.bashrc

# Test for an interactive shell.  There is no need to set anything
# past this point for scp and rcp, and it's important to refrain from
# outputting anything in those cases.
if [[ $- != *i* ]] ; then
    # Shell is non-interactive.  Be done now!
    return
fi

This is all needed because GNU/Linux is a cruel joke designed to confuse us, rather than just doing the sane thing itself.

Last edited by brebs (2008-03-07 02:49:35)

Offline

#3 2008-03-07 03:08:11

praka123
Member
From: Kerala,India
Registered: 2008-03-04
Posts: 188
Website

Re: ~/.bashrc not sourced on bootup for root user!

but I have no ~/.bash_profile file :?

also for local user,the same .bashrc works!weirdo

edit:I just copy pasted .bash_profile of local user to /root/ dir.

[root@myhost ~]# cat .bash_profile
. $HOME/.bashrc

Thank You Very Much!:D:D:D

Last edited by praka123 (2008-03-07 03:11:50)

Offline

Board footer

Powered by FluxBB