我正在设计一个脚本来安装许多常用应用程序,但我想知道是否有一种方法可以添加 -t 标签来转到脚本的不同部分,即 -t 称为教程,而没有任何内容只是列出它的帮助?
答案1
是的,但是您必须进行一些命令行解析。
这是没有使用getopt
:
case "$1" in
-t) do_tutorial
exit 0 ;;
-i) do_install "$2"
exit 0 ;;
-h) do_usage
exit 0 ;;
*) do_usage >&2
exit 1 ;;
esac
这只是一个示例,但它将采用命令行上脚本名称之后的第一件事($1
标志),并且根据其值,它将执行不同的操作。然后,您将拥有实现支持命令行上每个标志所需的不同行为的函数,例如
do_usage () {
cat <<USAGE_END
Usage: script [ -i "component" | -h | -t ]
Options:
-i "component" Install "component"
-h Show this help text
-t Show tutorial
USAGE_END
}
查看getopt
或 Bash 来getopts
了解如何进行更复杂的命令行解析。
一个简单的getopts
用法示例:https://unix.stackexchange.com/a/292242/116858