6.方法参数传递机制详解
函数介绍
- Linux Shell 中的函数和大多数语言的函数一样
- 将相似的任务或者代码封装到函数中,供其他地方调用
第一种形式
name()
{
command;
command;
}
第二种形式
[ function ] funnane[()]
{
action;
[return int;]
}
其中 [] 中的内容是可选的
例子
例子1
#!/bin/bash
function test(){
echo "我是一个函数"
}
#调用函数
test
输出
我是一个函数
例子2
使用局部变量
#!/bin/bash
function test(){
cc="this. is cc"
dd="this. is dd"
echo $cc
echo "我是一个函数"
}
test
输出
this. is cc
我是一个函数
例子3
传递参数
#!/bin/bash
aa="this is aa"
bb="this is bb"
function test(){
echo $1 // 这里的$1 从test函数传递过来的
cc="this. is cc"
dd="this. is dd"
echo $cc
echo "我是一个函数"
}
test $1 // 注意 这里要传递 $1 是从shell传递过来的
输出
./function.sh 123
123
this. is cc
我是一个函数
循环
#!/bin/bash
a=1;
factorial(){
for(( i=1; i<=$1; i++))
do
a=$[$a * $i]
done
echo "$1 的阶乘时 $a"
}
factorial $1
输出
./function.sh 7
7 的阶乘时 5040
返回值1
如果没有return 默认返回最后一行的结果
#!/bin/bash
fun2(){
read -p "请输入数值 " num
let 2*num
}
fun2
echo "fun2 return value : $?"
输出
./function.sh
请输入数值 10
fun2 return value : 0
返回值2
#!/bin/bash
fun2(){
read -p "请输入数值 " num
echo $[2*$num]
}
fun2
echo "fun2 return value : $?"
输出
./function.sh
请输入数值 10
fun2 return value : 20
请输入数值 150
fun2 return value : 44
这个返回值是256的约数 范围是0-255
返回值3
#!/bin/bash
fun2(){
read -p "请输入数值 " num
echo $[2*$num]
}
result=`fun2`
echo "fun2 return value : $result"
输出
./function.sh
请输入数值 10
fun2 return value : 20
请输入数值 150
fun2 return value : 300
版权声明:本文为xiaolei999原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。