Как правильно сохранить символ новой строки в переменной оболочки (POSIX )?

Поскольку настройки GNOME обычно сохраняются через GSettings API, а некоторые из этих файлов являются двоичными файлами/базами данных, лучше всего полагаться на инструмент dconf:

.

Для экспорта настроек:

dconf dump / > dconf-settings.ini

Для импорта настроек:

dconf load / < dconf-settings.ini

В большинстве случаев вы можете сохранить содержимое $XDG_CONFIG_HOME/dconf(, оно представляет ~/.config/dconf), но это не подходит для git, так как эти файлы не являются открытым текстом.

Этот экспорт настроек Gnome также будет содержать все настройки, связанные с Mate Desktop и Cinnamon Desktop , поскольку они являются объектами внутри корневой схемы(/). Чтобы экспортировать только настройки этих рабочих столов:

Корица:

 dconf dump /org/cinnamon/ > dconf-cinnamon.ini

Напарник:

dconf dump /org/mate > dconf-mate.ini

Резервное копирование пользовательских тем.

Для резервного копирования пользовательских тем/значков достаточно сжатия папок ~/.iconsи ~/.themes. Возможно, вам следует сохранить исходные файлы тем, которые у вас уже есть, в домашнем каталоге...

1
08.09.2018, 18:13
1 ответ

Использование жесткой новой строки в строке в кавычках допустимо.

Хотя лично я бы избегал этого, если вам нужна только новая строка :Я считаю, что это выглядит странно, и есть небольшой риск случайного попадания лишних пробелов в конце первой строки (, так что вы получите например<space><newline>). Но это только я.

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

Оба они должны дать вам новую строку:

nl1='
'

nl2="$(printf '\nx')"
nl2="${nl2%x}"
2
27.01.2020, 23:42

Теги

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