How to read using "read" from file descriptor 3 in bash script?

bash, linux, shell

Solution

try

read key <&3

Problem

http://bash.cyberciti.biz/file-management/shell-script-to-simulate-unix-more-command/ ``` #!/bin/bash # Write a shell script like a more command. It asks the user name, the # name of the file on command prompt and displays only the 15 lines of # the file at a time. # ------------------------------------------------------------------------- # Copyright (c) 2007 nixCraft project <http://cyberciti.biz/fb/> # This script is licensed under GNU GPL version 2.0 or above # ------------------------------------------------------------------------- # This script is part of nixCraft shell script collection (NSSC) # Visit http://bash.cyberciti.biz/ for more information. # ------------------------------------------------------------------------- counter=1 echo -n "Enter a file name : " read file if [ ! -f $file ] then echo "$file not a file!" exit 1 fi # read file line by line exec 3<&0 while read line do # pause at line no. 15 if [ $counter -eq 15 ] then counter=0 # reset counter echo " *** Press [Enter] key to continue ..." read -u 3 enterKey fi echo $line (( counter++ )) done < $file ``` This emulates more command.. I get this error.. read: 26: Illegal option -u Make sure to enter the name of a file which has more than 15 lines.. Also I read the man page of "read" and i didnt get an option like "-u".. So, how do i read using "read" from the file descriptor 3 (which is copy of stdin).

Original source

Related problems