The line in the script "exec 9<&0 <$filename" means "first copy fd0 to fd9, then redirect file to fd0", so in the following lines of the script fd9 is always the stdin. 2006/10/9, Dan Track <dan.track@xxxxxxxxx>:
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 -- fedora-list mailing list fedora-list@xxxxxxxxxx To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list