如何使用 -x 调用脚本的不同部分

如何使用 -x 调用脚本的不同部分

我正在设计一个脚本来安装许多常用应用程序,但我想知道是否有一种方法可以添加 -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

相关内容