Несколько вопросов в одном диалоге

Как настроить скрипт и шаблон postinst, чтобы иметь несколько вопросов в одном диалоге и получать их возвращаемые значения в разных $RET

Мой текущий код:

шаблон

Template: foo/like_debian
Type: boolean                            
Description: Do you like Debian?
 We'd like to know if you like the Debian GNU/Linux system

Template: foo/like_debian2
Type: boolean                            
Description: Do you really like Debian?
 We'd like to know if you really like the Debian GNU/Linux system

postinst

# Do you like debian?
db_input medium foo/like_debian || true
db_go
db_get foo/like_debian
echo $RET

# Do you really like debian?
db_input medium foo/like_debian2 || true
db_go
db_get foo/like_debian2
echo $RET

1 ответ

Решение

Я думаю, что вы спросили, как я могу задать два вопроса и получить два ответа? Нечто подобное должно сработать:

db_input medium foo/like_debian || true
[...]
ANSWER1=$RET
db_input medium foo/like_debian2 || true
[...]
ANSWER2=$RET
echo $ANSWER1,$ANSWER2

Ключевым моментом здесь является то, что ваши сценарии post/pre inst & rm используют $RET в качестве входных данных, поэтому вам нужно сохранить это возвращаемое значение как новую переменную. Я бы рекомендовал прочитать эту статью, если вы хотите узнать больше об этом: https://www.leaseweb.com/labs/2013/06/creating-custom-debian-packages/

Обновить

Я не знаю, почему я пропустил то, что вы спрашивали раньше, но чтобы получить несколько вопросов на одном экране одновременно, вы бы использовали beginblock и endblock:

db_beginblock
db_input medium foo/like_debian || true
db_input medium foo/like_debian2 || true
db_endblock
db_go

Это должно сделать свое дело. Кроме того, только FYI ваши команды db_get необходимы только в том случае, если вы хотите получить предыдущее значение, и так как ваше значение по умолчанию - true, и это сценарий postinst, они, вероятно, не нужны в вашем примере. Также имейте в виду, что не все интерфейсы поддерживают этот начальный / конечный блок, поэтому в зависимости от того, как вы его тестируете, вы можете увидеть или не увидеть его. Для получения дополнительной информации см.: http://www.fifi.org/doc/debconf-doc/tutorial.html

Другие вопросы по тегам