Amo*_*o__ 2 debian language locale command-line debian-squeeze
我在服务器(Debian GNU/Linux 6.0.6(squeeze))上使用 \xe2\x80\x98exif\xe2\x80\x99 ,与我的开发计算机(Mac OS X 通过 MacPort)不同,它以法语运行:
\n\nexif -h\nUtilisation: exif [OPTION...] fichier\n -v, --version Display software version\n -i, --ids Montre les ID plut\xc3\xb4t que les noms des marqueurs\n -t, --tag=marqueur S\xc3\xa9lection du marqueur\n --ifd=IFD S\xc3\xa9lection de l'IFD\n -l, --list-tags Liste tous les marqueurs EXIF\n -|, --show-mnote Show contents of tag MakerNote\n --remove Supprime le marqueur ou l'ifd\n -s, --show-description Montre la description du marqueur\n -e, --extract-thumbnail Extrait la vignette\n -r, --remove-thumbnail Supprime la vignette\n -n, --insert-thumbnail=FICHIER Ins\xc3\xa8re le FICHIER comme vignette\n --no-fixup Do not fix existing tags in files\n -o, --output=FICHIER Write data to FILE\n --set-value=STRING Value of tag\n -c, --create-exif Create EXIF data if not existing\n -m, --machine-readable Output in a machine-readable (tab delimited) format\n -w, --width=WIDTH Width of output\n -x, --xml-output Output in a XML format\n -d, --debug Show debugging messages\nRun Code Online (Sandbox Code Playgroud)\n\n我检查了我的 /etc/default/locale ,结果是
\n\nLANG=fr_FR\nLANGUAGE=fr_FR:fr\nRun Code Online (Sandbox Code Playgroud)\n\n我改变了
\n\nLANG=en_EN\nLANGUAGE=en_EN:en\nRun Code Online (Sandbox Code Playgroud)\n\n没有任何后果。\n关于如何强制这台机器以英语执行此软件有任何提示吗?\n因为我需要英语的 exif 数据标签:)
\n\n谢谢 !
\n该/etc/default/locale文件设置呃...“全局”默认值。这意味着,任何“顶级”shell 在启动时都会读取这些默认值,然后由其运行的进程继承。
长话短说,这意味着此类默认值适用于:
/etc/init.d.因此,仅更改该文件就需要重新启动。
但是,由于该文件的内容只是一个 shell 脚本,它设置了一堆所谓的“环境变量”,因此要影响一个特定的程序,您只需让该程序看到这些变量的不同内容即可。
实现此目的的最简单方法是将它们的赋值放在要运行的程序之前,也就是说,在 shell 提示符下,您可以执行以下操作:
$ LANG=en exif -h
Run Code Online (Sandbox Code Playgroud)
并查看exif用英语与你交谈($此处的字符表示 shell 提示符 - 不要键入它)。
第二种方式是让当前shell中的所有程序都看到变量的新内容;这是通过“导出”它们来完成的,如 @clarkw 所示:导出的变量及其内容由从 shell 运行的所有进程的环境继承,因此以下内容也有效:
$ export LANG=en
$ exif -h
Run Code Online (Sandbox Code Playgroud)
或者
$ LANG=en
$ export LANG
$ exif -h
Run Code Online (Sandbox Code Playgroud)
这些环境变量在locale(1)手册页中进行了描述。
/etc/default/locale最后一个提示:不要手动更改内容- 使用 Debian 方式来管理它:运行
# dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)
它会首先询问您要编译和安装哪些语言环境(您可以跳过此步骤),然后选择哪个语言环境作为默认值。
更新:这是Debian wiki 上专门针对语言环境的页面,它几乎解释了所需的一切,包括环境变量。