shell 11函数
1. 函数定义
function 方法名(){ #注意:function可加可不加
command
return int;
}
2. 不带返回值的函数
#!/bin/sh
function fun1(){
echo "hello world"
}
echo "start"
fun1
echo "end"
start
hello world
end
3. 带return返回值的函数
注意:如果不加return,将以最后一条命令的运行结果作为返回值。return后跟数值n(0-255)。
#!/bin/sh
fun1(){
echo "开始计算"
read -p "请输入第一个数字:" numA
read -p "请输入第二个数字:" numB
return $(($numA+$numB))
}
echo "start"
fun1
echo "结果:$?"
echo "end"
start
开始计算
请输入第一个数字:5
请输入第二个数字:4
结果:9
end
3. 函数参数
在shell中,调用函数可以向其传递参数。在函数内部,通过$n的形式来获取参数的值。例如$1表示第一个参数,$2表示第二个参数...
#!/bin/sh
fun1(){
echo "第一个参数:$1"
echo "第二个参数:$2"
echo "第十个参数:$10"
echo "第十参数:${10}"
echo "参数个数:$#"
echo "以一个字符串列出所有参数:$*"
}
fun1 1 2 3 4 5 6 7 8 9 47
第一个参数:1
第二个参数:2
第十个参数:10
第十参数:47
参数个数:10
以一个字符串列出所有参数:1 2 3 4 5 6 7 8 9 47
注意:\(10不能获取第10个参数,获取第10个参数需要使用\){10}。当n>=10时,需要使用${n}来获取参数
其他处理参数的特殊字符:
- $# 传递到脚本的参数个数
- $* 以一个单字符串显示所有向脚本传递的参数
- \[ 脚本运行的当前进程ID号
\] - \(@ 与\)*相同,但是使用时加引号,并在引号中返回每个参数。
- $- 显示Shell使用的当前选项,与set命令功能相同。
- $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
shell 11函数的更多相关文章
- linux shell自定义函数(定义、返回值、变量作用域)介绍
http://www.jb51.net/article/33899.htm linux shell自定义函数(定义.返回值.变量作用域)介绍 linux shell 可以用户定义函数,然后在shell ...
- shell获取函数的返回值
背景:定义了一个函数,比对本地和线上服务器集群数量差别,想要获取不同集群的个数.shell和其他语言的函数返回值还是差别挺大的. 定义一个函数 functionname(){ 操作内容 ...
- 转 linux shell自定义函数(定义、返回值、变量作用域)介绍
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ f ...
- Linux操作系统shell与函数详解
shell和函数的定义 1. linux shell 函数 将一组命令集或语句形成一个可用的块, 这些语句块称为函数. 2. shell 函数的组成 函数名:函数名字,注意一个脚本中函数名要唯一, ...
- shell 中函数放回字符串问题
shell 中函数放回字符串问题 shell 中不可以直接 return 字符串 ,可以return 数字.如果要return 字符串 改为 echo "hello world" ...
- shell从函数文件里调用函数
碰到一个shell中函数调用的小问题,记录一下. shell中函数有三种调用方式,一种是在文件前面定义函数,然后在以下直接调用:一种是通过加载shell,在shell中直接调用:第三种是将函数写入文件 ...
- Linux shell 自定义函数
一.定义shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1.可以带functi ...
- shell脚本--函数
shell的函数和Javacript和php的函数声明一样,只不过shell在调用函数的时候,只需要写函数名就可以调用函数,注意不要在函数名后面加括号 创建并使用函数 #!/bin/bash #文件名 ...
- shell进阶函数
函数的定义和用途 函数function是由若干条shell命令组成的语句块,实现shell代码的重用和模块化编程. 函数和shell程序的异同点 它与shell程序形式上是相似的,不同的是它不是一个单 ...
随机推荐
- windows安装redis和php拓展
第一步:下载redis 我是win7的环境,直接到https://github.com/MSOpenTech/redis/releases下载windows版本的redis: 第二步:配置path i ...
- DevExpress v18.1新版亮点——WPF篇(一)
用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress WPF v18.1 的新功能,快来下载试用新版本!点击下载& ...
- DevExpress v18.1新版亮点——WinForms篇(一)
用户界面套包DevExpress v18.1日前正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress WinForms v18.1 的新功能,快来下载试用新版本! C ...
- iOS多线程编程:线程同步总结
1:原子操作 - OSAtomic系列函数 iOS平台下的原子操作函数都以OSAtomic开头,使用时需要包含头文件<libkern/OSBase.h>.不同线程如果通过原子操作函数对同一 ...
- jboss 5.1 启动问题解决
在安装好后启动时可能遇到这样的情况: ERROR [AbstractKernelController] Error installing to Instantiated: name=Attachmen ...
- pycharm的安装和激活
这里可以自定意义安装路径 32-bit是创建32位桌面快捷方式(64-bit同理) .py勾选是默认关联py文件,勾选上后所有py文件默认用pycharm打开 Download....勾选是下载安装X ...
- 【矩阵快速幂】【杭电OJ1757】
http://acm.hdu.edu.cn/showproblem.php?pid=1757 A Simple Math Problem Time Limit: 3000/1000 MS (Java/ ...
- layer关闭弹出层总结
//关闭方法1 layer提供了5种层类型.可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层). 若你采用layer.open({type: 1})方式调用, ...
- python 直接将list 整体转化-----------map()
假设有这样一个 results = ['1', '2', '3'] 转化为下面这个样子 results = [1, 2, 3] 我们可以使用map函数 在Python2中这样操作: results = ...
- vim golang 插件
最好用的vim golang 插件 可自动缩进 git clone git@github.com:aimin/InstallvimGo.git