Linux学习笔记 - Shell 函数的使用
2017-03-07 12:37
344 查看
基本语法
funname () { action; return int; # 参数返回,可以显示添加(返回n=(0-255)):如果不加,将以最后一条命令运行结果,作为返回值。 }
示例1:定义并调用无返回值的函数
#!/bin/bash a=1 b=2 c=`expr $a + $b` demofunc(){ echo "a+b=${c}" } demofunc --- output: a+b=3
示例2: 定义并调用有返回值的函数
#!/bin/bash a=1 b=2 demofunc(){ c=`expr $a + $b` return ${c} } demofunc echo "输入的两个数字之和为 $? !" #函数返回值在调用函数后,通过 $? 获取
注:
1.所有函数在使用前必须先定义。这意味着必须将函数放在脚本开始部分,直至shell解释器首次发现它之后,才可以使用。
2.调用函数仅使用其函数名即可。
关于函数参数的传递
我们可以在调用函数的时候给其传递参数,例如:#!/bin/bash funWithParam(){ echo "第一个参数为 $1 !" echo "第二个参数为 $2 !" echo "第二个参数为 $3 !" echo "第十个参数为 ${10} !" #从10开始,获取参数必须用 ${n} 的方式 echo "第十一个参数为 ${11} !" echo "参数总数有 $# 个!" echo "作为一个字符串输出所有参数 $* !" } funWithParam 1 2 3 4 5 6 7 8 9 10 11 --- output: 第一个参数为 1 ! 第二个参数为 2 ! 第二个参数为 3 ! 第十个参数为 10 ! 第十一个参数为 11 ! 参数总数有 11 个! 作为一个字符串输出所有参数 1 2 3 4 5 6 7 8 9 10 11 !
此外,还可以使用以下特殊字符用来处理参数:
参数处理 | 说明 |
---|---|
$# | 传递到脚本的参数个数 |
$* | 以一个单字符串显示所有向脚本传递的参数 |
$$ | 脚本运行的当前进程ID号 |
$! | 后台运行的最后一个进程的ID号 |
$@ | 与$*相同,但是使用时加引号,并在引号中返回每个参数。 |
$- | 显示Shell使用的当前选项,与set命令功能相同。 |
$? | 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。 |
相关文章推荐
- IPython下执行shell命令-魔力函数(alias store rehash)- 千月的python linux 系统管理指南学习笔记(6)
- Linux命令与shell脚本编程学习笔记-16创建函数
- 写得蛮好的linux学习笔记 [转] 三vi,shell,grep使用
- [Linux学习笔记] Linux常用命令 - 番外篇(Shell使用技巧)
- Python中使用函数 - 千月的python linux 系统管理指南学习笔记(4)
- [Linux学习笔记]第1天:操作系统的发展史,linux诞生,Linux发行商,shell,terminal,shell使用技巧,文件目录,基本操作
- 王保明老师Linux学习笔记---------信号----signal()函数使用实例
- linux学习笔记3:linux的网络配置,rpm包,shell以及samba服务器的使用和安装
- Linux 学习笔记_3_Linux常用命令_8_Shell使用技巧
- Linux学习笔记:shell的初次使用
- linux 学习笔记(三):open、creat、close 函数的使用,文件的创建、打开与关闭
- Linux命令行与shell脚本(13)--在函数中使用普通变量
- Python中函数参数设置及使用的学习笔记
- 马哥linux学习笔记:openssl的使用
- linux 学习笔记 (3) —— 使用python
- Shell脚本学习与Linux下vim命令使用
- c++学习笔记(一):函数指针的使用
- 基础学习笔记之opencv(24):imwrite函数的使用
- TLCL学习笔记02——使用命令、重定向、从shell眼中看世界
- HBase-1.0.1学习笔记(二)HBase Shell工具使用