加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Bash案例声明

发布时间:2020-12-16 01:31:45 所属栏目:安全 来源:网络整理
导读:我正在尝试学习案例,因为我正在编写一个功能齐全的脚本. 我从下面开始 #!/bin/shcase $@ in -h|--help) echo "You have selected Help" ;; -B|-b) echo "You have selected B" ;; -C|-c) echo "You have selected C" ;; *) echo "Valid Choices are A,B,C" e
我正在尝试学习案例,因为我正在编写一个功能齐全的脚本.

我从下面开始

#!/bin/sh
case $@ in

    -h|--help)
            echo "You have selected Help"
            ;;
    -B|-b)
            echo "You have selected B"
            ;;
    -C|-c)
            echo "You have selected C"
            ;;
      *)
            echo "Valid Choices are A,B,C"
            exit 1
            ;;
esac

我想使用以下两个选项:

./getopts.sh -h -c

但我得到这个结果
有效的选择是A,C

请你帮忙,让我知道我做错了什么?

如果您输入一个选项,但如果输入多个,则需要构建一个脚本,该脚本将执行某些操作.

此外,我将如何解析$1到这个脚本作为surley,我选择我先进入(-h)将是$1?

谢谢!

尝试这个
#!/bin/sh

usage() {
    echo `basename $0`: ERROR: $* 1>&2
    echo usage: `basename $0` '[-a] [-b] [-c] 
        [file ...]' 1>&2
    exit 1
}


while :
do
    case "$1" in
    -a|-A) echo you picked A;;
    -b|-B) echo you picked B;;
    -c|-C) echo you picked C;;
    -*) usage "bad argument $1";;
    *) break;;
    esac
    shift
done

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读