51 lines
1.5 KiB
Bash
Executable File
51 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
if [ ! -d $HOME/.flash ];then # If Directory does NOT exist
|
|
echo "No '.flash/' directory, make it? y/n"
|
|
read RESPONSE
|
|
if [ "$(echo $RESPONSE | tr '[:upper:]' '[:lower:]')" = "n" ];then # Does user want the script to make the directory
|
|
exit # Response NO = Exit
|
|
elif [ "$(echo $RESPONSE | tr '[:upper:]' '[:lower:]')" = "y" ]; then # Does user want the script to make the directory
|
|
mkdir $HOME/.flash
|
|
touch $HOME/.flash/deck.csv
|
|
echo "Your './flash' directory has been made and your 'deck.csv' file is ready for your flashcard data"
|
|
exit
|
|
else
|
|
echo "invalid choice, please select either 'y' or 'n'"
|
|
exit
|
|
fi
|
|
fi
|
|
if [ ! -e $HOME/.flash/deck.csv ];then # If the Deck file does NOT exist in .flash/
|
|
echo "No 'deck.csv' in '.flash/', make it? y/n"
|
|
read RESPONSE
|
|
if [ "$(echo $RESPONSE | tr '[:upper:]' '[:lower:]')" = "n" ];then # Does user want the script to make the deck.csv file
|
|
exit # Response NO = Exit
|
|
elif [ "$(echo $RESPONSE | tr '[:upper:]' '[:lower:]')" = "y" ]; then # Does user want the script to make the deck.csv file
|
|
touch $HOME/.flash/deck.csv
|
|
echo "Your 'deck.csv' file has been made go fill it with flashcard data!"
|
|
exit
|
|
else
|
|
echo "invalid choice, please select either 'y' or 'n'"
|
|
exit
|
|
fi
|
|
fi
|
|
|
|
# Configuration
|
|
FILE="$HOME/.flash/deck.csv"
|
|
|
|
main(){
|
|
IFS=$'\t'; read -a q <<<$(shuf -n 1 "$FILE")
|
|
echo "===================================================="
|
|
echo "Category: ${q[0]}"
|
|
echo "Question: ${q[1]}"
|
|
read _
|
|
echo "Answer: ${q[2]}"
|
|
echo ''
|
|
}
|
|
|
|
while true; do
|
|
main
|
|
done
|