bash - bash临时更改git的语言

137 5

我在 python 中编写了相当长的脚本,其中几个地方调用了 python 子进程,并匹配了git返回的东西,例如:


nothing to commit, working tree clean


fast-forwardable


up to date



一位同事开始使用该脚本,它并没有像预期的那样表现,因为他们的git使用的是本地德语语言环境,其中包含以下消息,


nichts zu committen, Arbeitsverzeichnis unverändert



我当时并没有想到。 我可以在看到 这里和 这里有永久改变语言的一些思路 。

当然,我不想改变我的脚本运行的pc上的设置,是否有可能告诉git只在一个命令中返回en_US

实际上,当我编写脚本时,我将系统设置为 en_GB,并想知道我的git是否使用 en_GB 或 en_US,以及是否有什么差别。 请问git能告诉你它正在使用什么语言吗? 这是次要问题,但是,如果有可能告诉git暂时使用en_US就足够了。

时间:

52 3

实际上,你可以使用任何变量设置在 shell 中前缀任何命令,这只适用于该命令,不管是 git 还是其他任何命令。 只需键入它,然后用空白将它与命令分开,


$ LANG=fr_FR sh -c 'echo $LANG'


fr_FR


$ echo $LANG


en_us.UTF-8



但是,你可能希望使用 C,以确保使用你运行的命令的默认语言:

 
$ LANG=C git



 

然而,常用的英语应该几乎总是存在,因为它通常是软件编写的字符串。 然而,普通英语应该几乎总是在那里,因为通常是编写软件串的那个 。

原作者:
132 3

尝试一行:


LANG=en_US git.. .your command...



或者这里bash会话:

 
export LANG=en_US



 
97 1

用所需的语言引用前缀 git 命令,以便仅对该命令应用更改。

: )

默认值( en_US.UTF-8 )


$ git status


fatal: Not a git repository (or any of the parent directories):. git



在德语中


$ LANG=de_DE.UTF8 git status


fatal: Kein Git-Repository (oder irgendein Elternverzeichnis):. git



LANG 格式:


<LANGUAGE>_<TERRITORY>.<CODESET>[@<MODIFIERS>]



原作者:
121 2

在脚本开头的某个位置设置 LANG:


#!/bin/sh



LANG=en_US


export LANG



设置适用于当前 shell ( 也就是说脚步) 和从它派生的子流程,包括 git 。

原作者:
...