public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Tiger Liu <TigerLiu@zhaoxin.com>
To: "Carsey, Jaben" <jaben.carsey@intel.com>,
	"Jim.Dailey@dell.com" <Jim.Dailey@dell.com>
Cc: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: Shell input redirection question
Date: Fri, 22 Sep 2017 01:21:54 +0000	[thread overview]
Message-ID: <1E4DA6F54C53C24B98E8E8D172B945AF02B713F5@ZXBJMBX01.zhaoxin.com> (raw)

Hi, All:
Thanks for your suggestions.
Appreciate it.

Thanks

best wishes,
-----邮件原件-----
发件人: Carsey, Jaben [mailto:jaben.carsey@intel.com]
发送时间: 2017年9月21日 22:13
收件人: Jim.Dailey@dell.com
抄送: edk2-devel@lists.01.org; Tiger Liu
主题: RE: [edk2] Shell input redirection question

The SHELL_PARAMETERS_PROTOCOL used by the pci command lists both the command line and the StdIn for the command.  I think that you could check the StdIn for the file specified and then change the behavior.

If we really require a parameter to enable some sort of file input mode, the spec says that implementers can freely add -_<blah> parameters.  In the past these have even been moved to standard parameters in future versions of the spec (-_exit is an example that springs to mind for me).

I also agree that your sample NSH file is definitely the quickest way to get a solution in this case.

-Jaben

> -----Original Message-----
> From: Jim.Dailey@dell.com [mailto:Jim.Dailey@dell.com]
> Sent: Thursday, September 21, 2017 6:32 AM
> To: Carsey, Jaben <jaben.carsey@intel.com>
> Cc: edk2-devel@lists.01.org; TigerLiu@zhaoxin.com
> Subject: RE: [edk2] Shell input redirection question
> Importance: High
>
> 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.carsey@intel.com]
> Sent: Thursday, September 21, 2017 8:11 AM
> To: Dailey, Jim <Jim_Dailey@Dell.com>; TigerLiu@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-bounces@lists.01.org] On Behalf
> > Of Jim.Dailey@dell.com
> > Sent: Thursday, September 21, 2017 4:52 AM
> > To: TigerLiu@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-bounces@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


保密声明:
本邮件含有保密或专有信息,仅供指定收件人使用。严禁对本邮件或其内容做任何未经授权的查阅、使用、复制或转发。
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.

             reply	other threads:[~2017-09-22  1:19 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-22  1:21 Tiger Liu [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-09-21  6:11 Shell input redirection question Tiger Liu
2017-09-21 11:51 ` Jim.Dailey
2017-09-21 13:11   ` Carsey, Jaben
2017-09-21 13:32     ` Jim.Dailey
2017-09-21 14:13       ` Carsey, Jaben

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1E4DA6F54C53C24B98E8E8D172B945AF02B713F5@ZXBJMBX01.zhaoxin.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox