【Shell】从命令行读取参数的三种方式

0x01 直接使用

直接按照参数位置2 $3 ......来获取参数

1 :第一个参数.
3, # 参数的个数,不包括命令本身
* :和" 和 ""将所有的参数解释成一个字符串,而"$@"是一个参数数组。

0x02 getopts函数

getopts函数接受两个参数。第一个参数是字符串,使用冒号来区分该选项是否需要参数值;getopts从命令中获取这些参数,并且删去了“-”,并将其赋值在第二个参数中。

while getopts ":e:f:" opt
do
    case $opt in
        e)
            DEPLOY_ENV=$OPTARG
            ;;
        f)
            ZIP_PATH=$OPTARG
            ;;
        ?)
            echo "args error!"
            exit 1
            ;;
    esac
done

$OPTARG必须是大写字母。

不能处理长选项,需要使用第三种方式。

0x03 getopt

【待续】


欢迎关注微信公众号(coder0x00)或扫描下方二维码关注,我们将持续搜寻程序员必备基础技能包提供给大家。


【Shell】从命令行读取参数的三种方式_第1张图片

你可能感兴趣的:(【Shell】从命令行读取参数的三种方式)