bash getopts验证选项

时间:2015-05-06 17:22:37

标签: linux bash scripting command-line-arguments getopts

我在out脚本中有以下代码:

bash

问题:

如果使用选项# argument validation and usage help usage() { cat << EOF usage: $0 options File Integrity Monitoring Script: OPTIONS: -b input file for [backup] -r input file for [diff report] -l list backup files EOF } if [ $# -eq 0 ] then usage exit 0 fi while getopts ":b:r:l:" o; do case "${o}" in b) B=${OPTARG} backup $B ;; r) R=${OPTARG} diffcheck $R ;; l) ls -ld /root/backup/* | awk -F/ '{print $(NF)}' ;; *) usage exit 0 ;; esac done shift $((OPTIND-1)) 它需要-b但是inputfile它只需要打印目录列表而不传递任何参数,是否有任何简单的方法可以找出哪个选项需要{{ 1}}?

-l

如果我通过任何论证它是有效的

argument

1 个答案:

答案 0 :(得分:2)

:参数中的getopts后面的-l表示它需要参数。由于getopts getopts ":b:r:l" 不需要选项,因此您应该使用

tree = BS(htmSource, "html5lib")