aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xponysay20
-rwxr-xr-xponythink27
2 files changed, 15 insertions, 32 deletions
diff --git a/ponysay b/ponysay
index e9e6141..ddaf7d0 100755
--- a/ponysay
+++ b/ponysay
@@ -1,23 +1,33 @@
#!/usr/bin/env bash
export PERL_UNICODE=S
-ponydir=$PWD/ponies
+[[ -z ${PONYDIR} ]] && PONYDIR=/usr/share/ponies
+HOMEDIR=${HOME}/.ponies
+
+cmd=cowsay
+[[ ${0} == *ponythink ]] && cmd=cowthink
function ponyf() {
- if [[ -f ${ponydir}/${1}.cow ]] ; then
- cowsay -f "${ponydir}/${1}.cow" $@
+ if [[ -f ${HOMEDIR}/${1}.cow ]]; then
+ ${cmd} -f "${HOMEDIR}/${1}.cow" $@
+ elif [[ -f ${PONYDIR}/${1}.cow ]]; then
+ ${cmd} -f "${PONYDIR}/${1}.cow" $@
else
ponyr $@
fi
}
function ponyr() {
- cowsay -f $(ls ${ponydir}/*.cow | sort -R | head -n1) $@
+ if [[ -d ${HOMEDIR} ]] && [[ -n $(find ${HOMEDIR} -name \*.cow) ]]; then
+ ${cmd} -f $(ls ${HOMEDIR}/*.cow | sort -R | head -n1) $@
+ elif [[ -d ${PONYDIR} ]] && [[ -n $(find ${PONYDIR} -name \*.cow) ]]; then
+ ${cmd} -f $(ls ${PONYDIR}/*.cow | sort -R | head -n1) $@
+ fi
}
while getopts f:hv OPT
do
case ${OPT} in
- v) echo "v0.01" ; exit;;
+ v) echo "v0.1" ; exit;;
h) echo "helpherpderp" ; exit;;
f) ponyf $* ; exit;;
\?) echo "DERP"; exit;;
diff --git a/ponythink b/ponythink
deleted file mode 100755
index 2136187..0000000
--- a/ponythink
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/env bash
-export PERL_UNICODE=S
-
-ponydir=$PWD/ponies
-
-function ponyf() {
- if [[ -f ${ponydir}/${1}.cow ]] ; then
- cowthink -f "${ponydir}/${1}.cow" $@
- else
- ponyr $@
- fi
-}
-function ponyr() {
- cowthink -f $(ls ${ponydir}/*.cow | sort -R | head -n1) $@
-}
-
-while getopts f:hv OPT
-do
- case ${OPT} in
- v) echo "v0.01" ; exit;;
- h) echo "helpherpderp" ; exit;;
- f) ponyf $* ; exit;;
- \?) echo "DERP"; exit;;
- *) ponyr $* ; exit;;
- esac
-done
-ponyr $*