
On 03/21/2013 04:20 AM, Daniel P. Berrange wrote:
On Thu, Mar 21, 2013 at 05:00:58PM +0800, Zhang Xiaohe wrote:
This patch makes '~' and '$HOME' can be recognized by virsh in interactive mode. These two variables are replaced with real path.
If we're going to the trouble of expanding $HOME, then we might as well just make it expand arbitrary environment variables rather than hardcoding $HOME.
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. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org