Typo fix, add lead comment to .bash_profile
[.git] / .bash_profile
1 # ~/.bash_profile
2 [[ -s ~/.bashrc ]] && source ~/.bashrc
3
4 # prints random fortune to screen; note that -s is passed to fortune to
5 # prevent your screen from being flooded, but cowsay does not have a similar
6 # option, and some cows are quite large; you may wish to remove -s given that,
7 # to enable access to a wider variety of fortunes
8
9 # dynamically build COWPATH based on commonly used locations for cowfiles,
10 # edit as appropriate
11 declare -a cowpaths=( "/usr/local/git/cowfiles" "/usr/local/git/cowsay-files/cows" "/usr/local/share/localcows" "/usr/local/share/cows" "/usr/share/cowsay" )
12
13 for cowpath in "${cowpaths[@]}"; do
14   if [ -e $cowpath ]; then
15     COWPATH="$cowpath:$COWPATH"
16   fi
17 done 
18
19 if [ -n "$COWPATH" ]; then
20     export COWPATH
21 fi
22
23 function lolcatcowsayfortune {
24
25     # randomly pick between cowsay and cowthink
26     declare -a cowsay_types=("cowsay" "cowthink")
27     cowsay_type=${cowsay_types[ $RANDOM % 2 ]}
28     #echo "Cowsay type: ${cowsay_type}"
29
30     # randomly pick an eye type
31     declare -a eye_types=("-b" "-d" "-g" "-p" "-s" "-t" "-w" "-y")
32     eye_type=${eye_types[ $RANDOM % 8 ]}
33     #echo "Eye type: ${eye_type}"
34
35     num_of_cows=`cowsay -l | grep -v "Cow files in" | tail -n +2 | wc -w`
36     which_cow=$(( RANDOM % ($num_of_cows+1) ))
37     this_cow=`cowsay -l | tail -n +2 | sed -e 's/\ /\'$'\n/g' | sed $which_cow'q;d'`
38
39     #echo "Number of cows: ${num_of_cows}"
40     #echo "Selected cow: ${this_cow}, from ${which_cow}"
41     fortune -s | $cowsay_type $eye_type -f $this_cow -n | lolcat
42 }
43
44 # require all components to be installed for function to execute
45 # fortune, with cowsay and random cows, and lolcat; here instead of .bashrc
46 # to prevent remote eommands from failing due to output being generated
47 if [ -n "$COWPATH" ] && [ -x "$(command -v cowsay)" ] && [ -x "$(command -v fortune)" ] && [ -x "$(command -v lolcat)" ]; then
48     lolcatcowsayfortune
49 else
50     echo "Missing required components, please check to ensure that fortune, cowsay, and lolcat are all installed, and that COWPATH is not null."
51 fi