shell • script默认参数
比如,ls -al 其中-al就是shell脚本参数,那么我们自己写的脚本参数该如何使用呢
/path/to/scriptname arg1 arg2 arg3 arg4
$0 $1 $2 $3 $4
– $0:代表脚本程序本身
$1 表示的是第一个参数
$2 表示的第二个参数
$3 表示的是第三个参数....
依次类推
$# 表示的是参数的个数
$@ 表示的是每一个参数都是一个独立的变量 用双引号括起来的
$* 表示 脚本名后面跟的所有的变量都是是做一个字符串的
案例1:
#!/bin/bash
echo "the script name is==>$0"
echo "total parameter number is==>$#"
[ "$#" -lt 2 ]&&echo "the number of parameter is lt 2"&&exit 1
echo "1st parameter==>$1"
echo "2nd parameter==>$2"
echo "your whole parameter is==$@"
exit 0
shift:造成参数变量号码偏移
案例2:
#!/bin/bash
echo "total parameter number is==>$#"
echo "your whole parameter is==>$@"
#shift one parameter
shift
echo "total parameter number is==>$#"
echo "your whole parameter is==>$@"
#shift three parameter
shift 3
echo "total parameter number is==>$#"
echo "your whole parameter is==>$*"