Skip to content

Instantly share code, notes, and snippets.

@emiller
Created October 25, 2015 01:11
Show Gist options
  • Save emiller/3e288b8562e538a5e3d7 to your computer and use it in GitHub Desktop.
Save emiller/3e288b8562e538a5e3d7 to your computer and use it in GitHub Desktop.
.bash_aliases
#!/bin/bash
export LANG="en_US.UTF-8"
export LANGUAGE="en_US"
txtrst='\033[00m' # Text Reset (\e[0m')
txtblk='\e[0;30m' # Black - Regular
txtred='\e[0;31m' # Red
txtgrn='\e[0;32m' # Green
txtylw='\e[0;33m' # Yellow
txtblu='\e[0;34m' # Blue
txtpur='\e[0;35m' # Purple
txtcyn='\e[0;36m' # Cyan
txtwht='\e[0;37m' # White
bldblk='\e[1;30m' # Black - Bold
bldred='\e[1;31m' # Red
bldgrn='\e[1;32m' # Green
bldylw='\e[1;33m' # Yellow
bldblu='\e[1;34m' # Blue
bldpur='\e[1;35m' # Purple
bldcyn='\e[1;36m' # Cyan
bldwht='\e[1;37m' # White
unkblk='\e[4;30m' # Black - Underline
undred='\e[4;31m' # Red
undgrn='\e[4;32m' # Green
undylw='\e[4;33m' # Yellow
undblu='\e[4;34m' # Blue
undpur='\e[4;35m' # Purple
undcyn='\e[4;36m' # Cyan
undwht='\e[4;37m' # White
bakblk='\e[40m' # Black - Background
bakred='\e[41m' # Red
bakgrn='\e[42m' # Green
bakylw='\e[43m' # Yellow
bakblu='\e[44m' # Blue
bakpur='\e[45m' # Purple
bakcyn='\e[46m' # Cyan
bakwht='\e[47m' # White
alias 'notify'='notify-send --urgency=low -i terminal'
alias 'to_json'='json_pp -json_opt canonical,pretty,allow_singlequote,allow_barekey'
function can_haz_root() { whoami | grep -q root || { echo -n 'icanhazroot? ' && sudo echo 'kthx' || return ;} ;}
function confirm() { read -p "${1-continue?} " -n 1 p; echo $p | grep -qc y; s=$?; echo; return $s ;}
function loop() { while wait; do eval $*; done ;}
function puts() { echo -e "$txtrst$bldblk$(now)$txtrst $*" ;}
function random() { echo $(($RANDOM / (32767/${1:-2}))) ;}
function title() { echo -ne "\033]0;$*\007" ;}
function from_json() {
key=${1:?"missing key"}; shift
if [[ $# -eq 0 ]]; then
result=$(to_json | grep --color=none -E "$key" | sed -n 's/.*"'$key'"[ :"]*\([^",}]*\).*/\1/p')
[[ -z $result ]] && return 1 || echo "$result"
else
echo $* | from_json $key
fi
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment