On Tue, Feb 14, 2017 at 09:12:02AM +0100, Pino Toscano wrote:
Query awk for the list of environment variables, instead of trying
to
extract the list from the output of `env`: the old approach breaks when
any of the environment variable contains more than one line.
---
dib/dib.ml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dib/dib.ml b/dib/dib.ml
index 71b1f7f..54ea2ae 100644
--- a/dib/dib.ml
+++ b/dib/dib.ml
@@ -289,7 +289,7 @@ if [ -n \"$user\" ]; then
fi
if [ -z \"$preserve_env\" ]; then
- for envvar in `env | grep '^\\w' | cut -d= -f1`; do
+ for envvar in `awk 'BEGIN{for (i in ENVIRON) {print i}}'`; do
FWIW you can do some really weird sh*t with environment variables,
such as creating ones whose name contains newlines. That would break
the above code:
$ env $'A\nB=C' awk 'BEGIN{for (i in ENVIRON) {print i}}'
But probably not important enough to worry about, so ACK :-)
Rich.
case \"$envvar\" in
PATH | USER | USERNAME | HOSTNAME | TERM | LANG | HOME | SHELL | LOGNAME ) ;;
BASH_FUNC_* ) unset -f $envvar ;;
--
2.9.3
_______________________________________________
Libguestfs mailing list
Libguestfs(a)redhat.com
https://www.redhat.com/mailman/listinfo/libguestfs
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v