Shell脚本传参有两种方式:

方式1:sh  file.sh  arg1 arg 2....

方式2:read -p "提示"  arg 1 arg2

默认参数直接是以空格进行区分的,下面通过几个实例讲解一下传参遇到的问题及困惑

方式一:通过脚本实例展示

[root@data-1-2 ~]# cat arg1.sh 
#!/bin/bash
funChag() {
  echo $1 $2
}

main() {
  echo $1 $2
  funChag $1 $2
}
main $*

测试:

[root@data-1-2 ~]# sh arg1.sh 1 2 5 8
1 2
1 2
[root@data-1-2 ~]# sh arg1.sh 1
1
1

脚本传参,无论怎样穿,都是按照顺序传参进去,按照空格分隔参数

方式二:read传参

测试脚本代码

[root@data-1-2 ~]# cat arg.sh 
#!/bin/bash

read -p "please input two int :" Num1 Num2
funChag() {
  echo $1 $2
}

main() {
#  echo $Num1 $Num2
  funChag $Num1 $Num2