l string /prompt/ /symbol/ /word/
此命令向用户显示/prompt/提示信息,接收用户输入值,并赋给/symbol/。 /word/是默认值。
合法输入值: ASCII字符串(''"'' and ''\\''除外).
例如:
# drivers/sound/Config.in
string '' Full pathname of DSPxxx.LD firmware file'' \ CONFIG_PSS_BOOT_FILE /etc/sound/dsp001.ld
l tristate /prompt/ /symbol/
此命令向用户显示/prompt/提示信息,接收用户输入值,并赋给/symbol/。
合法输入值:"n", "m", or "y"。
"m"代表"module",它表示/symbol/应该被编译为内核module,仅当CONFIG_MODULES的当前值为Y时,m值合法。
无默认值。
例如:
# fs/Config.in
tristate ''NFS filesystem support'' CONFIG_NFS_FS
l define_bool /symbol/ /word/
此命令把/word/的值赋给/symbol/。合法值为"n" 或"y"。
例如:
# arch/alpha/config.in
if [ "$CONFIG_ALPHA_GENERIC" = "y" ]
then define_bool CONFIG_PCI y
define_bool CONFIG_ALPHA_NEED_ROUNDING_EMULATION y fi
l define_hex /symbol/ /word/
此命令把/word/的值赋给/symbol/。合法值:十六进制数。
例如:
# Not from the corpus
bool ''Specify custom serial port'' CONFIG_SERIAL_PORT_CUSTOM
if [ "$CONFIG_SERIAL_PORT_CUSTOM" = "y" ]; then hex ''Serial port number'' CONFIG_SERIAL_PORT else define_hex CONFIG_SERIAL_PORT 0x3F8 fi
l define_int /symbol/ /word/
此命令把/word/的值赋给/symbol/。合法值:十进制数。
例如:
# drivers/char/ftape/Config.in
define_int CONFIG_FT_ALPHA_CLOCK 0
l define_string /symbol/ /word/
此命令把/word/的值赋给/symbol/。合法输入值: ASCII字符串(''"'' and ''\\''除外).
例如:
# Not from the corpus
define_string CONFIG_VERSION "2.2.0"
l define_tristate /symbol/ /word/
此命令把/word/的值赋给/symbol/。合法输入值"n"、"m"、和"y"。
例如:
# drivers/video/Config.in
if [ "$CONFIG_FB_AMIGA" = "y" ]; then define_tristate CONFIG_FBCON_AFB y
define_tristate CONFIG_FBCON_ILBM y else if [ "$CONFIG_FB_AMIGA" = "m" ]; then define_tristate CONFIG_FBCON_AFB m
define_tristate CONFIG_FBCON_ILBM m fi fi
l dep_bool /prompt/ /symbol/ /dep/ ...
此命令对所有在dependency list中的dependencies进行评估,任何一个值为"y"的dependency没有限制输入范围。任何一个值为空的dependency 被忽略,任何一个值为"n"或其他值(比如 "m")的dependency 限制输入为"n"。不允许对dependencies加引号。
如果输入范围被限制为单选"n",dep_bool把"n"赋给/symbol/。如果是多选,dep_bool向用户显示/prompt/提示信息,从用户接收数据,并赋值给/symbol/。
例如:
# drivers/net/Config.in
dep_bool ''Aironet 4500/4800 PCI support '' CONFIG_AIRONET4500_PCI $CONFIG_PCI
l dep_mbool /prompt/ /symbol/ /dep/ ...
此命令对所有在dependency list中的dependencies进行评估,任何一个值为"y"或"m"的dependency没有限制输入范围。任何一个值为空的dependency 被忽略,任何一个值为"n"或其他值(比如 "m")的dependency 限制输入为"n"。不允许对dependencies加引号。
如果输入范围被限制为单选"n",dep_bool把"n"赋给/symbol/。如果是多选,dep_bool向用户显示/prompt/提示信息,从用户接收数据,并赋值给/symbol/。
例如:
# Not from the corpus
dep_mbool ''Packet socket: mmapped IO'' CONFIG_PACKET_MMAP $CONFIG_PACKET
l dep_hex /prompt/ /symbol/ /word/ /dep/ ...
l dep_int /prompt/ /symbol/ /word/ /dep/ ...
l dep_string /prompt/ /symbol/ /word/ /dep/ ...
l dep_tristate /prompt/ /symbol/ /dep/ ...
此命令对所有在dependency list中的dependencies进行评估,任何一个值为"y"的dependency没有限制输入范围。任何一个值为"m"的dependency 限制输入为"m"或"n",任何一个值为空的dependency 被忽略,任何一个值为"n"或其他值(比如 "m")的dependency 限制输入为"n"。不允许对dependencies加引号。
如果输入范围被限制为单选"n",dep_bool把"n"赋给/symbol/。如果是多选,dep_bool向用户显示/prompt/提示信息,从用户接收数据,并赋值给/symbol/。
例如:
# drivers/char/Config.in
dep_tristate ''''Parallel printer support'''' CONFIG_PRINTER $CONFIG_PARPORT
l unset /symbol/ ...
此命令向/symbol/赋值"",,但是不把/symbol/输出到输出文件中。
例如:
# arch/mips/config.in
unset CONFIG_PCI
unset CONFIG_MIPS_JAZZ
unset CONFIG_VIDEO_G364
l choice /prompt/ /word/ /word/
此命令实现一个选项列表或"radio button list"选项。向用户显示/prompt/和一组有着对应符号的子提示信息。
当用户选择了一个值时,choice命令设置相应的symbol值为"y",并把其他所有在此choice list中的项的值设置为 "n"。
第二个参数是用单引号或双引号内的字,用于描述一些子提示符或符号名。解释器根据空格把字分成一个子字列表。第一个子字就是第一个提示信息。第二个子字就是第一个符号。第三个子字是第二个提示信息。第四个子字是第二个符号....
第三个参数是一个缩写,它的值必须是这些提示信息之一的唯一缩写。对应于这个提示信息的符号就是默认的使能符号。
例如:
# arch/i386/config.in
choice ''''PCI access mode'''' \
"BIOS CONFIG_PCI_GOBIOS \
Direct CONFIG_PCI_GODIRECT \
Any CONFIG_PCI_GOANY" Any
l nchoice /prompt/ /symbol/ /prompt/ /symbol/ ...
此命令与choice命令有着相同的语义,但是有着更为敏感的语法。第一个/prompt/是整个choice list的主提示信息。
第一个/symbol/ 是使能的默认符号(注意:这仅是一个符号,并不是唯一的提示信息缩写)。接下来的/prompt/ 和/symbol/ 对是choice list的提示信息和符号。