mirror of
https://github.com/erkin/ponysay
synced 2024-11-16 08:27:58 +00:00
41 lines
920 B
Bash
Executable file
41 lines
920 B
Bash
Executable file
#!/bin/bash
|
|
|
|
INSTALLDIR="$(dirname "$(dirname "$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )")")" # Get main bash script directory's parent
|
|
|
|
if [[ $# == 1 ]] && [[ "$1" == '-l' || "$1" == '--list' ]]; then
|
|
perl "$0.pl" "$INSTALLDIR" | cut -d @ -f 1 | uniq
|
|
else
|
|
_ponies="$(perl "$0.pl" "$INSTALLDIR")"
|
|
ponies=()
|
|
|
|
if (( $# > 1 )); then
|
|
p=()
|
|
for arg in "$@"; do
|
|
p+=( $(echo "$_ponies" | grep "^$arg@") )
|
|
done
|
|
_ponies=$p
|
|
fi
|
|
|
|
for _pony in $_ponies; do
|
|
ponies+=( $_pony )
|
|
done
|
|
|
|
if [[ ${#ponies[@]} == 0 ]]; then
|
|
ponies=()
|
|
for arg in "$@"; do
|
|
ponies+=( "$arg" )
|
|
done
|
|
|
|
p="${ponies[$RANDOM%${#ponies[@]}]}"
|
|
q='I am totally speechless'
|
|
echo "-f" $p $q
|
|
else
|
|
pony="${ponies[$RANDOM%${#ponies[@]}]}"
|
|
|
|
p="$(echo $pony | cut -d '@' -f 1)"
|
|
f="$(echo $pony | cut -d '@' -f 2)"
|
|
q="$(cat "$INSTALLDIR/share/ponysay/quotes/$f")"
|
|
|
|
echo "-f" $p $q
|
|
fi
|
|
fi
|