Один стандартный синтаксический анализатор конфигурации, который приходит на ум, — это шелл-код, используемый для установки переменных среды.
Если ваше программное обеспечение запускается с помощью:
#! /bin/sh -
set -o allexport
for conf in /etc/default/mysoft ~/.config/mysoft.conf; do
[ -f "$conf" ] && [ -r "$conf" ] &&. "$conf"
done
unset -v conf
exec mysoft "$@"
Затем ваши пользователи могут создавать некоторые ~/.config/mysoft.conf
с таким содержанием, как:
MYSOFT_TUNABLE=foo
# even using shell code to set the values:
MYSOFT_MAX_COLUMNS=$((${COLUMNS:-$(tput cols)} / 2))
и mysoft
могут запрашивать эти значения с помощью getenv("MYSOFT_TUNABLE")
или соответствующего API на языке, на котором они написаны.
Это ограничено плоскими key=value
, где value
ограничено строками, состоящими не из -символов NUL. Если вам нужны более сложные структуры данных, вы можете взглянуть на JSON или XML, для которых в большинстве языков есть одна или несколько библиотек синтаксического анализа.
Для программного обеспечения, написанного на интерпретируемых языках (, таких как php
, perl
, python
... ), общий простой и очень гибкий подход состоит в том, чтобы просто писать файлы конфигурации в качестве исходных файлов на этих языках..
Например, для perl
создайте ~/.config/mysoft/conf.pl
как:
%conf = (
string_param => "string",
list_param => [1, 2],
complex_param => { foo => "bar", bar => "baz" }
);
Их также несложно сгенерировать программно.
Для sh
вы можете просто использоватьexport -p
:
setenv("MYSOFT_TUNABLE", "bar");
system("export -p MYSOFT_TUNABLE MYSOFT_MAX_COLUMS > ~/.conf/mysoft.conf");
Или сperl
:
use Data::Dumper;
print Data::Dumper->Dump([\%conf], ["*conf"]);
Установите пакет «шрифты»-
yum groupinstall "fonts"
Проверьте, установлена ли группа «Поддержка китайского языка», используя-
yum groupinfo "Chinese Support"
На центос 8:
Для установки региональных настроек используйте:
sudo localectl set-locale LANG=zh_CN.utf8
Дополнительный шаг для установки китайской локали:
изменить свой профиль bash:
nano ~/.bash_profile
добавьте следующую строку:
source /etc/locale.conf
Затем перезагрузите компьютер.