Идея состоит в том, чтобы мое приложение знало для не окраски вывода, если программа не может распечатать, скажем, вывод входа от через задание крона в файл, никакая потребность зарегистрироваться окрашенный выводом, но при выполнении вручную, мне нравится просматривать окрашенный вывод
В каком языке Вы пишете свое приложение?
Нормальный подход должен проверить, является ли устройство вывода tty, и если это, проверьте, окрашивает ли тот тип терминальных поддержек.
В
bash
, это было бы похоже# check if stdout is a terminal... if test -t 1; then # see if it supports colors... ncolors=$(tput colors) if test -n "$ncolors" && test $ncolors -ge 8; then bold="$(tput bold)" underline="$(tput smul)" standout="$(tput smso)" normal="$(tput sgr0)" black="$(tput setaf 0)" red="$(tput setaf 1)" green="$(tput setaf 2)" yellow="$(tput setaf 3)" blue="$(tput setaf 4)" magenta="$(tput setaf 5)" cyan="$(tput setaf 6)" white="$(tput setaf 7)" fi fi echo "${red}error${normal}" echo "${green}success${normal}" echo "${green}0.052${normal} ${bold}${green}2,816.00 kb${normal}" # etc.
В C Вы должны сделать намного больше ввода, но можете достигнуть того же результата с помощью isatty и функций, перечисленных в
man 3 terminfo
.
Исторически, жесткие диски только смоглись для содержания самое большее четырех разделов из-за первоначально определенного формата таблицы разделов. Это не характерно для операционных систем. Вы просто не можете создать больше чем четыре основных раздела в соответствии с исходной схемой выделения разделов ПК (разделы MBR).
Чтобы обойти этот предел и все еще остаться совместимыми с более старыми системами, можно создать расширенный раздел как бы то ни было. Расширенный раздел может содержать несколько логических разделов в нем. Это позволяет Вам создавать больше чем четыре раздела всего, не имея необходимость изменять формат таблицы разделов.
Если Вы интересуетесь деталями, можно посмотреть на статьи в Википедии о разбиении дисков на разделы или главную загрузочную запись.
Это ограничение и понятие расширенных и логических разделов не относятся к другим схемам выделения разделов, таким как GPT, используемая UEFI на недавнем ПК.