On +2022-06-27 12:17:08 +0200, Ludovic Courtès wrote: > Hi Chris, > > Chris Marusich <cmmarus...@gmail.com> skribis: > > > It turns out that it is probably not OK to rely on shell redirection in > > this case, after all. For example, "dash does not support multi-digit > > file descriptors": > > > > https://bugs.launchpad.net/ubuntu/+source/dash/+bug/249620 > > Bah. :-/ > > [...] > > > To resolve this, I changed the code so that it just writes to a > > temporary file. This is simple and more robust. With the attached > > patch, I was able to use a command like the one above to verify that > > "guix environment --check" works correctly for Guix-built bash, dash, > > ksh, fish, zsh, and ash. I also verified that it works for Fedora's > > /bin/sh and /bin/bash. > > > > What do you think of this file-based approach? Supporting many > > different shells is pretty tricky, but I think this patch does a good > > enough job. > > Like Maxime, I’d rather not create a temporary file. > > I agree that Dash should be fixed, but in the meantime, we still want > our stuff to work with the broken Dash (it’s the default on > Debian/Ubuntu, isn’t it?). > > I don’t have a better idea to offer though… > > Ludo’. > > > If this is all about capturing an environment as text, how about
--8<---------------cut here---------------start------------->8--- xargs -0 < /proc/$$/environ --8<---------------cut here---------------end--------------->8--- (not limited to $$ I would think) -- Regards, Bengt Richter