When loading bash read ~/.bash_profile and ~/.bashrc.
Put at end of these files:
PS1='\u@\H$ '
When xterm start bash - it start as non-login. So ~/.bash_profile and ~/.bashrc didn't read. To workaround this use:
$ xterm -e bash -i -c "mc -x"
That make bash interactive and init file was readed.
Bash allow accessing to command that you type previously. There are several options to control command history behavior. Set corresponding variables in your ~/.bashrc file (which is read by interactive shell):
# ignorespace do not save lines that start with space # erasedups all previous lines matching the current line to be removed from # the history list before that line is saved export HISTCONTROL=igrorespace:erasedups export HISTIGNORE=" ?cd *":"e *":"sudo mv *":"sudo rm *":"sudo cp *":"sudo mkdir *":"sudo chmod *":"sudo chown *":ls:pwd:"vlc*"
There are another options, with default values (which satisfy my needs, so I don't put they to ~/.bashrc):
export HISTFILE=~/.bash_history # where is command history stored export HISTFILESIZE=500 # how many lines been in $HISTFILE export HISTSIZE=500 # how many lines been stored in bash process
You can also set special history rules for mc subshell in ~/.mc/bashrc file.
Display all or specific variable declarations:
$ declare -p $ declare -p NAME1 NAME2
Display defined functions:
$ declare -F $ declare -F NAME1 NAME2
Display function body:
$ declare -f NAME