Необходимо расшифровать эту единственную строку {$ HOSTNAME ^^} == {$ arrName ^^}

Согласно systemd (1) справочная страница для каталогов системных модулей:

Системный менеджер systemd читает модуль конфигурация из различных каталогов . Пакеты, которые хотят установить файлы модулей, должны поместить их в каталог, возвращаемый:

pkg-config systemd –-variable=systemdsystemunitdir

Другие проверенные каталоги:

/usr/local/lib/systemd/system
/usr/lib/systemd/system

Конфигурация пользователя всегда имеет приоритет.

pkg-config systemd –-variable=systemdsystemconfdir

возвращает путь к каталогу конфигурации системы. Пакеты должны изменять содержимое этих каталогов только с помощью команд enable и инструмента systemctl (1). Полный список каталогов предоставлен в systemd.unit (5).

Затем для каталогов пользовательских модулей:

Аналогичные правила применяются для каталогов пользовательских модулей. Однако здесь для поиска модулей используется спецификация XDG Base Directory [6]. Приложения должны помещать свои файлы модулей в каталог, возвращаемый командой:

pkg-config systemd –-variable=systemduserunitdir

Глобальная конфигурация сделано в каталоге, о котором сообщил:

pkg-config systemd –-variable=systemduserconfdir

Команды включения и отключения инструмента systemctl (1) могут обрабатывать как глобальные (т.е. для всех пользователей), так и частные (для одного пользователя) включение / отключение юнитов. Полный список каталогов представлен в systemd.unit (5).

Обратите внимание, что это правила systemd , указывающие упаковщикам правильные места для размещения различных файлов, и упаковщик должен должным образом следовать этим правилам.

1
20.04.2017, 18:47
2 ответа

${переменная^^} - это расширение параметров Bash 4.x, которое дает значение переменной, преобразованное в верхний регистр.

Знак доллара должен стоять перед открывающей скобкой, а не после.

Конвейер echo | cut (некорректно заключенный в кавычки) можно аналогично записать с расширением параметров ${line%%.*}; или можно использовать while IFS='.' read line _; do... для разделения ввода на первой полной остановке непосредственно при чтении.

2
27.01.2020, 23:19

Подстановка $ {параметр ^^ шаблон} в Bash изменит регистр символов в $ параметр , который соответствует шаблону подстановки шаблону , на верхний -кейс.

Без шаблона изменяет регистр всех символов в $ parameter .

Как отметил в своем ответе tripleee, {$ ...} является синтаксической ошибкой, или, скорее, {$ HOSTNAME ^^} будет расширяться до строки ] {hostname ^^} , если ваше значение $ HOSTNAME равно hostname .

2
27.01.2020, 23:19

Теги

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