69 lines
1.9 KiB
Bash
69 lines
1.9 KiB
Bash
#!/usr/bin/env bash
|
||
# executed by bash(1) for non-login shells.
|
||
|
||
# ==============================
|
||
# SHELL OPTIONS
|
||
# ==============================
|
||
|
||
# shell command line style : emacs, vi, noediting
|
||
set -o emacs
|
||
# set -o vi
|
||
# set –noediting
|
||
|
||
# exit will lists the status interactive jobs and postpone if one is running
|
||
shopt -s checkjobs
|
||
|
||
# includes filenames beginning with a . (dot) in pathname expansion
|
||
shopt -s dotglob
|
||
|
||
# check the window size after each command and, if necessary,
|
||
# update the values of LINES and COLUMNS.
|
||
shopt -s checkwinsize
|
||
|
||
# enable programmable completion features
|
||
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
|
||
fi
|
||
fi
|
||
|
||
# activate a DEBUG trap to catch term window resize
|
||
#declare -x rows cols
|
||
#update_size(){
|
||
# winsizeStatus=$(shopt | grep checkwinsize | awk '{print $2}')
|
||
# if [[ "$winsizeStatus" == "off" ]]; then
|
||
# rows=$(tput lines)
|
||
# cols=$(tput cols)
|
||
# echo -en "\e[2;5;90mDEBUG\e[25;90m TERM winsize updated to ${rows}x${cols} >\e[0m"
|
||
# else
|
||
# echo -en "\e[2;5;90mDEBUG\e[25;90m TERM winsize updated to ${LINES}x${COLUMNS} >\e[0m"
|
||
# fi
|
||
#}
|
||
#trap update_size WINCH
|
||
|
||
# ==============================
|
||
# HISTORY
|
||
# ==============================
|
||
|
||
# attempts to save all lines of a multiple-line command in the same history entry
|
||
shopt -s cmdhist
|
||
|
||
# appended rather than overwrite
|
||
shopt -s histappend
|
||
|
||
# with cmdhist, saved with embedded newlines rather than semicolon separators
|
||
shopt -s lithist
|
||
|
||
HISTCONTROL=ignoreboth
|
||
HISTSIZE=10000
|
||
HISTFILESIZE=20000
|
||
HISTTIMEFORMAT="%y/%m/%d %T "
|
||
HISTIGNORE="history:ls:l:pwd:exit:"
|
||
if [[ ${BASH_VERSION:0:1} -gt 5 || ${BASH_VERSION:0:1} -ge 5 && ${BASH_VERSION:2:1} -ge 1 ]]; then
|
||
PROMPT_COMMAND=("history -a" "history -c" "history -r")
|
||
else
|
||
PROMPT_COMMAND="history -a; history -c; history -r"
|
||
fi
|