Dheeraj
Dheeraj

Reputation: 337

Pause shell script until user presses enter

When I am reading a file

sample script

while read file
do
temp = $(echo $file)
read -p "Press Enter to continue"
echo $temp
done < test.txt

I want to pause the script until I press ENTER

Upvotes: 19

Views: 25749

Answers (1)

Barmar
Barmar

Reputation: 780724

read reads from standard input by default, which is redirected to the file, so it's getting the line from the file. You can redirect back to the terminal:

read -p "Press Enter to continue" </dev/tty

Another option would be to use a different FD for the file redirection

while read -u 3
do
    ...
done 3< test.txt

Upvotes: 46

Related Questions