Bash script, "flash cards" for Spanish vocabulary
I haven't used or reviewed bash script for ever, so I'm just going to give a few comments:


Your script reads nicely, and even though I don't know spanish, there are some comments explaining the vital parts.
I think the script could benefit from a little more spacing, so that the various sections stood out a little more. The top half is better than the bottom half.
The variable names are good and helpful
However there are two code smells that I see:


Each time you set vocab_item you're re-reading the file. So at end of script you've read the file \$N\$ times, where \$N\$ is the number of lines
Each time you set english and spanish to trigger a new call to cut.



Reading the main file once

After a little searching I found this thread on SO:Looping through the content of a file in bash. The accepted answers uses the following construct:

while read p; do
  echo $p
done &lt;peptides.txt


This would allow for reading the file just once, but you'll need to change a little of your logic related to counting the correct number of answers. 

Splitting a line into an array

Another search, and another SO thread: Split string into an array in bash. This one to avoid the calls to cut.

IFS=', ' read -r -a parts &lt;&lt;&lt; "$vocab_item"
english="${parts[0]}"
spanish="${parts[1]}"


Hope this helps to some extent.