dialog --buildlist 选项,如何使用?

Mr.*_*tic 2 scripting dialog

我一直在阅读对话框的许多用途来创建交互式 shell 脚本,但我对如何使用 --buildlist 选项感到困惑。阅读手册页,搜索谷歌,搜索stackoverflow,甚至阅读1994年Linux Journal的一些旧文章,都无济于事。

有人可以给我一个如何正确使用它的明确例子吗?

让我们想象一个包含 5 个文件的目录,您希望从中选择并复制到另一个目录。有人可以举一个有效的例子吗?

谢谢!

che*_*ner 6

考虑以下:

dialog --buildlist "Select a directory" 20 50 5 \
  f1 "Directory One" off \
  f2 "Directory Two" on \
  f3 "Directory Three" on
Run Code Online (Sandbox Code Playgroud)

这将显示类似

     ??????????????????????????????????????????????????
     ? Select a directory                             ?
     ? ??????????????????????? ?????^(-)???????????????
     ? ?Directory One        ? ?Directory Two        ??
     ? ?                     ? ?Directory Three      ??
     ? ?                     ? ?                     ??
     ? ?                     ? ?                     ??
     ? ?                     ? ?                     ??
     ? ??????????????????????? ??????????????100%??????
     ?                                                ?
     ?                                                ?
     ?                                                ?
     ?                                                ?
     ?                                                ?
     ?                                                ?
     ?                                                ?
     ?                                                ?
     ??????????????????????????????????????????????????
     ?           <OK>          <Cancel>               ?
     ??????????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)

框宽 50 个字符,高 20 行;每列显示 5 个项目。off/ 分别on确定项目是从左列还是右列开始。

控件:

  • ^ 选择左列
  • $ 选择右列
  • 使用箭头键上下移动选定的列
  • 使用空格键将所选项目移动到另一列
  • 使用 Tab 键在 OK 和 Cancel 之间切换。如果您使用该--visit-items选项,则 Tab 键可让您在列表和按钮之间循环。
  • 按 Enter 键选择确定或取消。

如果选择“确定”,则与右列中的每个项目关联的标签(f1f2等)将打印为标准错误。