有什么方法可以让用户从中选择一个分区对话菜单 ( --menu
) 选择功能?如果有,您如何操作?
当然,这是行不通的:
dialog --menu "Select a partition" 0 0 0 $(fdisk -l)
答案1
你dialog
应该没事,所以问题是“如何打印分区?“
fdisk
我会使用而不是lsblk
,它具有更清晰的输出并且可以由非特权用户运行。
但lsblk
打印的内容仍然太多,我们可以限制它--output
以仅包含我们感兴趣的信息。添加-n
以省略打印标题。
lsblk -n --output TYPE,KNAME
然后使用awk
仅过滤设备TYPE
并part
打印计数器:
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}')