Какие значения от debconf-get-selections не должны быть предварительно отобраны?

Быстрая escape-последовательность %~ (включенный в $current_dir) расширяется до текущего каталога, принимая сокращения во внимание. Сокращения:

  • ~ для Вашего корневого каталога;
  • ~joe для корневого каталога пользователя joe;
  • ~foo для именованного каталога: каталог, искаженный к foo с hash -d foo=…;
  • ~[bar] для динамического именованного каталога.

Можно использовать %/ вместо %~. Это никогда не использует сокращения каталога.

Если Вы хотите быть более необычными, можно выполнить собственный код, чтобы определить, как текущий каталог отображен. Один подход должен использовать замену параметра в строке приглашения. Это требует prompt_subst опция, которая будет установлена, который делает oh-my-zsh (иначе: setopt prompt_subst). Текущий каталог всегда доступен в параметре PWD. Вот простая версия, которая только сокращает Ваш корневой каталог к ~:

local current_dir='%{$terminfo[bold]$fg[cyan]%} ${${PWD/#%$HOME/~}/#$HOME\//~/}%{$reset_color%}'

${${PWD/#%$HOME/\~}/#$HOME\//\~/} средства: если $PWD точно то же как $HOME, затем установите результат на ~, иначе установите результат на $PWD; затем, если текущий результат начинается $HOME/, затем замените этот префикс ~/, иначе оставьте результат без изменений.

Более четкий подход должен поддержать параметр, содержащий симпатичную печатную версию текущего каталога. Обновите этот параметр в chpwd сцепите функцию, которая выполняется на каждом изменении текущего каталога. Также инициализируйте тот параметр в Вашем .zshrc.

Существует только один chpwd функция, не переопределяйте oh-my-zsh's. Oh-my-zsh chpwd вызывает функцию в массиве chpwd_functions, поэтому добавьте Ваш к массиву.

function my_update_pretty_PWD {
  case $PWD in
    $HOME(/*)#) pretty_PWD=\~${PWD#$HOME};;
    *) pretty_PWD=$PWD;;
  esac
}
chpwd_functions+=(my_update_pretty_PWD)
my_update_pretty_PWD
local current_dir='%{$terminfo[bold]$fg[cyan]%} ${pretty_PWD}%{$reset_color%}'

Если Вы хотите сократить корневые каталоги пользователей, но не названные каталогами, можно очистить корневые каталоги в подоболочке и использовать % расширение параметра отмечает для выполнения автоматических сокращений в подоболочке.

function my_update_pretty_PWD {
  pretty_PWD=$(hash -rd; print -lr -- ${(%)PWD})
}

Или если Вы предпочитаете встроенный подход:

local current_dir='%{$terminfo[bold]$fg[cyan]%} $(hash -rd; print -lr -- ${(%)PWD})%{$reset_color%}'

8
15.02.2017, 21:29
1 ответ

Краткий ответ

С wiki-страницы Debian, посвящённой D-I preseed :

Не работайте с сгенерированным debconf-get-selections (--installer) preseed.cfg, но получите значения из него и измените с их помощью файл примера preseed.cfg.

Файл примера preseed example, предоставляемый Debian, должен быть готов к запуску, но на одной и той же wiki-странице вы можете найти много других файлов ответов, предоставляемых разными людьми для разных целей.

Менее короткий ответ

В списке вопросов debconf, которые вы разместили, каждый вопрос с комментарием "для внутреннего пользования" без слов "can be preseed" не должен быть предварительно задан.

Но на многие другие вопросы debconf нельзя заранее ответить файлом ответов, например, вопросы, связанные с оборудованием (если вы хотите запустить установку на другом оборудовании), вопросы, записывающие некоторый сбой или успех автоматической настройки (на которые в некоторых особых случаях можно выполнить автоматическую настройку, но на которые можно без проблем ответить с помощью автоматического процесса).

Вывод debconf-get-selections содержит много вопросов с автоматическими ответами, которые большинство людей никогда не видят и о которых (должны) не беспокоиться. Этот автоматический выбор меняется с течением времени, с новым оборудованием, программным обеспечением, лучшим обнаружением или новыми возможностями. Важно прикоснуться как можно меньше к автоматической настройке, чтобы воспользоваться всеми улучшениями debian-installer и свести к минимуму изменения, необходимые в вашем файле ответов с течением времени и для различного аппаратного обеспечения.

4
27.01.2020, 20:13

Теги

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