关于Shell脚本read传参问题
Shell脚本传参有两种方式:方式1:shfile.sharg1 arg 2....
方式2:read -p "提示"arg 1 arg2
默认参数直接是以空格进行区分的,下面通过几个实例讲解一下传参遇到的问题及困惑
方式一:通过脚本实例展示
# cat arg1.sh
#!/bin/bash
funChag() {
echo $1 $2
}
main() {
echo $1 $2
funChag $1 $2
}
main $*
测试:
# sh arg1.sh 1 2 5 8
1 2
1 2
# sh arg1.sh 1
1
1
脚本传参,无论怎样穿,都是按照顺序传参进去,按照空格分隔参数
方式二:read传参
测试脚本代码
# cat arg.sh
#!/bin/bash
read -p "please input two int :" Num1 Num2
funChag() {
echo $1 $2
}
main() {
#echo $Num1 $Num2
funChag $Num1 $Num2
}
main $*
测试1:read传参是传递一个参数
# sh arg.sh
please input two int :6
6
6
传入一个参数,$Num2默认接收到的是空;
测试2:read传入多个参数(>=3)
# sh arg.sh
please input two int :6 66 666
6 66 666 #
页:
[1]