69 lines
1.9 KiB
Plaintext
69 lines
1.9 KiB
Plaintext
|
#!/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
|