Skip to content

Instantly share code, notes, and snippets.

@Freeaqingme
Last active December 12, 2015 09:09
Show Gist options
  • Save Freeaqingme/4749627 to your computer and use it in GitHub Desktop.
Save Freeaqingme/4749627 to your computer and use it in GitHub Desktop.
My .bashrc
#!/bin/bash
# YELLOW="\[\033[0;33m\]"
black='\e[0;30m'
blue='\e[0;34m'
green='\e[0;32m'
cyan='\e[0;36m'
red='\e[0;31m'
purple='\e[0;35m'
brown='\e[0;33m'
lightgray='\e[0;37m'
darkgray='\e[1;30m'
lightblue='\e[1;34m'
lightgreen='\e[1;32m'
lightcyan='\e[1;36m'
lightred='\e[1;31m'
lightpurple='\e[1;35m'
yellow='\e[1;33m'
lightbrown='\e[0;33m'
white='\e[1;37m'
nc='\e[0m'
#------------------------------------------////
# Aliases:
#------------------------------------------////
## make ls list by size
##alias ls='du -s */* | sort -n'
alias findbig='find . -type f -exec ls -s {} \; | sort -n -r | head -5'
alias music='mocp'
alias ports='netstat -nape --inet'
alias ns='netstat -alnp --protocol=inet'
alias search='aptitude search'
alias show='aptitude show'
alias ls='ls --color=always'
alias la='ls -Al'
alias lx='ls -lXB'
alias lk='ls -lSr'
alias lc='ls -lcr'
alias lu='ls -lur'
alias lr='ls -lR'
alias lt='ls -ltr'
alias lm='ls -al |more'
alias lr='ls -R' # using ls recursively - Handy with grep
alias rlslog='elinks www.rlslog.net' # opens rlslog in terminal
# 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
#------------------------------------------////
# Proxy:
#------------------------------------------////
#http_proxy=http://127.0.0.1:8118/
#HTTP_PROXY=$http_proxy
#export http_proxy HTTP_PROXY
#alias rm='rm -i'
#------------------------------------------////
# Functions and Scripts:
#------------------------------------------////
function ps1_git_branch {
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
echo "(git:"${ref#refs/heads/}")"
}
ps1_git_status()
{
local git_status="$(git status 2>/dev/null)"
[[ "${git_status}" = *deleted* ]] && echo "-"
[[ "${git_status}" = *Untracked[[:space:]]files:* ]] && echo "+"
[[ "${git_status}" = *modified:* ]] && echo "*"
}
cd () {
# builtin cd "$*"
# if [ $? -eq 0 ]; then
# ls --color=auto
# echo "" #new line
# fi
if [ -n "$1" ]; then
builtin cd "$@"
else
builtin cd ~
fi
ls
echo "" #new line
}
localnet () {
/sbin/ifconfig | awk /'inet addr/ {print $2}'
echo ""
/sbin/ifconfig | awk /'Bcast/ {print $3}'
echo ""
}
myip () {
elinks -dump http://checkip.dyndns.org:8245/ | grep "Current IP Address" | cut -d":" -f2 | cut -d" " -f2
}
upinfo () {
echo -ne "${green}$HOSTNAME ${red}uptime: ${cyan} \t\t ";uptime | awk /'up/ {print $3,$4,$5,$6,$7,$8,$9,$10}'
}
weather () {
declare -a WEATHERARRAY
#WEATHERARRAY=( `lynx -dump "http://www.google.com/search?hl=en&lr=&client=firefox-a&rls=org.mozilla_en-US_official&q=weather+${1}&btnG=Search" | grep -A 5 -m 1 "Weather for" | sed 's;\[26\]Add to iGoogle\[27\]IMG;;g'`)
WEATHERARRAY=( `lynx -dump "http://www.google.com/search?hl=en& … tnG=Search" | grep -A 5 -m 1 "Weather for" | sed 's;\[26\]Add to iGoogle\[27\]IMG;;g'`)
echo ${WEATHERARRAY[@]}
}
encrypt () {
gpg -ac --no-options "$1"
}
decrypt () {
gpg --no-options "$1"
}
extract() {
if [ -f "$1" ] ; then
case "$1" in
*.tar.bz2) tar xjf "$1" ;;
*.tar.gz) tar xzf "$1" ;;
*.tar.Z) tar xzf "$1" ;;
*.bz2) bunzip2 "$1" ;;
*.rar) unrar x "$1" ;;
*.gz) gunzip "$1" ;;
*.jar) unzip "$1" ;;
*.tar) tar xf "$1" ;;
*.tbz2) tar xjf "$1" ;;
*.tgz) tar xzf "$1" ;;
*.zip) unzip "$1" ;;
*.Z) uncompress "$1" ;;
*) echo "'$1' cannot be extracted." ;;
esac
else
echo "'$1' is not a file."
fi
}
#------------------------------------------////
# Some original .bashrc contents:
#------------------------------------------////
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# don't put duplicate lines in the history. See bash(1) for more options
export HISTCONTROL=ignoredups
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(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
#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
#------------------------------------------////
# Prompt:
#------------------------------------------////
# PS1='\[\033[01;32m\]\u\[\033[01;34m\]@\[\033[01;31m\]\h\[\033[00;34m\]{\[\033[01;34m\]\w\[\033[00;34m\]}\[\033[01;32m\]:\[\033[00m\]'
#PS1="$HC$FYEL[ $FBLE${debian_chroot:+($debian_chroot)}\u$FYEL: $FBLE\w $FYEL]\\n\$ $RS"
#PS1="$lightcyan\n┌─\$(date +%H:%M) \w$lightbrown \$(ps1_git_branch)$(ps1_git_status)\n$lightcyan└───\$ $green"
# https://bbs.archlinux.org/viewtopic.php?pid=1068202#p1068202
# https://wiki.archlinux.org/index.php/Color_Bash_Prompt
PS1="\[\033[0;37m\]\342\224\214\342\224\200\$([[ \$? != 0 ]] && echo \"[\[\033[0;31m\]\342\234\227\[\033[0;37m\]]\342\224\200\")[$(if [[ ${EUID} == 0 ]]; then echo '\[\033[0;31m\]\h'; else echo '\[\033[0;33m\]\u\[\033[0;37m\]@\[\033[0;96m\]\h'; fi)\[\033[0;37m\]]\342\224\200[\[\033[0;32m\]\w\[\033[0;37m\]]\n\[\033[0;37m\]\342\224\224\342\224\200\342\224\200\342\225\274 \[\033[0m\]"
PS2="$HC$FYEL> $RS"
#------------------------------------------////
# System Information:
#------------------------------------------////
clear
echo -e "${LIGHTGRAY}";figlet `hostname`;
echo ""
echo -ne "${red}Today is:\t\t\t${cyan}" `date`; echo ""
echo -e "${red}Kernel Information: \t\t${cyan}" `uname -smr`
echo -ne "${cyan}";upinfo;echo ""
echo -e "${cyan}"; cal -3
echo ""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment