The Bash configuration provides a solid foundation for users who prefer the traditional Bash shell, enhanced with modern tools like zoxide for intelligent directory navigation.
Bash history is configured to avoid duplicates and provide reasonable limits:
~/.bashrc
# Don't put duplicate lines or lines starting with space in the historyHISTCONTROL=ignoreboth# Append to the history file, don't overwrite itshopt -s histappend# Set history lengthHISTSIZE=1000HISTFILESIZE=2000
History settings explained
ignoreboth - Ignore duplicates and lines starting with space
histappend - Append to history file instead of overwriting
HISTSIZE - Number of commands to remember in memory (1000)
HISTFILESIZE - Maximum lines in history file (2000)
if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto'fi
Programmable completion features are enabled if available:
~/.bashrc
if ! shopt -oq posix; then if [ -f /usr/share/bash-completion/bash_completion ]; then . /usr/share/bash-completion/bash_completion elif [ -f /etc/bash_completion ]; then . /etc/bash_completion fifi