Перейти к содержимому

Форма Bash с двумя столбцами

-1

Этот скрипт создает форму в окне терминала с одним столбцом и четырьмя строками. Как я могу создать форму с двумя столбцами и двумя строками?

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>&- 

Этот скрипт производит:

a form with one column and four rows

Я бы предпочел такое расположение полей ввода:

a form with two columns and two rows

Я попытался добавить второй --formвариант, но это не сработало. Я также попытался добавить второе поле ввода в той же строке, но начиная с первого, например:

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

Он создает два заголовка в одной строке, но только одно поле ввода - в следующей строке.

1 090 просмотров
John22 спросил 9 лет назад
J 8

1 ответ

0
Принятый ответ

Если вы прочитаете справочную страницу для 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 \ 

(обратите внимание, что я увеличил координату поля X и координату метки X для «Group:» и «HOME:»). Это производит

диалоговая форма с двумя столбцами и двумя строками

что по сути то, что вы просили.

Scott ответил 9 лет назад
S 15 457