Does bash support doing a read nested within a read loop?

bash

Solution

The simplest fix is to have the outer `read` read from a different file descriptor instead of standard input. In Bash, the `-u` option make that a little easier.

while read -u 3 item
do
  # other stuff
  read -p "choose wisely: " choice
  # other stuff
done 3< /tmp/item.list

Problem

The bash read command is very convenient for: - read -p to prompt the user and capture input from the user - while read loop to iterate through the lines of a file. However, I'm having issues attempting to do both simultaneously. For example: ``` #!/bin/bash while read item do echo Item: $item read -p "choose wisely: " choice echo You still have made a $choice. done < /tmp/item.list ``` Rather than blocking and standing by for the user to enter a choice, bash is populating $choice with the next item in the item.list file. Does bash support doing a read nested within a read loop?

Original source

Related problems