Robert R Evans | a4d0242 | 2010-10-02 15:07:29 -0700 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
Robert R Evans | 2010f01 | 2010-10-10 09:24:19 -0700 | [diff] [blame] | 3 | # For generic functions. |
| 4 | |
| 5 | function ips { |
| 6 | ifconfig | grep "inet " | awk '{ print $2 }' |
| 7 | } |
| 8 | |
Mark Szymanski | 63c60e5 | 2011-03-11 20:32:46 -0600 | [diff] [blame] | 9 | function down4me() { |
| 10 | curl -s "http://www.downforeveryoneorjustme.com/$1" | sed '/just you/!d;s/<[^>]*>//g' |
| 11 | } |
| 12 | |
Robert R Evans | 2010f01 | 2010-10-10 09:24:19 -0700 | [diff] [blame] | 13 | function myip { |
| 14 | res=$(curl -s checkip.dyndns.org | grep -Eo '[0-9\.]+') |
| 15 | echo "Your public IP is: ${bold_green} $res ${normal}" |
| 16 | } |
Robert R Evans | c9da086 | 2010-10-06 17:27:55 -0700 | [diff] [blame] | 17 | |
Mark Szymanski | 4898fa9 | 2011-05-27 11:47:55 -0500 | [diff] [blame^] | 18 | # Function for previewing markdown files in the browser |
| 19 | |
| 20 | function pmdown() { |
| 21 | if command -v markdown &>/dev/null |
| 22 | then |
| 23 | markdown $1 | browser |
| 24 | else |
| 25 | echo "You don't have a markdown command installed!" |
| 26 | fi |
| 27 | } |
| 28 | |
Jesus de Mula Cano | cced727 | 2011-03-07 00:18:05 +0100 | [diff] [blame] | 29 | # Make a directory and immediately 'cd' into it |
| 30 | |
Mark Szymanski | 63c60e5 | 2011-03-11 20:32:46 -0600 | [diff] [blame] | 31 | function mkcd() { |
| 32 | mkdir -p "$*" |
| 33 | cd "$*" |
Mark Szymanski | 123c3be | 2010-10-18 18:24:15 -0500 | [diff] [blame] | 34 | } |
Robert R Evans | c9da086 | 2010-10-06 17:27:55 -0700 | [diff] [blame] | 35 | |
Jesus de Mula Cano | cced727 | 2011-03-07 00:18:05 +0100 | [diff] [blame] | 36 | # Search through directory contents with grep |
| 37 | |
| 38 | function lsgrep(){ |
| 39 | ls | grep "$*" |
| 40 | } |
| 41 | |
Robert R Evans | 2010f01 | 2010-10-10 09:24:19 -0700 | [diff] [blame] | 42 | # View man documentation in Preview |
| 43 | pman () { |
| 44 | man -t "${1}" | open -f -a $PREVIEW |
| 45 | } |
| 46 | |
| 47 | |
| 48 | pcurl() { |
| 49 | curl "${1}" | open -f -a $PREVIEW |
| 50 | } |
| 51 | |
| 52 | pri() { |
| 53 | ri -T "${1}" | open -f -a $PREVIEW |
| 54 | } |
| 55 | |
Mark Szymanski | 6229597 | 2010-11-20 16:27:47 -0600 | [diff] [blame] | 56 | quiet() { |
| 57 | $* &> /dev/null & |
| 58 | } |
| 59 | |
Mark Szymanski | 5a7174a | 2010-11-04 13:09:40 -0500 | [diff] [blame] | 60 | banish-cookies() { |
| 61 | rm -r ~/.macromedia ~/.adobe |
| 62 | ln -s /dev/null ~/.adobe |
| 63 | ln -s /dev/null ~/.macromedia |
| 64 | } |
Robert R Evans | 2010f01 | 2010-10-10 09:24:19 -0700 | [diff] [blame] | 65 | |
| 66 | # disk usage per directory |
Florian Baumann | e45e72e | 2010-11-02 14:50:45 +0100 | [diff] [blame] | 67 | # in Mac OS X and Linux |
Robert R Evans | 2010f01 | 2010-10-10 09:24:19 -0700 | [diff] [blame] | 68 | usage () |
| 69 | { |
Florian Baumann | e45e72e | 2010-11-02 14:50:45 +0100 | [diff] [blame] | 70 | if [ $(uname) = "Darwin" ]; then |
| 71 | if [ -n $1 ]; then |
| 72 | du -hd $1 |
| 73 | else |
| 74 | du -hd 1 |
| 75 | fi |
| 76 | |
| 77 | elif [ $(uname) = "Linux" ]; then |
| 78 | if [ -n $1 ]; then |
| 79 | du -h --max-depth=1 $1 |
| 80 | else |
| 81 | du -h --max-depth=1 |
| 82 | fi |
| 83 | fi |
Mark Szymanski | 123c3be | 2010-10-18 18:24:15 -0500 | [diff] [blame] | 84 | } |
Mark Szymanski | 4b26a78 | 2010-11-05 15:02:12 -0500 | [diff] [blame] | 85 | |
| 86 | # One thing todo |
Mark Szymanski | 64eb338 | 2010-11-05 15:27:03 -0500 | [diff] [blame] | 87 | function t() { |
Mark Szymanski | 4b26a78 | 2010-11-05 15:02:12 -0500 | [diff] [blame] | 88 | if [[ "$*" == "" ]] ; then |
| 89 | cat ~/.t |
| 90 | else |
| 91 | echo "$*" > ~/.t |
| 92 | fi |
Florian Baumann | cecbae5 | 2010-11-08 21:31:11 +0100 | [diff] [blame] | 93 | } |
| 94 | |
Jesus de Mula Cano | 229aa83 | 2011-03-07 00:02:43 +0100 | [diff] [blame] | 95 | # Checks for existence of a command |
| 96 | command_exists () { |
| 97 | type "$1" &> /dev/null ; |
| 98 | } |
| 99 | |
Florian Baumann | cecbae5 | 2010-11-08 21:31:11 +0100 | [diff] [blame] | 100 | # List all plugins and functions defined by bash-it |
| 101 | function plugins-help() { |
| 102 | |
| 103 | echo "bash-it Plugins Help-Message" |
| 104 | echo |
| 105 | |
| 106 | set | grep "()" \ |
| 107 | | sed -e "/^_/d" | grep -v "BASH_ARGC=()" \ |
| 108 | | sed -e "/^\s/d" | grep -v "BASH_LINENO=()" \ |
| 109 | | grep -v "BASH_ARGV=()" \ |
| 110 | | grep -v "BASH_SOURCE=()" \ |
| 111 | | grep -v "DIRSTACK=()" \ |
| 112 | | grep -v "GROUPS=()" \ |
| 113 | | grep -v "BASH_CMDS=()" \ |
| 114 | | grep -v "BASH_ALIASES=()" \ |
Florian Baumann | 6a890d2 | 2010-11-08 21:40:16 +0100 | [diff] [blame] | 115 | | grep -v "COMPREPLY=()" | sed -e "s/()//" |
Florian Baumann | cecbae5 | 2010-11-08 21:31:11 +0100 | [diff] [blame] | 116 | } |
| 117 | |
Florian Baumann | ab44572 | 2010-12-14 14:33:16 +0100 | [diff] [blame] | 118 | # back up file with timestamp |
| 119 | # useful for administrators and configs |
| 120 | buf () { |
| 121 | filename=$1 |
| 122 | filetime=$(date +%Y%m%d_%H%M%S) |
| 123 | cp ${filename} ${filename}_${filetime} |
| 124 | } |