| #!/usr/bin/env bash |
| |
| # For generic functions. |
| |
| ips () |
| { |
| about display all ip addresses for this host |
| ifconfig | grep "inet " | awk '{ print $2 }' |
| } |
| |
| down4me () |
| { |
| about checks whether a website is down for you, or everybody |
| param 1: website url |
| example '$ down4me http://www.google.com' |
| curl -s "http://www.downforeveryoneorjustme.com/$1" | sed '/just you/!d;s/<[^>]*>//g' |
| } |
| |
| myip () |
| { |
| about displays your ip address, as seen by the Internet |
| res=$(curl -s checkip.dyndns.org | grep -Eo '[0-9\.]+') |
| echo -e "Your public IP is: ${echo_bold_green} $res ${echo_normal}" |
| } |
| |
| |
| pickfrom () |
| { |
| about picks random line from file |
| param 1: filename |
| example '$ pickfrom /usr/share/dict/words' |
| local file=$1 |
| [ -z "$file" ] && reference $FUNCNAME && return |
| length=$(cat $file | wc -l) |
| n=$(expr $RANDOM \* $length \/ 32768 + 1) |
| head -n $n $file | tail -1 |
| } |
| |
| pass () |
| { |
| about generates random password from dictionary words |
| param optional integer length |
| param if unset, defaults to 4 |
| example '$ pass' |
| example '$ pass 6' |
| local i pass length=${1:-4} |
| pass=$(echo $(for i in $(eval echo "{1..$length}"); do pickfrom /usr/share/dict/words; done)) |
| echo "With spaces (easier to memorize): $pass" |
| echo "Without (use this as the pass): $(echo $pass | tr -d ' ')" |
| } |
| |
| pmdown () |
| { |
| about preview markdown file in a browser |
| param 1: markdown file |
| example '$ pmdown README.md' |
| if command -v markdown &>/dev/null |
| then |
| markdown $1 | browser |
| else |
| echo "You don't have a markdown command installed!" |
| fi |
| } |
| |
| mkcd () |
| { |
| about make a directory and cd into it |
| param path to create |
| example '$ mkcd foo' |
| example '$ mkcd /tmp/img/photos/large' |
| mkdir -p "$*" |
| cd "$*" |
| } |
| |
| lsgrep () |
| { |
| about search through directory contents with grep |
| ls | grep "$*" |
| } |
| |
| |
| pman () |
| { |
| about view man documentation in Preview |
| param 1: man page to view |
| example '$ pman bash' |
| man -t "${1}" | open -f -a $PREVIEW |
| } |
| |
| |
| pcurl () |
| { |
| about download file and Preview it |
| param 1: download URL |
| example '$ pcurl http://www.irs.gov/pub/irs-pdf/fw4.pdf' |
| curl "${1}" | open -f -a $PREVIEW |
| } |
| |
| pri () |
| { |
| about display information about Ruby classes, modules, or methods, in Preview |
| param 1: Ruby method, module, or class |
| example '$ pri Array' |
| ri -T "${1}" | open -f -a $PREVIEW |
| } |
| |
| quiet () |
| { |
| $* &> /dev/null & |
| } |
| |
| banish-cookies () |
| { |
| about redirect .adobe and .macromedia files to /dev/null |
| rm -r ~/.macromedia ~/.adobe |
| ln -s /dev/null ~/.adobe |
| ln -s /dev/null ~/.macromedia |
| } |
| |
| usage () |
| { |
| about disk usage per directory, in Mac OS X and Linux |
| param 1: directory name |
| if [ $(uname) = "Darwin" ]; then |
| if [ -n $1 ]; then |
| du -hd $1 |
| else |
| du -hd 1 |
| fi |
| |
| elif [ $(uname) = "Linux" ]; then |
| if [ -n $1 ]; then |
| du -h --max-depth=1 $1 |
| else |
| du -h --max-depth=1 |
| fi |
| fi |
| } |
| |
| if [ ! -e $BASH_IT/plugins/enabled/todo.plugin.bash ]; then |
| # if user has installed todo plugin, skip this... |
| t () |
| { |
| about 'one thing todo' |
| param 'if not set, display todo item' |
| param '1: todo text' |
| if [[ "$*" == "" ]] ; then |
| cat ~/.t |
| else |
| echo "$*" > ~/.t |
| fi |
| } |
| fi |
| |
| command_exists () |
| { |
| about checks for existence of a command |
| param 1: command to check |
| example '$ command_exists ls && echo exists' |
| type "$1" &> /dev/null ; |
| } |
| |
| plugins-help () |
| { |
| about list all plugins and functions defined by bash-it |
| echo "bash-it Plugins Help-Message" |
| echo |
| |
| set | grep "()" \ |
| | sed -e "/^_/d" | grep -v "BASH_ARGC=()" \ |
| | sed -e "/^\s/d" | grep -v "BASH_LINENO=()" \ |
| | grep -v "BASH_ARGV=()" \ |
| | grep -v "BASH_SOURCE=()" \ |
| | grep -v "DIRSTACK=()" \ |
| | grep -v "GROUPS=()" \ |
| | grep -v "BASH_CMDS=()" \ |
| | grep -v "BASH_ALIASES=()" \ |
| | grep -v "COMPREPLY=()" | sed -e "s/()//" |
| } |
| |
| # useful for administrators and configs |
| buf () |
| { |
| about back up file with timestamp |
| param filename |
| local filename=$1 |
| local filetime=$(date +%Y%m%d_%H%M%S) |
| cp ${filename} ${filename}_${filetime} |
| } |