脚本编程之数字进制转换与操作菜单打造
1. 数字进制转换脚本详解
在数字进制转换脚本中,getopts是核心工具,其定义包含两部分:
- 包含getopts语句的while循环。
- 用于处理有效或无效开关的case语句。
在while循环里,我们定义了两个有效命令开关-f和-t。在case语句中定义这些开关时,无需添加连字符-,但在命令行中使用时则必须添加。定义中的冒号:有特殊含义:开头的冒号表示当发现未定义的开关(如-i)时,该无效开关会与case语句中的问号?匹配。在这种情况下,我们通常会运行usage函数并以返回码 1 退出脚本。同时,为了将?作为普通字符使用,我们用反斜杠进行转义(\?)。
若开关定义后有冒号,则表示该开关必须有相关参数;若没有冒号,则表示该开关无参数。例如,getopts ":t:f:i"定义了-t和-f为需要参数的命令行开关,而-i为无参数开关。