shell脚本获取参数列表

实现比较简单,主要是通过while循环去检索然后通过case去匹配参数列表。代码如下:

#!/bin/bash

while [ -n "$1" ]  #获取第一个参数
do
    case "$1" in  #进行匹配
    -opt1)  #建议option前加一个短横线作为区分
        echo "do something option1"
        ;;
    -opt2)
        value2=$2
        echo "do something option2, value: $value2"
        ;;
    -opt3)
        echo "do something option3"
        ;;
    -opt4)
        value4=$2
        echo "do something option4, value: $value4"
        ;;
    esac
    shift # 转向下一个
done

执行情况如下:

➜  chmod +x test_get_opt.sh

➜  ./test_get_opt.sh -opt1 -opt2 222 -opt4 444
do something option1
do something option2, value: 222
do something option4, value: 444

➜  ./test_get_opt.sh -opt1 -opt5 222 -opt4 444
do something option1
do something option4, value: 444

先使用chmod +x给shell脚本添加一个可执行权限。
第一次输入参数-opt1 -opt2 222 -opt4 444均成功匹配并执行相应信息打印;
第二次输入参数-opt1 -opt5 222 -opt4 444因为 -opt5 不是预设的option所有不会有相应匹配的代码执行。

你可能感兴趣的:(Linux,bash,linux)