首先承认这东西还是相当复杂的,写的有些东西不是很准确、很严谨,主要都是实战总结的一些心得体会
db_input
基本知识
- 窗口类型:
单选框(select)
,多选框(multiselect)
,文本提示(note)
,文本输入(string)
等 - 一般窗口属性:
模板(Templates)
,类型(Type)
,选项(Choices)
,描述(Description)
,默认选项(Default)
等 - 优先级(priority):一般有
low
,medium
,high
,critical
,优先级依次提高 - 其中
Description
和Choices
是可以设置Default
域的,即设置一个(或多个)默认选项 - 使用时,需要配合
db_metaget
和db_subst
来设置窗口的属性,以及可以用db_settile
来设置窗口标题 - 实例如下:
# 先用fset将seen标识设置为false 表示设置为`尚未设置`的意思,否则会被认为以及设置过了就不会弹窗了
db_fset foo/like_debian seen false ||true
db_input critical foo/like_debian || true
# 如果不设置db_go,界面会直接关闭
db_go
db_input
实例说明
- 示例代码:
db_metaget foo/why_debian_is_great Description
db_subst foo/why_debian_is_great Description $RET
db_fset foo/why_debian_is_great seen false||true
db_input critical foo/why_debian_is_great || true
db_go
db_metaget
获取foo/why_debian_is_great
模板的Description
域,即获取了一段文本描述db_subst
设置foo/why_debian_is_great Description
的值为RET
,其中$RET
表示db_metaget函数的返回值(注意,一般RET
就是db_*函数的返回值)db_fset
标识将foo/why_debian_is_great
模板设置为尚未设置
,即还未(false)被seen- 然后启动
db_input
,将优先级设置最高critical
db_go
大概表示下一步,和db_capb backup
相反
关于db_metaget
和db_subst
的几点
db_metaget
一般表示去获取某个域的描述性信息db_subst
一般表示设置窗口的一些属性,例如标题,文字描述等- 3.
关于db_input
的templates模板
- bash代码可以直接调用templates里的模版
- 模板的
Type
和Description
等域属性一定要在templates模板文件中声明
版权声明:本文为u013390088原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。