shell脚本 函数传递参数

在一个脚本中,多个函数之间可能需要相互传递参数,之前一直对参数的传递以及引用有些疑问,今天做了几个小测试例子

1、

#!/bin/bash
function f1(){
  local param1=$1
  echo "f1"$param1
  f2 $param1
}
function f2(){
   local param2=$1
   echo "f2"$param2
}
f1 $1
运行结果:./temp2.sh pp

mj@ubuntu:~$ ./temp2.sh pp
f1pp
f2pp
2、
#!/bin/bash
function f1(){
  local param1=$1
  echo "f1"$param1
  f2 $param1
}
function f2(){
   echo "f2"$param1
}
f1 $1
运行结果:./temp2.sh pp

mj@ubuntu:~$ ./temp2.sh pp
f1pp
f2pp
3、

#!/bin/bash
function f1(){
  local param1=$1
  echo "f1"$param1
  f2 $param1
}
function f2(){
   echo "f2"$1
}
f1 $1
运行结果:./temp2.sh pp

mj@ubuntu:~$ ./temp2.sh pp
f1pp
f2pp
4、
#!/bin/bash
function f1(){
  local param1=$1
  echo "f1"$param1
  f2 $param1
}
function f2(){
   echo "f2"$param
}
f1 $1
运行结果:./temp2.sh pp

mj@ubuntu:~$ ./temp2.sh pp
f1pp
f2
由此可见,在参数传递时,f2接收f1传给它的参数,可以直接用f1中的变量名使用,或者用$1使用,或者f2自己创建local变量接收










你可能感兴趣的:(shell,函数,脚本)