«Хотите продолжить [Да / Нет]?» Почему прописные буквы?

50

Я новичок в Ubuntu и некоторые мелочи начинают меня беспокоить. Например, когда вы пытаетесь установить программу, Ubuntu спрашивает:

Вы хотите продолжить [Да / Нет]?

Что меня беспокоит, так это то, почему буква «Y» прописная, а «n» строчная. Есть ли у них какая-либо существенная причина, почему один выше, а второй ниже? В любом случае я не изменяю результат: он либо продолжается, либо нет. Они пытаются уведомить нас, что мы можем войти в оба варианта, и это ничего не изменит?

обличен
источник

Ответы:

66

Обычно опция в верхнем регистре ( Yв вашем случае) является опцией по умолчанию, если вы ее не предоставили и просто нажали ↲ Enter. Это соглашение, которое я очень часто вижу в командной строке.

Я хотел бы предоставить надежный источник, но я не могу найти один. Однако это часто встречается в системах Debian / Ubuntu, в различных программах.

Ближайший «источник», который я смог найти, - это вопросы и ответы по переполнению стека: стандартный формат для вопросов «да / нет» в терминале?

gertvdijk
источник
Есть ли какой-нибудь возможный способ изменить параметр по умолчанию на «N», чтобы сделать его более безопасным?
упрекнул
@ rebuked Боюсь, что это выбор, сделанный разработчиком, и если он не предоставит способ настроить это, вы не сможете изменить это.
gertvdijk
1

Многие терминальные программы Unix / Linux не поддерживают даже полужирный или цветной текст, и поэтому такие соглашения используются для различения значения по умолчанию, если вы просто нажали клавишу ВВОД без текста (потому что это быстрее).

Большинство (хорошо написанных) программ принимают ответы в верхнем или нижнем регистре (т. Е. «Y», «y», «N» или «n»).

Многие из этих программ являются сценариями оболочки, поэтому изменение значения по умолчанию для приглашения, подобного этому, обычно не сложно.

DocSalvager
источник
2
Через некоторые интерфейсы терминальные программы все еще не поддерживают цвет / полужирный шрифт. Иногда правильно не поддерживать их. Например, если пользователь перенаправляет вывод программы в текстовый файл, должен ли этот файл содержать управляющие символы, указывающие цветовые коды при запуске программы? (Ситуация еще сложнее, когда программа должна быть совместима с системами, которые не используют escape-коды Unix-стиля для форматирования цвета. Некоторые системы, такие как Windows, не имеют таких escape-кодов, поэтому цветовые данные будут потеряны при перенаправлении.) Таким образом, это применимо вне традиций и обратной совместимости.
Элия ​​Каган