|
|
@@ -1,222 +1,34 @@
|
|
|
#!/bin/bash
|
|
|
|
|
|
-# ~/.bashrc: executed by bash(1) for non-login shells.
|
|
|
-# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
|
|
-# for examples
|
|
|
+# non interactive? exit!
|
|
|
+[[ $- != *i* ]] && return
|
|
|
|
|
|
-# If not running interactively, don't do anything
|
|
|
-case $- in
|
|
|
- *i*) ;;
|
|
|
- *) return;;
|
|
|
-esac
|
|
|
+scriptname=$(basename ${BASH_SOURCE[0]})
|
|
|
+scriptdirname=$(dirname ${BASH_SOURCE[0]})
|
|
|
|
|
|
-# don't put duplicate lines or lines starting with space in the history.
|
|
|
-# See bash(1) for more options
|
|
|
-HISTCONTROL=ignoreboth
|
|
|
|
|
|
-# append to the history file, don't overwrite it
|
|
|
-shopt -s histappend
|
|
|
-
|
|
|
-# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
|
|
|
-HISTSIZE=10000
|
|
|
-HISTFILESIZE=200000
|
|
|
-
|
|
|
-# check the window size after each command and, if necessary,
|
|
|
-# update the values of LINES and COLUMNS.
|
|
|
-shopt -s checkwinsize
|
|
|
-
|
|
|
-# If set, the pattern "**" used in a pathname expansion context will
|
|
|
-# match all files and zero or more directories and subdirectories.
|
|
|
-#shopt -s globstar
|
|
|
-
|
|
|
-# make less more friendly for non-text input files, see lesspipe(1)
|
|
|
-#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
|
|
-
|
|
|
-# set variable identifying the chroot you work in (used in the prompt below)
|
|
|
-if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
|
|
|
- debian_chroot=$(cat /etc/debian_chroot)
|
|
|
-fi
|
|
|
-
|
|
|
-# set a fancy prompt (non-color, unless we know we "want" color)
|
|
|
-case "$TERM" in
|
|
|
- xterm-color|*-256color) color_prompt=yes;;
|
|
|
-esac
|
|
|
-
|
|
|
-# uncomment for a colored prompt, if the terminal has the capability; turned
|
|
|
-# off by default to not distract the user: the focus in a terminal window
|
|
|
-# should be on the output of commands, not on the prompt
|
|
|
-#force_color_prompt=yes
|
|
|
-
|
|
|
-if [ -n "$force_color_prompt" ]; then
|
|
|
- if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
|
|
|
- # We have color support; assume it's compliant with Ecma-48
|
|
|
- # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
|
|
|
- # a case would tend to support setf rather than setaf.)
|
|
|
- color_prompt=yes
|
|
|
- else
|
|
|
- color_prompt=
|
|
|
+function debug () {
|
|
|
+ if [ -n "$DEBUG" ]; then
|
|
|
+ echo -e "[${scriptname}]: $*" >&2
|
|
|
fi
|
|
|
-fi
|
|
|
-
|
|
|
-if [ "$color_prompt" = yes ]; then
|
|
|
- PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
|
|
|
-else
|
|
|
- PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
|
|
|
-fi
|
|
|
-unset color_prompt force_color_prompt
|
|
|
-
|
|
|
-# If this is an xterm set the title to user@host:dir
|
|
|
-case "$TERM" in
|
|
|
-xterm*|rxvt*)
|
|
|
- PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
|
|
|
- ;;
|
|
|
-*)
|
|
|
- ;;
|
|
|
-esac
|
|
|
-
|
|
|
-# enable color support of ls and also add handy aliases
|
|
|
-if [ -x /usr/bin/dircolors ]; then
|
|
|
- test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
|
|
- alias ls='ls --color=auto'
|
|
|
- #alias dir='dir --color=auto'
|
|
|
- #alias vdir='vdir --color=auto'
|
|
|
-
|
|
|
- #alias grep='grep --color=auto'
|
|
|
- #alias fgrep='fgrep --color=auto'
|
|
|
- #alias egrep='egrep --color=auto'
|
|
|
-fi
|
|
|
-
|
|
|
-# colored GCC warnings and errors
|
|
|
-#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
|
|
|
-
|
|
|
-# some more ls aliases
|
|
|
-#alias ll='ls -l'
|
|
|
-#alias la='ls -A'
|
|
|
-#alias l='ls -CF'
|
|
|
-
|
|
|
-# Alias definitions.
|
|
|
-# You may want to put all your additions into a separate file like
|
|
|
-# ~/.bash_aliases, instead of adding them here directly.
|
|
|
-# See /usr/share/doc/bash-doc/examples in the bash-doc package.
|
|
|
-
|
|
|
-if [ -f ~/.bash_aliases ]; then
|
|
|
- . ~/.bash_aliases
|
|
|
-fi
|
|
|
-
|
|
|
-
|
|
|
+}
|
|
|
|
|
|
-
|
|
|
-if [ "$(hostname -f)" == "ralf-21kscto1ww" ]; then
|
|
|
- export SSH_AUTH_SOCK="$HOME/.bitwarden-ssh-agent.sock"
|
|
|
+bashrc_debug="$HOME/.BASHRC_DEBUG"
|
|
|
+if [ -f "$bashrc_debug" ]; then
|
|
|
+ DEBUG="$(cat $bashrc_debug)"
|
|
|
+ debug "Debug enabled."
|
|
|
fi
|
|
|
|
|
|
-
|
|
|
-# if user is not root, pass all commands via sudo #
|
|
|
-if [ $UID -ne 0 ]; then
|
|
|
- alias pacman='sudo pacman'
|
|
|
- alias reboot='sudo reboot'
|
|
|
- alias update='sudo apt-get upgrade'
|
|
|
- alias apt-get="sudo apt-get"
|
|
|
- alias updatey="sudo apt-get --yes"
|
|
|
- # update on one command
|
|
|
- alias update='sudo apt-get update && sudo apt-get upgrade'
|
|
|
-fi
|
|
|
-
|
|
|
-## cd specific
|
|
|
-## get rid of command not found ##
|
|
|
-alias cd..='cd ..'
|
|
|
-
|
|
|
-## a quick way to get out of current directory ##
|
|
|
-alias ..='cd ..'
|
|
|
-alias ...='cd ../../../'
|
|
|
-alias ....='cd ../../../../'
|
|
|
-alias .....='cd ../../../../'
|
|
|
-alias .4='cd ../../../../'
|
|
|
-alias .5='cd ../../../../..'
|
|
|
-
|
|
|
-## Colorize the grep command output for ease of use (good for log files)##
|
|
|
-alias grep='grep --color=auto'
|
|
|
-alias egrep='egrep --color=auto'
|
|
|
-alias fgrep='fgrep --color=auto'
|
|
|
-
|
|
|
-# Generate sha1 digest
|
|
|
-alias sha1='openssl sha1'
|
|
|
-
|
|
|
-# Create parent directories on demand
|
|
|
-alias mkdir='mkdir -pv'
|
|
|
-
|
|
|
-# Make mount command output pretty and human readable format
|
|
|
-# alias mount='mount |column -t'
|
|
|
-#
|
|
|
-
|
|
|
-# Command short cuts to save time
|
|
|
-alias h='history'
|
|
|
-alias j='jobs -l'
|
|
|
-
|
|
|
-# Create a new set of commands
|
|
|
-alias path='echo -e ${PATH//:/\\n}'
|
|
|
-alias now='date +"%T"'
|
|
|
-alias nowtime=now
|
|
|
-alias nowdate='date +"%d-%m-%Y"'
|
|
|
-
|
|
|
-# Set vim as default
|
|
|
-alias vi=nvim
|
|
|
-# alias svi='sudo vi'
|
|
|
-# alias vis='vim "+set si"'
|
|
|
-# alias edit='vim'
|
|
|
-
|
|
|
-# Control output of networking tool called ping
|
|
|
-# Stop after sending count ECHO_REQUEST packets #
|
|
|
-alias ping='ping -c 5'
|
|
|
-# Do not wait interval 1 second, go fast #
|
|
|
-alias fastping='ping -c 100 -s.2'
|
|
|
-
|
|
|
-# Show open ports
|
|
|
-# Use netstat command to quickly list all TCP/UDP port on the server:
|
|
|
-alias ports='netstat -tulanp'
|
|
|
-
|
|
|
-# Add safety nets
|
|
|
-# do not delete / or prompt if deleting more than 3 files at a time #
|
|
|
-alias rm='rm -I --preserve-root'
|
|
|
-# confirmation
|
|
|
-alias mv='mv -i'
|
|
|
-alias cp='cp -i'
|
|
|
-alias ln='ln -i'
|
|
|
-# Parenting changing perms on / #
|
|
|
-alias chown='chown --preserve-root'
|
|
|
-alias chmod='chmod --preserve-root'
|
|
|
-alias chgrp='chgrp --preserve-root'
|
|
|
-
|
|
|
-# Get system memory, cpu usage, and gpu memory info quickly
|
|
|
-# # pass options to free ##
|
|
|
-# alias meminfo='free -m -l -t'
|
|
|
-# # get top process eating memory
|
|
|
-# alias psmem='ps auxf | sort -nr -k 4'
|
|
|
-# alias psmem10='ps auxf | sort -nr -k 4 | head -10'
|
|
|
-# # get top process eating cpu ##
|
|
|
-# alias pscpu='ps auxf | sort -nr -k 3'
|
|
|
-# alias pscpu10='ps auxf | sort -nr -k 3 | head -10'
|
|
|
-# # Get server cpu info ##
|
|
|
-# alias cpuinfo='lscpu'
|
|
|
-# # older system use /proc/cpuinfo ##
|
|
|
-##alias cpuinfo='less /proc/cpuinfo' ##
|
|
|
-# # get GPU ram on desktop / laptop##
|
|
|
-# alias gpumeminfo='grep -i --color memory /var/log/Xorg.0.log'
|
|
|
-
|
|
|
-
|
|
|
-echo "pwd: $(pwd)"
|
|
|
-
|
|
|
bashrcDir="$HOME/.bashrc.d"
|
|
|
-echo "bashrcDir: '$bashrcDir'"
|
|
|
+debug "bashrcDir: '$bashrcDir'"
|
|
|
if [ -d "$bashrcDir" ]; then
|
|
|
for ext in $bashrcDir/*sh; do
|
|
|
- if [ -f "ext" ]; then
|
|
|
- echo include "$ext"
|
|
|
+ if [ -f "$ext" ]; then
|
|
|
+ debug "include '$ext'"
|
|
|
. $ext
|
|
|
fi
|
|
|
done
|
|
|
else
|
|
|
- echo "bashrcDir: '$bashrcDir' NOT FOUND!"
|
|
|
- ls -l $bashrcDir
|
|
|
+ debug"bashrcDir: '$bashrcDir' NOT FOUND!"
|
|
|
fi
|
|
|
|