Форма 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 \
(обратите внимание, что я увеличил координату поля X и координату метки X для "Group:" и "HOME:"). Это производит
что по сути то, что вы просили.