Когда вы устанавливаете новые программы в терминале, вы могли часто видеть появляющиеся информативные диалоговые блоки для обратной связи с вами. Типы диалоговых блоков различны: от диалогов да/нет до полей ввода, блоков паролей, чеклистов, меню и так далее. Преимущества использования таких дружественных к пользователю блоков очевидны, ведь они интуитивно направляют вас для ввода необходимой информации.
Когда вы пишите интерактивный шелл скрипт, вы на самом деле можете использовать такие диалоговые блоки для принятия ввода пользователя. Будучи предварительно установленной на всех современных дистрибутивах Linux, программа под названием whiptail может у процесс создания шелл скриптом диалоговых и информационных блоков в терминале наподобие тех, что графических интерфейсов, что кодируют Zenity или Xdialog для скриптов.
В этом уроке я опишу как с использованием whiptail создать дружественный пользователю диалоговые блоки в шел скрипте. Я также покажу Баш фрагменты кода различных диалоговых блоков, поддерживаемых в whiptail.
Объяснение:
1) 909 единиц (всего 4037 разрядов, полный вид двоичного числа- смотри скрин внизу)
2) 42 цифры "2" (всего 67 разрядов, полный вид троичного числа= 1000000000000000000000022222222222222222222222222222222222222222120, смотри скрин внизу)
Примечание: вообще, это решается приведением всех степеней к одному основанию (2 или 3 -смотри основание системы счисления, в которой нужно по заданию записать число), затем представить, как будет выглядеть каждое из этих чисел в данной системе счисления, затем сложение, далее вычитание чисел (оба раза- от большего (по модулю) числа к меньшему) -тут не нужно полностью писать число, достаточно понять, сколько появится единиц/двоек между таким то и таким то разрядом, если вычесть одно из другого (тут нужно понимать, как происходит сложение/вычитание в той или иной системе счисления). Последнее слагаемое можно тоже разложить на сумму/разность нескольких степеней (например, 120 = 128 - 8 = 2^7 - 2^3 или 12 = 9 + 3 = 3^2 + 3^1 ) -и тоже представить/записать его в нужной системе счисления, после чего вычесть из предыдущего результата.
