Hi I've got a script that should check which rpms are installed on the system. Part of the script involves using file descriptors. I'm having trouble understanding these file descriptors and was hoping someone can clarify my mistake. As a simple script I wrote the following: #!/bin/bash $filename=$1 $filename1=$2 exec 9<&0 < $filename read rpm echo -e "file1: "$rpm "\c" exec 8<&0 < $filename1 read rpm1 echo -e "file2: "$rpm1 "\c" read rpm2 <&9 echo -e "file1: "$rpm2 "\c" Now my understanding is that the last read and echo statements should print out what is stored in file descriptor "9" however the script just hangs on the last read. Is there a reason for this? And how do I fix it? I've searched and searched but can't find any reason why this shouldn't work. Thanks Dan