sincere thanks Gottfried a good explanation is always useful, also for others who will look in the history. Am 24.10.22 um 14:40 schrieb Tobias Geerinckx-Rice: > Hi Gottfried, > > I hope this strikes the right balance between explaining ‘environment > variables’ from scratch and answering your immediate question. > > Gottfried 写道: >> 1.  Will this now overwrite my variables for ever, or only for some time? > > Environment variables are not saved.  They can be *set* by configuration > files, such at /etc/profile, but these files are not updated when you > type ‘export GUIX=awesome’ on the command line. > > Setting LC_ALL like this affects your current shell, and it will be > inherited by child processes (hence why the ‘guix’ child will speak > English after setting LC_ALL=C in the parent shell), but they exist > purely in RAM for the lifetime of each process. > > The also do not propagate to ancestor or sibling processes: setting > LC_ALL in one terminal window has no effect on any other windows.  Nor > will setting LC_ALL in a shell affect new processes you launch > elsewhere, such as from your desktop menu.  Only child processes > launched in the same shell/window will inherit it. > > As soon as you close that terminal, type ‘exit’ in the (guix) shell, or > trip over your power cable, the setting is gone. > >> 2.  How can I set it back to my original state? > > Environment variables have no built-in notion of history, or defaults. > They are just variables, and setting them to something new overwrites > the old value (if any). > > So: > > ~$ echo $LC_ALL        # yours will be de_DE, I presume > en_IE.utf8 > ~$ LC_OLD=$LC_ALL    # save the old value > ~$ export LC_ALL=C    # in with the new > ~$ echo $LC_ALL        # do the thing > C > ~$ LC_ALL=$LC_OLD    # restore the old value > > But really, in practice, I'd just close the window/shell once done… > they are so cheap. > > Kind regards, > > T G-R