Is there any way to allow the user to select a partition from dialog’s menu (--menu
) selection feature? If so, how do you do it?
Of course, this does not work:
dialog --menu "Select a partition" 0 0 0 $(fdisk -l)
Ваш диалог
должен быть в порядке, поэтому возникает вопрос: « Как распечатать разделы? »
Вместо fdisk
, я бы использовал lsblk
, который имеет более чистый вывод и может быть запущен непривилегированным пользователем.
Но lsblk
все еще печатает слишком много, мы можем ограничить его, используя - вывод
, чтобы включить только информацию, которую мы ' заинтересован. Добавьте -n
, чтобы пропустить заголовок печати.
lsblk -n --output TYPE,KNAME
Затем используйте awk
, чтобы отфильтровать только те устройства, у которых TYPE
является деталь
, и распечатать счетчик. вместо этого:
lsblk -n --output TYPE,KNAME | awk '$1=="part"{print i++,$2}'
В общем, что-то вроде этого должно работать:
dialog --menu "Select partition :" 20 40 4 \
$(lsblk -n --output TYPE,KNAME | awk '$1=="part"{print i++,$2}')