带有两列的 Bash 表单

带有两列的 Bash 表单

此脚本在终端窗口中创建一个具有一列和四行的表单。如何创建具有两列和两行的表单?

shell=""
groups=""
user=""
home=""
exec 3>&1
VALUES=$(dialog --ok-label "Submit" \
          --title "Useradd" \
          --form "User form" \
15 50 0 \
        "Username:" 1 1 "$user"         1 10 10 0 \
        "Shell:"    2 1 "$shell"        2 10 10 0 \
        "Group:"    3 1 "$groups"       3 10 10 0 \
        "HOME:"     4 1 "$home"         4 10 10 0 \
2>&1 1>&3)

exec 3>&-

该脚本生成:

一列四行的表格

我更喜欢输入字段的这种排列:

有两列两行的表格

我尝试添加第二个--form选项,但没有成功。我还尝试在同一行添加第二个输入字段,但从第一个输入字段开始,如下所示:

    "Second field:" 1 41 "$second"      1 10 10 0 \

它在同一行创建两个标题,但仅在下一行创建了一个输入字段。

答案1

如果你阅读了手册页dialog,你会发现必须为字段指定 Y 和 X 坐标 并且还独立地用于字段标签。  在您失败的尝试中,您将标签移到了(潜在的)第二列,但您将字段留在了第一列。我将字段定义块更改为

            "Username:" 1  1 "$user"         1 10 10 0 \
            "Shell:"    2  1 "$shell"        2 10 10 0 \
            "Group:"    1 25 "$groups"       1 34 10 0 \
            "HOME:"     2 25 "$home"         2 34 10 0 \

(请注意,我增加了“Group:”和“HOME:”的字段 X 坐标和标签 X 坐标)。这将产生

    具有两列和两行的对话框

这基本上就是您所要求的。

相关内容