无涯教程-Shell Getopts选项

32 阅读1分钟

在Shell程序脚本中使用getopts选项来解析传递给它们的参数。在命令行上传递参数时,getopts解析这些参数而不是命令行。

选项以连字符(-)开头,后跟字母。例如-a,-b,-c,-d等。

Getopts不带参数

#!/bin/bash


while getopts ":abc" option;  #option 是下面要用到的变

do

 case $option in

 a)

  echo Hello learnfk -a

  ;;

 b)

  echo Hello learnfk -b

  ;;

 c)

  echo Hello learnfk -c

  ;;

 *)

  echo "无效的参数 $OPTARG"

 ;;

esac

done

我们创建了三个选项-a,-b和-c。而且任何选项都不需要参数。

Linux Shell Scripting Get script options with getopts 2

查看上面的图,这是上面脚本的示例输出。

Getopts带有参数

#!/bin/bash


while getopts ":ab:c" option;  #option 是下面要用到的变

do

 case $option in

 a)

  echo Hello learnfk -a

  ;;

 b)

  echo Hello learnfk -b with $OPTARG

  ;;

 c)

  echo Hello learnfk -c

  ;;

 :)

  echo "option -$OPTARG needs an argument"

 ;;

 *)

  echo "无效的参数 $OPTARG"

 ;;

esac

done

~            

Linux Shell Scripting Get script options with getopts 3

查看上面的图,参数 b是必需的。

Linux Shell Scripting Get script options with getopts 4

看一下上面的图,这是上面脚本的示例输出。

参考链接

www.learnfk.com/shell/get-s…