I think the technicality here is that given "pci < inputfile", no
parameters are passed to the pci command, so it should, according to
the spec, display all the devices.

Another problem may be that in the "pci < inputfile" case, the pci
command has no way to know that its input is being redirected and that
it should behave differently than normal. I may be wrong about that
point; I know it is possible, but it might require some sort of generic
change or addition to the shell's behavior.

A different tack would be to add (in a future spec version) a command
line argument that simply indicated to pci that its input (commands)
are in some file (e.g. "pci -cmdfile inputfile"). Of course, if that
were to happen, the new spec should also specify the format of the
command file's content.

A simple way to do what Tiger was trying and that works right now is
to create a shell script instead of an input file:

    @echo -off
    pci 00 00 01 -i
    pci 00 00 02 -i

Regards,
Jim

-----Original Message-----
From: Carsey, Jaben [mailto:jaben.car...@intel.com] 
Sent: Thursday, September 21, 2017 8:11 AM
To: Dailey, Jim <jim_dai...@dell.com>; tiger...@zhaoxin.com
Cc: edk2-devel@lists.01.org
Subject: RE: [edk2] Shell input redirection question

If the requirement for PCI to display the information when there are no 
parameters present, I see no reason that it could not also use a file for 
input.  i.e. "pci" must act according to the spec, but "pci < inputfile" is not 
prohibited.  I think that as no code currently uses PCI with file input as long 
as current behavior still works it should be fine.

I would think that would be a great improvement for the PCI command.

-Jaben

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> jim.dai...@dell.com
> Sent: Thursday, September 21, 2017 4:52 AM
> To: tiger...@zhaoxin.com
> Cc: edk2-devel@lists.01.org
> Subject: Re: [edk2] Shell input redirection question
> Importance: High
> 
> The shell's pci command was not written to read from standard input. It
> expects all its input on the command line.
> 
> I would say in general that if you execute a command and pass it no
> parameters, and it then prompts you in some way for input, then that
> command will likely accept input redirected from a file.
> 
> If you execute pci without any parameters, it simply lists all the
> devices in the system and terminates, so it clearly is not prepared to
> read from standard input (or a redirected file).
> 
> It is strictly up to whomever writes a program/command whether they do
> so in a manner that allows it to accept input from standard input. For
> example, I have written a grep utility for the shell that expects one or
> more filenames to search to be on the command line; however, if there
> are no filenames on the command line, the utility searches standard
> input.
> 
> Regards,
> Jim
> 
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> Tiger Liu
> Sent: Thursday, September 21, 2017 1:11 AM
> To: edk2-devel@lists.01.org
> Subject: [edk2] Shell input redirection question
> 
> Hi, experts:
> I have a question about input redirection in Shell environment.
> 
> Take pci command as sample.
> I wrote a txt file(file name is : inputsample.txt), its content is:
> 00 00 01 -i
> 00 00 02 –i
> 
> It means I just wanted to dump D0F1/D0F2’s config space.
> 
> Then, I use this command sequence in shell :
> pci <a inputsample.txt
> 
> But it seems not recognize this input file’s content.
> 
> Why?
> 
> Thanks
> 
> best wishes,
> 
> 
> 保密声明:
> 本邮件含有保密或专有信息,仅供指定收件人使用。严禁对本邮件
> 或其内容做任何未经授权的查阅、使用、复制或转发。
> CONFIDENTIAL NOTE:
> This email contains confidential or legally privileged information and is for 
> the
> sole use of its intended recipient. Any unauthorized review, use, copying or
> forwarding of this email or the content of this email is strictly prohibited.
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to