如何在对话菜单中列出分区?

如何在对话菜单中列出分区?

有什么方法可以让用户从中选择一个分区对话菜单 ( --menu) 选择功能?如果有,您如何操作?

当然,这是行不通的:

dialog --menu "Select a partition" 0 0 0 $(fdisk -l)

答案1

dialog应该没事,所以问题是“如何打印分区?

fdisk我会使用而不是lsblk,它具有更清晰的输出并且可以由非特权用户运行。

lsblk打印的内容仍然太多,我们可以限制它--output以仅包含我们感兴趣的信息。添加-n以省略打印标题。

lsblk -n --output TYPE,KNAME

然后使用awk仅过滤设备TYPEpart打印计数器:

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}')

在此处输入图片描述

相关内容