LINUX.ORG.RU

Нужна помощь в доработке скрипта.

 ,


0

2
#!/bin/sh -e

TEMP=$( mktemp )
trap "rm -f '$TEMP'" EXIT

whiptail --notags --checklist 'Выбор пакетов' 25 60 15 \
    1     'update' off \
    2     'upgrade' off \
    3     'dist-upgrade' off \
    4     'Драйвера Nvidia' off \
    2> "$TEMP"

for action in $( cat "$TEMP" ); do
    case "$action" in
    '"1"')
        apt-get update -y
        ;;
    '"2"')
        apt-get upgrade -y
        ;;
    '"3"')
        apt-get dist-upgrade -y
        ;;
    '"4"')
        add-apt-repository ppa:graphics-drivers/ppa
        apt-get update -y
        ;;
   esac
done 

Как сделать возможность выбирать всё и как создать подразделы?

У whiptail ограниченные возможности, кнопку «Select All» вам не добавить. Можете добавить ещё один пункт чекбокса, но это будет выглядить странно.

Меню с подразделами как встроенной возможности нет, в шеле смотрите какой пункт меню был выбран и вызывайте другой whiptail с ещё одним меню/чекбоксом.

mky ★★★★★ ()
Ответ на: комментарий от mky

А есть ли что то другое, типа такого, но со всеми этими возможностями из коробки?

В текстовом установщике дебиан есть такая возможно, но как это замутить не знаю...

Novichok2014 ★★★ ()
Ответ на: комментарий от Novichok2014

Расковыряйте установщик дебиана и посмотрите, что там рисует диалоги.

При конфигурации ядра (make menuconfig) используется ″lxdialog″, он же используется в busybox'е. Но, отдельным пакетом, я его не видел, да и он не особо вам подходит. Это я скорее к тому, что раз разработчики ядра предпочли написать свой dialog, видимо, подходящего ничего нет.

mky ★★★★★ ()
Ответ на: комментарий от mky

Ясно.

В таком случае остановлюсь на том что есть.

Спасибо за отклик!!!

Novichok2014 ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.