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函数的更多相关文章

  1. linux shell自定义函数(定义、返回值、变量作用域)介绍

    http://www.jb51.net/article/33899.htm linux shell自定义函数(定义.返回值.变量作用域)介绍 linux shell 可以用户定义函数,然后在shell ...

  2. shell获取函数的返回值

    背景:定义了一个函数,比对本地和线上服务器集群数量差别,想要获取不同集群的个数.shell和其他语言的函数返回值还是差别挺大的.   定义一个函数 functionname(){      操作内容 ...

  3. 转 linux shell自定义函数(定义、返回值、变量作用域)介绍

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ f ...

  4. Linux操作系统shell与函数详解

    shell和函数的定义 1. linux  shell 函数 将一组命令集或语句形成一个可用的块, 这些语句块称为函数. 2. shell  函数的组成 函数名:函数名字,注意一个脚本中函数名要唯一, ...

  5. shell 中函数放回字符串问题

    shell 中函数放回字符串问题 shell 中不可以直接 return 字符串 ,可以return 数字.如果要return 字符串 改为 echo "hello world" ...

  6. shell从函数文件里调用函数

    碰到一个shell中函数调用的小问题,记录一下. shell中函数有三种调用方式,一种是在文件前面定义函数,然后在以下直接调用:一种是通过加载shell,在shell中直接调用:第三种是将函数写入文件 ...

  7. Linux shell 自定义函数

    一.定义shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1.可以带functi ...

  8. shell脚本--函数

    shell的函数和Javacript和php的函数声明一样,只不过shell在调用函数的时候,只需要写函数名就可以调用函数,注意不要在函数名后面加括号 创建并使用函数 #!/bin/bash #文件名 ...

  9. shell进阶函数

    函数的定义和用途 函数function是由若干条shell命令组成的语句块,实现shell代码的重用和模块化编程. 函数和shell程序的异同点 它与shell程序形式上是相似的,不同的是它不是一个单 ...

随机推荐

  1. 玩转X-CTR100 l STM32F4 l OLED显示-SSD1306无字库

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      OLED显示屏具有自发光特性,不需要背光, ...

  2. 玩转X-CTR100 l STM32F4 l 红外遥控接收

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      X-CTR100控制器具有红外接收头,例程 ...

  3. 【DevExpress v17.2新功能预告】DevExtreme TreeList

    在即将到来的v17.2中,您可以查看到DevExtremeHTML5 TreeList小部件的这些新功能. 1. 递归选择模式 TreeList将包括一个新的递归选择模式,您只需一次点击即可选择或取消 ...

  4. Effective C++阅读笔记

    条款1:视C++为一个语言联邦:C.Object-Oriented C++.Template C++.STLC++高效编程守则视情况而变化,取决于使用C++的哪一个部分 条款2:尽量以const,en ...

  5. SWIFT Tuple Pattern及Struct Pattern

    定义一个Tuple let color = (1.0,1.0,1.0,1.0) switch color{ case (0.0,0.5...1.0,let blue,_): //匹配第一个值为0.0第 ...

  6. 图片和span水平垂直居中

    <style type="text/css"> .content{ width:20%; height:60px; border:1px solid red; text ...

  7. Hign-Speed Tracking with Kernelzied Correlation Filters

    reference:Hign-Speed Tracking with Kernelzied Correlation Filters questions: The core componet of mo ...

  8. Spring4.3整合Hibernate4.3搭建Spring MVC

    1,web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=&qu ...

  9. Microsoft-Excel Sheet Column Number

    Given a column title as appear in an Excel sheet, return its corresponding column number. For exampl ...

  10. test20181016 B君的第二题

    题意 分析 考场暴力50分. 考虑bfs序,一个点的儿子节点的bfs序一定连续,所以对bfs序建线段树,努力打一下就行了. 时间复杂度\(O(n \log n + m \log n)\) #inclu ...