您的位置:首页 > 运维架构 > Shell

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

2017-11-16 18:35 323 查看
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. 向命令传递参数   不是太明白,回头再看,先打?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: