shell学习整理(10)-函数和参数

本文介绍了Bash脚本中函数的基本定义、参数传递、递归调用及导出方法等内容,并通过示例展示了如何使用这些功能。
1. 定义函数
(1) 定义函数:
function fname()
{
statements;
}
或者:
fname()
{
statements;
}


2. 只需要使用函数名就可以调用某个函数:


$1 是第一个参数。
 $2 是第二个参数。
 $n 是第n个参数。
 "$@" 被扩展成 "$1" "$2" "$3" 等。
 "$*" 被扩展成 "$1c$2c$3" ,其中 c 是IFS的第一个字符。
 "$@" 要比 "$*" 用得多。由于 "$*" 将所有的参数当做单个字符串,因此它很少被
使用。


fname(){   //定义函数
statements;   
}
fname;  //调用函数


3. 参数可以传递给函数,并由脚本进行访问:
#!/bin/bash -xv
#文件名:frame.sh


 function fSum()
 {
   echo $1,$2;
   return $(($1+$2));
 }
  fSum 3 2;
 fSum 5 7;
 total=$(fSum 3 2);
 echo $total,$?;     //$?   是读取命令返回值,后面有介绍
 
 输出结果:
 3,2
 5,7
 3,2,5
 
4. 在Bash中,函数同样支持递归(可以调用自身的函数)。


5. 函数可以导出来,然后可以作用到子进程里,但是这里不太明白,留问号
export -f fname


6. $? 读取命令返回值
#!/bin/bash -xv
#文件名:frame1.sh


frame(){
echo $1,$2;
return $(($1+$2));
}
frame 1 2;
echo $?;




输出结果:
1,2
3


7. 向命令传递参数   不是太明白,回头再看,先打?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值