From 5c73f4ef0a56db6bb9bb5248ec98cc7afbe26c00 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 27 Oct 2016 03:10:12 +0200 Subject: [PATCH] daily autocommit --- .etckeeper | 1 + bash/bashrc | 2 +- bash/bashrc.orig | 54 ++++++----- config-archive/etc/bash/bashrc | 2 +- config-archive/etc/bash/bashrc.1 | 57 +++++++---- config-archive/etc/bash/bashrc.2 | 5 +- config-archive/etc/bash/bashrc.3 | 19 ++-- config-archive/etc/bash/bashrc.4 | 60 ++++++++---- config-archive/etc/bash/bashrc.5 | 157 +++++++++++++++++++++++++++++++ 9 files changed, 283 insertions(+), 74 deletions(-) create mode 100644 config-archive/etc/bash/bashrc.5 diff --git a/.etckeeper b/.etckeeper index cea2ab8..66ad790 100755 --- a/.etckeeper +++ b/.etckeeper @@ -553,6 +553,7 @@ maybe chmod 0644 'config-archive/etc/bash/bashrc.1' maybe chmod 0644 'config-archive/etc/bash/bashrc.2' maybe chmod 0644 'config-archive/etc/bash/bashrc.3' maybe chmod 0644 'config-archive/etc/bash/bashrc.4' +maybe chmod 0644 'config-archive/etc/bash/bashrc.5' maybe chmod 0755 'config-archive/etc/bash/bashrc.d' maybe chmod 0644 'config-archive/etc/bash/bashrc.d/bash_completion.sh' maybe chmod 0644 'config-archive/etc/bash/bashrc.d/bash_completion.sh.dist.new' diff --git a/bash/bashrc b/bash/bashrc index ba79e23..c5e7dab 100644 --- a/bash/bashrc +++ b/bash/bashrc @@ -53,7 +53,7 @@ PROMPT_COMMAND='history -a' # Change the window title of X terminals case ${TERM} in - xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix|konsole*) + [aEkx]term*|rxvt*|gnome*|konsole*|interix) PROMPT_COMMAND='history -a; echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"' ;; screen*) diff --git a/bash/bashrc.orig b/bash/bashrc.orig index 7006bf9..8984836 100644 --- a/bash/bashrc.orig +++ b/bash/bashrc.orig @@ -38,7 +38,7 @@ shopt -s histappend # Change the window title of X terminals case ${TERM} in - xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix|konsole*) + [aEkx]term*|rxvt*|gnome*|konsole*|interix) PS1='\[\033]0;\u@\h:\w\007\]' ;; screen*) @@ -49,32 +49,42 @@ case ${TERM} in ;; esac -use_color=false - # Set colorful PS1 only on colorful terminals. # dircolors --print-database uses its own built-in database # instead of using /etc/DIR_COLORS. Try to use the external file -# first to take advantage of user additions. Use internal bash -# globbing instead of external grep binary. -safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM -match_lhs="" -[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)" -[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(/dev/null \ - && match_lhs=$(dircolors --print-database) -[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true - -if ${use_color} ; then +# first to take advantage of user additions. +# We run dircolors directly due to its changes in file syntax and +# terminal name patching. +use_color=false +if type -P dircolors >/dev/null ; then # Enable colors for ls, etc. Prefer ~/.dir_colors #64489 - if type -P dircolors >/dev/null ; then - if [[ -f ~/.dir_colors ]] ; then - eval $(dircolors -b ~/.dir_colors) - elif [[ -f /etc/DIR_COLORS ]] ; then - eval $(dircolors -b /etc/DIR_COLORS) - fi + LS_COLORS= + if [[ -f ~/.dir_colors ]] ; then + eval "$(dircolors -b ~/.dir_colors)" + elif [[ -f /etc/DIR_COLORS ]] ; then + eval "$(dircolors -b /etc/DIR_COLORS)" + else + eval "$(dircolors -b)" fi + # Note: We always evaluate the LS_COLORS setting even when it's the + # default. If it isn't set, then `ls` will only colorize by default + # based on file attributes and ignore extensions (even the compiled + # in defaults of dircolors). #583814 + if [[ -n ${LS_COLORS:+set} ]] ; then + use_color=true + else + # Delete it if it's empty as it's useless in that case. + unset LS_COLORS + fi +else + # Some systems (e.g. BSD & embedded) don't typically come with + # dircolors so we need to hardcode some terminals in here. + case ${TERM} in + [aEkx]term*|rxvt*|gnome*|konsole*|screen|cons25|*color) use_color=true;; + esac +fi +if ${use_color} ; then if [[ ${EUID} == 0 ]] ; then PS1+='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] ' else @@ -99,4 +109,4 @@ for sh in /etc/bash/bashrc.d/* ; do done # Try to keep environment pollution down, EPA loves us. -unset use_color safe_term match_lhs sh +unset use_color sh diff --git a/config-archive/etc/bash/bashrc b/config-archive/etc/bash/bashrc index ba79e23..c5e7dab 100644 --- a/config-archive/etc/bash/bashrc +++ b/config-archive/etc/bash/bashrc @@ -53,7 +53,7 @@ PROMPT_COMMAND='history -a' # Change the window title of X terminals case ${TERM} in - xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix|konsole*) + [aEkx]term*|rxvt*|gnome*|konsole*|interix) PROMPT_COMMAND='history -a; echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"' ;; screen*) diff --git a/config-archive/etc/bash/bashrc.1 b/config-archive/etc/bash/bashrc.1 index a11a788..ba79e23 100644 --- a/config-archive/etc/bash/bashrc.1 +++ b/config-archive/etc/bash/bashrc.1 @@ -25,8 +25,8 @@ fi # 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 + # Shell is non-interactive. Be done now! + return fi # Bash won't get SIGWINCH if another process is in the foreground. @@ -35,16 +35,29 @@ fi # http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11) shopt -s checkwinsize -# Enable history appending instead of overwriting. #139609 +# Disable completion when the input buffer is empty. i.e. Hitting tab +# and waiting a long time for bash to expand all of $PATH. +shopt -s no_empty_cmd_completion + +# Enable history appending instead of overwriting when exiting. #139609 shopt -s histappend +# Save each command to the history file as it's executed. #517342 +# This does mean sessions get interleaved when reading later on, but this +# way the history is always up to date. History is not synced across live +# sessions though; that is what `history -n` does. +# Disabled by default due to concerns related to system recovery when $HOME +# is under duress, or lives somewhere flaky (like NFS). Constantly syncing +# the history will halt the shell prompt until it's finished. +PROMPT_COMMAND='history -a' + # Change the window title of X terminals case ${TERM} in xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix|konsole*) - PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"' + PROMPT_COMMAND='history -a; echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"' ;; screen*) - PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\033\\"' + PROMPT_COMMAND='history -a; echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\033\\"' ;; esac @@ -137,23 +150,13 @@ HISTTIMEFORMAT='%Y-%m-%d %H:%M:%S ' export LESSCOLOR=yes export LESSCHARSET="utf-8" -# Change the window title of X terminals -case $TERM in - xterm*|rxvt|Eterm|eterm) - PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"' - ;; - screen) - PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\033\\"' - ;; -esac - if [ -f /usr/share/mc/mc.gentoo ]; then . /usr/share/mc/mc.gentoo fi -#if [ -f /etc/profile.d/bash-completion ]; then -# . /etc/profile.d/bash-completion -#fi +for sh in /etc/bash/bashrc.d/* ; do + [[ -r ${sh} ]] && source "${sh}" +done if type -t __git_ps1 >/dev/null ; then if ${use_color} ; then @@ -171,9 +174,25 @@ if type -t __git_ps1 >/dev/null ; then fi fi +if [[ -d "$HOME/lib" ]] ; then + if [[ -d "$HOME/lib/perl" ]] ; then + if [[ -z "${PERL5LIB}" ]] ; then + export PERL5LIB="$HOME/lib/perl" + else + export PERL5LIB="$HOME/lib/perl:${PERL5LIB}" + fi + fi + if [[ -d "$HOME/lib/python" ]] ; then + if [[ -z "${PYTHONPATH}" ]] ; then + export PYTHONPATH="$HOME/lib/python" + else + export PYTHONPATH="$HOME/lib/python:${PYTHONPATH}" + fi + fi +fi # Try to keep environment pollution down, EPA loves us. -unset use_color safe_term match_lhs +unset use_color safe_term match_lhs sh # vim: ts=4 expandtab diff --git a/config-archive/etc/bash/bashrc.2 b/config-archive/etc/bash/bashrc.2 index df6b0b8..a11a788 100644 --- a/config-archive/etc/bash/bashrc.2 +++ b/config-archive/etc/bash/bashrc.2 @@ -40,7 +40,7 @@ shopt -s histappend # Change the window title of X terminals case ${TERM} in - xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix) + xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix|konsole*) PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"' ;; screen*) @@ -155,8 +155,7 @@ fi # . /etc/profile.d/bash-completion #fi -if [ -e /etc/bash_completion.d/git -o "${HOME}"/.bash_completion.d/git ] ; then - #echo "/etc/bash_completion.d/git or ${HOME}/.bash_completion.d/git exists ..." +if type -t __git_ps1 >/dev/null ; then if ${use_color} ; then if [ "$UID" = 0 ]; then PS1='$? \[\033[01;31m\]\h\[\033[01;30m\]:\[\033[01;34m\]\w\[\033[01;31m\]$(__git_ps1)\[\033[01;34m\] \$ \[\033[00m\]' diff --git a/config-archive/etc/bash/bashrc.3 b/config-archive/etc/bash/bashrc.3 index fc0515b..df6b0b8 100644 --- a/config-archive/etc/bash/bashrc.3 +++ b/config-archive/etc/bash/bashrc.3 @@ -40,12 +40,12 @@ shopt -s histappend # Change the window title of X terminals case ${TERM} in - xterm*|rxvt*|Eterm|aterm|kterm|gnome*|interix) - PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"' - ;; - screen) - PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\033\\"' - ;; + xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix) + PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"' + ;; + screen*) + PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\033\\"' + ;; esac use_color=false @@ -60,8 +60,8 @@ match_lhs="" [[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)" [[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(/dev/null \ - && match_lhs=$(dircolors --print-database) + && type -P dircolors >/dev/null \ + && match_lhs=$(dircolors --print-database) [[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true if ${use_color} ; then @@ -85,6 +85,8 @@ if ${use_color} ; then alias ls='ls --color=auto' alias grep='grep --colour=auto' + alias egrep='egrep --colour=auto' + alias fgrep='fgrep --colour=auto' else if [[ ${EUID} == 0 ]] ; then # show root@ when we don't have colors @@ -99,6 +101,7 @@ if [[ ${EUID} == 0 ]] ; then else alias ll="ls -l" fi +alias l="ls -l" alias la="ls -la" alias md=mkdir alias rd=rmdir diff --git a/config-archive/etc/bash/bashrc.4 b/config-archive/etc/bash/bashrc.4 index 6262977..fc0515b 100644 --- a/config-archive/etc/bash/bashrc.4 +++ b/config-archive/etc/bash/bashrc.4 @@ -7,26 +7,26 @@ if [ -d /usr/scripts ] ; then - PATH=/usr/scripts:$PATH - export PATH + PATH=/usr/scripts:$PATH + export PATH fi if [ -d $HOME/bin ] ; then - PATH=$PATH:$HOME/bin - export PATH + PATH=$PATH:$HOME/bin + export PATH fi if [ -d $HOME/lib ] ; then - PERL5LIB=$HOME/lib - export PERL5LIB + PERL5LIB=$HOME/lib + export PERL5LIB fi # 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 + # Shell is non-interactive. Be done now! + return fi # Bash won't get SIGWINCH if another process is in the foreground. @@ -40,12 +40,12 @@ shopt -s histappend # Change the window title of X terminals case ${TERM} in - xterm*|rxvt*|Eterm|aterm|kterm|gnome*|interix) - PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"' - ;; - screen) - PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\033\\"' - ;; + xterm*|rxvt*|Eterm|aterm|kterm|gnome*|interix) + PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"' + ;; + screen) + PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\033\\"' + ;; esac use_color=false @@ -60,8 +60,8 @@ match_lhs="" [[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)" [[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(/dev/null \ - && match_lhs=$(dircolors --print-database) + && type -P dircolors >/dev/null \ + && match_lhs=$(dircolors --print-database) [[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true if ${use_color} ; then @@ -127,11 +127,12 @@ printf("%s\n", $newa); HISTCONTROL=ignoreboth -HISTSIZE=5000 -HISTFILESIZE=5000 +HISTSIZE=50000 +HISTFILESIZE=50000 HISTTIMEFORMAT='%Y-%m-%d %H:%M:%S ' export LESSCOLOR=yes +export LESSCHARSET="utf-8" # Change the window title of X terminals case $TERM in @@ -147,11 +148,30 @@ if [ -f /usr/share/mc/mc.gentoo ]; then . /usr/share/mc/mc.gentoo fi -if [ -f /etc/profile.d/bash-completion ]; then - . /etc/profile.d/bash-completion +#if [ -f /etc/profile.d/bash-completion ]; then +# . /etc/profile.d/bash-completion +#fi + +if [ -e /etc/bash_completion.d/git -o "${HOME}"/.bash_completion.d/git ] ; then + #echo "/etc/bash_completion.d/git or ${HOME}/.bash_completion.d/git exists ..." + if ${use_color} ; then + if [ "$UID" = 0 ]; then + PS1='$? \[\033[01;31m\]\h\[\033[01;30m\]:\[\033[01;34m\]\w\[\033[01;31m\]$(__git_ps1)\[\033[01;34m\] \$ \[\033[00m\]' + else + PS1='$? \[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;31m\]$(__git_ps1)\[\033[01;34m\] > \[\033[00m\]' + fi + else + if [ "$UID" = 0 ]; then + PS1='$? \h:\w$(__git_ps1) \$ ' + else + PS1='$? \u@\h:\w$(__git_ps1) > ' + fi + fi fi # Try to keep environment pollution down, EPA loves us. unset use_color safe_term match_lhs + +# vim: ts=4 expandtab diff --git a/config-archive/etc/bash/bashrc.5 b/config-archive/etc/bash/bashrc.5 new file mode 100644 index 0000000..6262977 --- /dev/null +++ b/config-archive/etc/bash/bashrc.5 @@ -0,0 +1,157 @@ +# /etc/bash/bashrc +# +# This file is sourced by all *interactive* bash shells on startup, +# including some apparently interactive shells such as scp and rcp +# that can't tolerate any output. So make sure this doesn't display +# anything or bad things will happen ! + + +if [ -d /usr/scripts ] ; then + PATH=/usr/scripts:$PATH + export PATH +fi + +if [ -d $HOME/bin ] ; then + PATH=$PATH:$HOME/bin + export PATH +fi + +if [ -d $HOME/lib ] ; then + PERL5LIB=$HOME/lib + export PERL5LIB +fi + +# 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 + +# Bash won't get SIGWINCH if another process is in the foreground. +# Enable checkwinsize so that bash will check the terminal size when +# it regains control. #65623 +# http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11) +shopt -s checkwinsize + +# Enable history appending instead of overwriting. #139609 +shopt -s histappend + +# Change the window title of X terminals +case ${TERM} in + xterm*|rxvt*|Eterm|aterm|kterm|gnome*|interix) + PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"' + ;; + screen) + PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\033\\"' + ;; +esac + +use_color=false + +# Set colorful PS1 only on colorful terminals. +# dircolors --print-database uses its own built-in database +# instead of using /etc/DIR_COLORS. Try to use the external file +# first to take advantage of user additions. Use internal bash +# globbing instead of external grep binary. +safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM +match_lhs="" +[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)" +[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(/dev/null \ + && match_lhs=$(dircolors --print-database) +[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true + +if ${use_color} ; then + # Enable colors for ls, etc. Prefer ~/.dir_colors #64489 + if type -P dircolors >/dev/null ; then + if [[ -f ~/.dir_colors ]] ; then + eval $(dircolors -b ~/.dir_colors) + elif [[ -f /etc/DIR_COLORS ]] ; then + eval $(dircolors -b /etc/DIR_COLORS) + fi + fi + + if [[ ${EUID} == 0 ]] ; then + #PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] ' + PS1='$? \[\033[01;31m\]\h\[\033[01;30m\]:\[\033[01;34m\]\w \$ \[\033[00m\]' + #PS1='$? \[\033[01;31m\]Gentoo (chroot)\[\033[01;30m\]:\[\033[01;34m\]\w \$ \[\033[00m\]' + else + #PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] ' + PS1='$? \[\033[01;32m\]\u@\h\[\033[01;30m\]:\[\033[01;34m\]\w > \[\033[00m\]' + fi + + alias ls='ls --color=auto' + alias grep='grep --colour=auto' +else + if [[ ${EUID} == 0 ]] ; then + # show root@ when we don't have colors + PS1='\u@\h \W \$ ' + else + PS1='\u@\h \w \$ ' + fi +fi + +if [[ ${EUID} == 0 ]] ; then + alias ll="ls -lA" +else + alias ll="ls -l" +fi +alias la="ls -la" +alias md=mkdir +alias rd=rmdir +alias ..='cd ..' +alias ...='cd ../..' +alias cd..='cd ..' +alias cd...='cd ../..' +alias pl="ps -fu $USER" +grep='grep --colour=auto' +alias cpwd='cd `realpath .`' + +lcd() { + cd $( perl -e ' +use strict; +use Cwd; +my $new = shift; +my $cwd = Cwd::abs_path(getcwd()); +my $newa = $cwd; +if ($new){ + $newa = Cwd::abs_path($new); + $newa = $cwd unless $newa; +}; +printf("%s\n", $newa); +' $1 ) +} + + +HISTCONTROL=ignoreboth +HISTSIZE=5000 +HISTFILESIZE=5000 +HISTTIMEFORMAT='%Y-%m-%d %H:%M:%S ' + +export LESSCOLOR=yes + +# Change the window title of X terminals +case $TERM in + xterm*|rxvt|Eterm|eterm) + PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"' + ;; + screen) + PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\033\\"' + ;; +esac + +if [ -f /usr/share/mc/mc.gentoo ]; then + . /usr/share/mc/mc.gentoo +fi + +if [ -f /etc/profile.d/bash-completion ]; then + . /etc/profile.d/bash-completion +fi + + + +# Try to keep environment pollution down, EPA loves us. +unset use_color safe_term match_lhs -- 2.39.5