脚本编程与菜单设计:从数字进制转换到操作菜单实现
数字进制转换脚本详解
在脚本编程中,数字进制转换是一个常见且实用的功能。下面将详细介绍实现数字进制转换的脚本步骤和关键要点。
- getopts 定义解析
getopts 定义包含两个主要部分:- while 循环:包含 getopts 语句,在这个循环中定义了两个有效的命令开关 -f 和 -t。需要注意的是,在 case 语句中定义这些开关时不需要添加连字符 (-),但在命令行中必须添加。
- case 语句:用于在找到有效或无效开关时执行相应操作。当定义以冒号 (:) 开头时,如果找到未定义的开关(如 -i),则在 case 语句中该无效开关将与问号 (?) 匹配。在这种情况下,通常会运行 usage 函数并以返回码 1 退出脚本。同时,使用反斜杠 (\?) 对问号进行转义,以便将其作为普通字符使用。
当开关定义后有冒号 (:) 时,表示该开关必须关联一个参数;如果没有冒号,则表示该开关无参数。例如,getopts ":t:f:i"定义了 -t 和 -f 为需要参数的命令行开关,-i 为无参数开关。
当找到开关时,无论其是否已定义,都会将其赋值给 ARGUMENT 变量(可使用任意变量名),供 case 语句使用。对于已定义的变量,需要在 case 语句中有匹配项;对于未定义的开关,如果 getopts 定义以冒号开头,则 ARGUMENT 会