[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: rpm check script problem



On 10/9/06, Steven W. Orr <steveo syslang net> wrote:
On Monday, Oct 9th 2006 at 11:58 -0400, quoth Tony Nelson:

=>At 11:46 PM +0800 10/9/06, ???? wrote:
=>
=>>2006/10/9, Dan Track <dan track gmail com>:
=>>> 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
=>
=>>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.
=>
=>According to the Wikipedia link
=>
=>    exec 9<$filename
=>
=>seems more likely.

We still don't know what the goal is. All we have is a something that the
author thought should do what he wants but doesn't work.

Look, exec 9< $filename will redirect $filename to stdin for the duration
of the process. exec < $filename 9<&0 will do the same thing but will save
the value of descriptor zero for the purpose of restoration. It's all a
question of what you want to do.


Hi All,

Many thanks for heads up.

The script I pasted in was merely a sanity check, in order to check my
understanding. I thought at the time that the data from the file
"filename" will be stored in fd9 however when I ran the script it
wouldn't work according to that.

I'm a little bit confused it seems as though some people are saying that
exec 9<&0 < $filename  means that the rest of the script will be
dealing with fd9, but other people are saying that I will be dealing
with fd0 throughout the script. Which ones right?

Thanks
Dan


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]