bash – 带getopts的可选选项参数
发布时间:2020-12-15 19:30:44 所属栏目:安全 来源:网络整理
导读:while getopts "hd:R:" arg; do case $arg in h) echo "usgae" ;; d) dir=$OPTARG ;; R) if [[ $OPTARG =~ ^[0-9]+$ ]];then level=$OPTARG else level=1 fi ;; ?) echo "WRONG" 2 ;; esacdone level是指参数-R,dir是指-d参数 当我输入./count.sh -R 1 -d
while getopts "hd:R:" arg; do case $arg in h) echo "usgae" ;; d) dir=$OPTARG ;; R) if [[ $OPTARG =~ ^[0-9]+$ ]];then level=$OPTARG else level=1 fi ;; ?) echo "WRONG" >&2 ;; esac done > level是指参数-R,dir是指-d参数 这意味着我想要-R具有默认值,并且命令的顺序可以更灵活。
getopts并不真正支持这一点;但是写出你自己的替代品并不困难。
while true; do case $1 in -R) level=1 shift case $1 in *[!0-9]* | "") ;; *) level=$1; shift ;; esac ;; # ... Other options ... -*) echo "$0: Unrecognized option $1" >&2 exit 2;; *) break ;; esac done (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |