Как иметь консольные сообщения на английском языке?

Дефис, кажется, Busybox-определенная функция (как "askfirst", который был, как я нашел, что Вы используете Busybox). Пример inittab файл говорит:

# /bin/sh invocations on selected ttys
#
# Note below that we prefix the shell commands with a "-" to indicate to the
# shell that it is supposed to be a login shell.  Normally this is handled by
# login, but since we are bypassing login in this case, BusyBox lets you do
# this yourself...
#
# Start an "askfirst" shell on the console (whatever that may be)
::askfirst:-/bin/sh

Так, это запускает оболочку как оболочку входа в систему (путем начала argv [0] с дефисом). Какое средство оболочки входа в систему выходит за рамки этого вопроса, но это обычно, по крайней мере, означает, что это выполнит различные файлы запуска (т.е. ~/.profile).

Конвенция использования дефиса в argv [0], а не надлежащего флага командной строки, для сообщения оболочки, это - оболочка входа в систему, является древней конвенцией - это относится ко времени, по крайней мере, Второго Выпуска UNIX. (argv [0] был просто "-" для оболочек входа в систему до Шестого Выпуска затем это было изменено на "-/bin/sh")

13
17.12.2013, 19:10
4 ответа

Необходимо заменить переменную ЛЕНГА в текущей оболочке.

Поместить

export LANG=en_US.UTF-8

в Вашем файле дистанционного управления оболочки (для удара это ~/.bashrc ) и перезапустите терминальный сеанс (или просто получите емкостно-резистивный файл еще раз с source ~/.bashrc или даже просто перезапуск колотит с exec bash )

Обратите внимание на то, что необходимо генерировать эту локаль прежде.

Также можно использовать export LANG=C.

Также существуют другие переменные ЛЕНГА (от удара человека):

   LANG   Used to determine the  locale  category  for  any  category  not
          specifically selected with a variable starting with LC_.
   LC_ALL This  variable  overrides  the  value  of LANG and any other LC_
          variable specifying a locale category.
   LC_COLLATE
          This variable determines the collation order used  when  sorting
          the  results  of pathname expansion, and determines the behavior
          of  range  expressions,  equivalence  classes,   and   collating
          sequences within pathname expansion and pattern matching.
   LC_CTYPE
          This  variable  determines  the interpretation of characters and
          the behavior of character classes within pathname expansion  and
          pattern matching.
   LC_MESSAGES
          This  variable  determines  the locale used to translate double-
          quoted strings preceded by a $.
   LC_NUMERIC
          This variable determines the locale  category  used  for  number
          formatting.
10
27.01.2020, 19:53

Можно назвать приложение со следующим синтаксисом:

Например, Вы хотите английские страницы справочника (для просто единственной команды):

user@host:~# LC_ALL=C man ls

Или Вы сталкиваетесь с ошибкой (моя система находится на немецком языке):

user@host:~$ ls -la /root/
ls: Öffnen von Verzeichnis /root/ nicht möglich: Keine Berechtigung

user@host:~$ LC_ALL=C ls -l /root/
ls: cannot open directory /root/: Permission denied
9
27.01.2020, 19:53
  • 1
    Полезный (но я принял другой ответ, потому что мой вопрос был о постоянном выполнении этого). отличное решение –  ppr 17.12.2013, 19:30
  • 2
    больше "C", чем "c", "c" не работает над моим Debian 8. –  Tristan 10.05.2017, 12:19

Попытайтесь сослаться на это: 1) https://wiki.debian.org/ChangeLanguage

Короче говоря, Вы хотите установить свою ЛОКАЛЬ (через ЛЕНГА), предпочтительно в Вашем .bashrc.

export LANG=en_US.UTF-8
-3
27.01.2020, 19:53
  • 1
    хорошо, но я не хочу изменять свой системный язык. Я просто хочу иметь некоторое сообщение об ошибке на английском языке. Изменение системного языка имеет много последствий. –  ppr 17.12.2013, 19:26
  • 2
    , я верю вставлению его Ваш .bashrc, будет только влиять на Вашу оболочку, а также любые команды, которые читают .bashrc. При исключении "экспорта" он не будет распространен к командам, которые Вы запускаете с той оболочки. –  C. Kelly 17.12.2013, 19:29
  • 3
    @ckelly, Который изменяет набор вещей помимо языка сообщения об ошибке. Например, порядки сортировки, форматирование чисел... –  derobert 17.12.2013, 19:30
  • 4
    @ppr хорошо, но я не хочу изменять свой системный язык — Почему затем Вы принимали ответ, который дает то же "решение"? –  Piotr Dobrogost 15.02.2017, 19:52

Если вам нужны только сообщения об ошибках, а не вся локаль, вы можете использовать:

export LC_MESSAGES=C

0
18.09.2020, 16:03

Теги

Похожие вопросы