zoukankan      html  css  js  c++  java
  • Linux学习笔记

    基本语法

    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表示没有错误,其他任何值表明有错误。
  • 相关阅读:
    JVM学习笔记之认识JDK(一)
    C#发送邮件异常:根据验证过程,远程证书无效
    windows下使用mysql双机热备功能
    批处理实现mysql的备份
    WebApi FormData+文件长传 异步+同步实现
    Oracle中已知字段名查询所在的表名
    mstsc遇到CredSSP加密Oracle修正
    使用subgit进行svn迁移至git(branch,tags)
    使用guava进行对字符串的加锁
    使用spring-data-solr做solr客户端
  • 原文地址:https://www.cnblogs.com/atuotuo/p/6514135.html
Copyright © 2011-2022 走看看