On Thu 15 Feb 2024 at 21:17:44 (+0100), Franco Martelli wrote: > On 15/02/24 at 03:28, Max Nikulin wrote: > > > # env LC_ALL=C script -t 2>~/upgrade-bookwormstep.time -a > > > ~/upgrade-bookwormstep.script > > > > Perhaps LC_ALL=C.UTF-8 is safer. At least several years ago some > > python scripts (unrelated to Debian upgrade however) failed trying > > to log e.g. non-ascii file paths, etc. > > > > I would reset LANGUAGE as well otherwise some programs may use > > localized messages. > > > > Finally, some users might have LC_ALL (despite it is not > > recommended) or LANGUAGE set in a file like ~/.bashrc. That is why > > the following approach may be more reliable. Run commands within > > the "script" session > > > > LANG=C.UTF-8; LANGUAGE=; export LANG LANGUAGE > > > > with a note concerning csh. To affect messages generated by shell > > itself, "export" is separated from setting of the variables. > > Doesn't LC_ALL=C setting override LANG or LANGUAGE settings? On my > system I have: > > ~$ env | grep LANG > LANGUAGE= > LANG=it_IT.UTF-8
BTW, you can also print locale information with: $ locale LANG=C.UTF-8 LANGUAGE= LC_CTYPE=en_GB.UTF-8 LC_NUMERIC="C.UTF-8" LC_TIME="C.UTF-8" LC_COLLATE="C.UTF-8" LC_MONETARY="C.UTF-8" LC_MESSAGES="C.UTF-8" LC_PAPER="C.UTF-8" LC_NAME="C.UTF-8" LC_ADDRESS="C.UTF-8" LC_TELEPHONE="C.UTF-8" LC_MEASUREMENT="C.UTF-8" LC_IDENTIFICATION="C.UTF-8" LC_ALL= $ > and LC_ALL=C override the LANG setting when used inline of the > command. This approach is to cover all cases, my goal is to do > apt/apt-get commands output in English when they are executed into a > "script" session. Yes, LC_ALL=C will override all the locale variables, but LC_ALL=C.UTF-8 will not: $ LC_ALL=C.UTF-8 LANGUAGE=it LANG=it_IT.UTF-8 aptitude why firefox-esr i firefox-esr-l10n-en-gb Dipende firefox-esr (< 115.7.0esr-1~deb11u1.1~) $ LC_ALL=C LANGUAGE=it LANG=it_IT.UTF-8 aptitude why firefox-esr i firefox-esr-l10n-en-gb Depends firefox-esr (< 115.7.0esr-1~deb11u1.1~) $ Cheers, David.