于 2013年03月22日 10:17, Eric Blake 写道:
On 03/21/2013 07:33 PM, Zhang Xiaohe wrote:
于 2013年03月21日 21:08, Eric Blake 写道:
On 03/21/2013 04:20 AM, Daniel P. Berrange wrote:

In other words, if we're going to do this, go all the way and use
wordexp() to get shell-like expansion, instead of reinventing it
ourselves.  Except that wordexp() is not portable to mingw, and not
provided in gnulib.


Also, we'll need a way to escape the special meaning of '~'
and '$' to get them treated as literal characters instead of
special characters.

We already have the ability to quote characters, so that we can embed
spaces; our quoting rules are (intentionally) copied on shell rules, so
they would still work with a wordexp() approach.

This seems better than just expanding $HOME, i will try this wordexp().
One question, is variable can be accepted in the position of command
and option? That is, is this form
virsh # $VAR --$OPT=~/rpmbuild
could be valid?

wordexp() is not portable to mingw, and not provided by gnulib.  If you
try to use wordexp(), you will basically be re-writing a big chunk of
/bin/sh.  At this point, I'm not sure it's worth the complexity.
Interactive virsh does not need to be a full-blown shell.  From the
command line, you already have the shell parsing things before handing
it to virsh.

Originally, I think '~' and '$HOME' is most commonly used, so it should be acceptable to just expand these.
But now I'm confused. You said
if we're going to do this, go all the way
and
Interactive virsh does not need to be a full-blown shell.
I'm not sure but are you suggesting that "no need to add this expansion" ?

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to