Можно включить пароль меньше sudo для определенной команды.
# /etc/sudoers (edit with visudo)
# For a specific user/command combo
izuriel ALL=NOPASSWD:/bin/true
# For a specific command, any user in group sudo.
%sudo ALL=NOPASSWD:/bin/true
Переменная локали для управления языком программы LC_MESSAGES
. Переменная LANG
нейтрализация, когда более конкретный LC_xxx
настройки не присутствуют. Таким образом, если Вы уже имеете LC_MESSAGES=en_US
набор (например), изменяясь LANG
не будет иметь желаемого эффекта. В любом случае, если Вы хотите голландские сообщения, но не в других отношениях голландские настройки, LC_MESSAGES
то, что необходимо установить.
sudo LC_CTYPE=nl_NL.UTF-8 pacman -Syy
Отметьте это LC_ALL
козыри все; Вы никогда не должны устанавливать его за исключением LC_ALL=C
в программах, где Вы хотите проигнорировать окружающие настройки локали. Кроме того, LANGUAGE
GNU libc функция, которая может переопределить даже LC_ALL
, поэтому удостоверьтесь, что сбросили его.
Я думаю sudo
не экспортирует Ваши переменные, проверяют это:
# sudo FOO=bar echo ${FOO}
#
Возможно, должен создать сценарий с LANG=nl_NL.UTF-8 pacman $*
и назовите этот сценарий с sudo
.
sudo [-AbEHnPS] [-C fd] [-g group name|#gid] [-p prompt] [-r role] [-t type] [-u user name|#uid] [VAR=value] [-i | -s] [command]
– Joshua Strot
24.12.2013, 09:32
LC_ALL
но ни один из них не работает. Я, прежде чем изображено, я выполнял команду неправильно, но после большого обсуждения этой темы в ТАК я прибыл решение, там мог бы быть чем-то не так с частью локализации моей системы.
– Joshua Strot
24.12.2013, 10:05
sudo FOO=bar somecommand
действительно устанавливает FOO
при выполнении somecommand
. Но в Вашем фрагменте кода, команда, которой Вы передаете sudo
echo
без аргумента, потому что ${FOO}
расширен оболочкой, которую Вы выполняете sudo
от. Попробовать sudo FOO=bar sh -c 'echo $FOO'
(обратите внимание на заключение в кавычки), или sudo FOO=bar env
.
– Gilles 'SO- stop being evil'
25.12.2013, 02:00