Me deparei com esta página wiki: Procedimento de solução de problemas do Gerenciador de Pacotes .
Nele, havia comandos como:
LANG=C;sudo apt-get clean
LANG=C;sudo apt-get autoclean
LANG=C;sudo apt-get -f install
LANG=C;sudo apt-get --fix-missing install
LANG=C;sudo apt-get --purge autoremove
LANG=C;sudo apt-get --fix-missing update -o APT::Cache-Limit=100000000
LANG=C;sudo apt-get update -o APT::Cache-Limit=100000000 && sudo apt-get dist-upgrade
Então, qual é o propósito LANG=C;
?
LANG=C command
e não LANG=C;command
. O primeiro formulário força o valor da LANG
variável de ambiente durante o período em que command
o segundo formulário é na verdade dois comandos em que a primeira parte apenas define uma variável local (não exportada) e a segunda parte executa o comando sem definir a variável de ambiente necessária.
LANG
está no ambiente, portanto provavelmente funciona com ponto e vírgula redundante; mas é (1) redundante porque nada vai mudar LANG
entre os comandos. Também sugerir que alguém execute comandos dessa maneira está (2) errado por causa de um ambiente de mudança desnecessário e não convidado, e (3) isso fornece um padrão incorreto para qualquer usuário desinformado que reaplicar posteriormente o uso - possivelmente com uma variável de shell que não esteja em o ambiente e, portanto, nem mesmo tendo qualquer efeito sobre os comandos executados que exijam a função correta, talvez segura.