shell 函数嵌套传参实列
cat >> test.sh << EOF
#!/bin/bash
#====================================================
# Create Date: 2018-11-16
# Description:
#====================================================
test(){
case $1 in #此处获取$1的值是脚本传入的参数$2
"a")
echo "test a";;
"b")
echo "test b";;
*)
usage;;
esac
}
test2(){
echo "test2"
}
usage(){
echo "Error 请按照下面样例执行"
echo "eg: sh $0 1 [a|b]"
echo "eg: sh $0 2 "
}
main(){
case $1 in
1)
test $2;;
2)
test2;;
*)
usage;;
esac
}
main $1 $2
EOF
执行 sh test.sh 不传参数的时候,输出提示结果如下:
Error 请按照下面样例执行
eg: sh test.sh 1 [a|b]
eg: sh test.sh 2
执行sh test.sh 1 a 输出结果: test a
执行sh test.sh 1 b 输出结果: test b
执行sh test.sh 1 c 输出结果:
Error 请按照下面样例执行
eg: sh test.sh 1 [a|b]
eg: sh test.sh 2
执行sh test.sh 2 输出结果: test b