blob: 45d028a7099af506e6c639c6e92a67960f0b238b [file] [log] [blame]
#!/usr/bin/env bash
cite about-plugin
about-plugin generic and miscellaneous tools
ips ()
{
about display all ip addresses for this host
group base
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'
group base
curl -s "http://www.downforeveryoneorjustme.com/$1" | sed '/just you/!d;s/<[^>]*>//g'
}
myip ()
{
about displays your ip address, as seen by the Internet
group base
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'
group base
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'
group base
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'
group base
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'
group base
mkdir -p "$*"
cd "$*"
}
lsgrep ()
{
about search through directory contents with grep
group base
ls | grep "$*"
}
pman ()
{
about view man documentation in Preview
param 1: man page to view
example '$ pman bash'
group base
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'
group base
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'
group base
ri -T "${1}" | open -f -a $PREVIEW
}
quiet ()
{
about 'what *does* this do?'
group base
$* &> /dev/null &
}
banish-cookies ()
{
about redirect .adobe and .macromedia files to /dev/null
group base
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
group base
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
}
t ()
{
about one thing todo
param if not set, display todo item
param 1: todo text
group base
if [[ "$*" == "" ]] ; then
cat ~/.t
else
echo "$*" > ~/.t
fi
}
command_exists ()
{
about checks for existence of a command
param 1: command to check
example '$ command_exists ls && echo exists'
group base
type "$1" &> /dev/null ;
}
plugins-help ()
{
about list all plugins and functions defined by bash-it
group base
printf '%s\n' "bash-it plugins help"
printf '\n'
typeset group
for group in $(all_groups)
do
printf '%s\n' "group: $group"
glossary $group
printf '\n'
done
}
# useful for administrators and configs
buf ()
{
about back up file with timestamp
param filename
group base
local filename=$1
local filetime=$(date +%Y%m%d_%H%M%S)
cp ${filename} ${filename}_${filetime}
}
all_groups ()
{
about displays all unique metadata groups
group base
typeset func
typeset file=$(mktemp /tmp/composure.XXXX)
for func in $(typeset_functions)
do
typeset -f $func | metafor group >> $file
done
cat $file | sort | uniq
rm $file
}