【Shell】从命令行读取参数的三种方式
2017-09-01 本文已影响27人
lndyzwdxhs
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)或扫描下方二维码关注,我们将持续搜寻程序员必备基础技能包提供给大家。