30 lines
638 B
Bash
30 lines
638 B
Bash
#!/usr/bin/env bash
|
|
namegame() {
|
|
local name=$1 b=b f=f m=m
|
|
local rhyme=${name#[^AaEeIiOoUu]}
|
|
while [[ $rhyme == [^AaEeIiOoUuYy]* ]]; do
|
|
rhyme=${rhyme#?}
|
|
done
|
|
if [[ "$rhyme" == [AEIOU]* ]]; then
|
|
rhyme=$(tr A-Z a-z <<<"$rhyme")
|
|
fi
|
|
if [[ $name == [Bb]* ]]; then
|
|
b=
|
|
fi
|
|
if [[ $name == [Ff]* ]]; then
|
|
f=
|
|
fi
|
|
if [[ $name == [Mm]* ]]; then
|
|
m=
|
|
fi
|
|
printf '%s, %s, bo-%s%s\n' "$name" "$name" "$b" "$rhyme"
|
|
printf 'Banana-fana fo-%s%s\n' "$f" "$rhyme"
|
|
printf 'Fee-fi-mo-%s%s\n' "$m" "$rhyme"
|
|
printf '%s!\n' "$name"
|
|
}
|
|
|
|
|
|
for name in Gary Earl Billy Felix Mark Frank; do
|
|
namegame "$name"
|
|
echo
|
|
done
|