在启动shell脚本时,需要传入参数以实现某些特定功能,不传参数时执行默认功能。
#!/bin/sh
echo "------app run-----"
DEF_PARA1="default_para1"
DEF_PARA2="default_para2"
DEF_PARA3="default_para3"
USR_PARA1=${DEF_PARA1}
USR_PARA2=${DEF_PARA2}
USR_PARA3=${DEF_PARA3}
if [ $1 ] ; then
USR_PARA1=$1
fi
if [ $2 ] ; then
USR_PARA2=${2}
fi
if [ $3 ] ; then
USR_PARA3=$3
fi
echo $0
echo ${USR_PARA1}
echo ${USR_PARA2}
echo ${USR_PARA3}
#!/bin/sh
注意必须声明。
DEF_PARA1="default_para1"
DEF_PARA2="default_para2"
DEF_PARA3="default_para3"
USR_PARA1=${DEF_PARA1}
USR_PARA2=${DEF_PARA2}
USR_PARA3=${DEF_PARA3}
当程序无任何传参时,以此参数进行运行。
if [ $1 ] ; then
USR_PARA1=$1
fi
if [ $2 ] ; then
USR_PARA2=${2}
fi
if [ $3 ] ; then
USR_PARA3=$3
fi
注意,“$1”这种美元后跟数字的变量是获取入参的形式,数字指的是传入参数的索引,$1代表第一个参数,$5代表第五个参数,以此类推。$0代表运行当前脚本的命令。
echo $0
echo ${USR_PARA1}
echo ${USR_PARA2}
echo ${USR_PARA3}
$ ./run.sh 1
------app run-----
./run.sh
1
default_para2
default_para3
$ ./run.sh 1 2 3
------app run-----
./run.sh
1
2
3
通过$number的形式获取传参内容,可视作变量进行操作。当需要以默认参数的形式运行时,需要对各参数进行一次校验处理。