View Single Post
Join Date: Mar 2008
Posts: 2
Reputation: Robert72 is an unknown quantity at this point 
Solved Threads: 0
Robert72 Robert72 is offline Offline
Newbie Poster

Shell script accepting input from a pipe AND the keyboard

 
0
  #1
Oct 8th, 2008
I'd like to write a shell script that'd parse data from a pipe and then ask the user questions.
ie:

Shell Scripting Syntax (Toggle Plain Text)
  1. echo "Ann Bob Charlie" | checkuser.sh
  2. checkuser.sh starting
  3. Ann is OK.
  4. Bob is not in the system. Add Bob? (y/n):

I know a couple ways to read from a pipe:
Shell Scripting Syntax (Toggle Plain Text)
  1. names="`cat`"
and
Shell Scripting Syntax (Toggle Plain Text)
  1. names=""
  2. while read myline; do
  3. names="$names\n$myline"
  4. done

But I don't know how to make the script start looking to he keyboard for input from the pipe's exhausted. I'd love to know exactly how the machine thinks of these kinds of things. I mean, is the terminal file (ie /dev/pts/12) still "attached" to the session? Is the logical definition of "stdin" or "file descriptor 0" changed in some way?

Many thanks for any insightful insights!
Reply With Quote