zoukankan      html  css  js  c++  java
  • Shell脚本高级编程笔记一

     http://www.cnblogs.com/ygj0930/p/8184277.html

    一:函数

     1:创建函数

    法一:
    function name{
        commands
    }
    
    法二:
    name() {
        commands
    }

    2:函数的使用

    通过函数名来调用函数,需要注意的是:函数需要先定义,再调用。不然的话会报错。

    3:函数返回值

    函数运行结束时会返回值,有三种方法为函数生成返回值:

    1)默认退出状态码

        默认情况下,函数的最后一条命令的执行结果状态 就是函数的退出状态码,如果最后一条命令执行成功,则返回0,否则,返回一个正数。

    2)使用return(只能返回整数)

       return命令用于退出函数并且返回一个状态码,状态码必须是0~255之间的整数

    3)使用echo输出

        在函数中输出内容,在调用函数处接收内容,可以输出任何类型的数据

    result=$(函数 参数...)

    4:函数变量

    1)向函数传递参数

        函数相当于小脚本,所以向函数传参的方式与脚本传参类似。

    传参:
    函数名 参数1 参数2 ...
    
    函数中调用参数:
    $0:函数名
    $1:第一个参数
    $2:第二个参数
    ......

    2)向函数传递数组

        如果把数组变量作为参数传递给函数,则函数只会取到数组的第一个元素。

        向函数传递数组,需要将数组拆分成单个值,然后把这些值传递给数组。

    func ${array[*]}

        在函数中,则需要使用这些变量重新创建一个数组:

    newArray=($(echo "$@"))

    3)函数返回数组

        在函数中使用echo语句输出数组的拆分值,然后在脚本中将他们重新包装成一个数组。

    逐个返回数组值:echo ${newarray[*]}
    重新包装:result=($(func arg...))

    4)全局变量与局部变量

        在函数外、脚本内定义的都是全局变量,函数外定义的全局变量可以在函数内访问。

        在函数内定义的变量,只需使用local关键字修饰,即可声明成局部变量。

    5:高级用法——创建函数库

        如果某些函数需要在多个脚本文件中使用,那么可以将这些函数提取出来放进一个公用的的脚本文件中,这个脚本文件就是  库文件。

    1)创建一个脚本文件,在其中定义公用的库函数

    2)在其他脚本文件中,引入库脚本文件

    #!/bin/bash
    . 库文件路径   #引用库函数使用source命令,其别名是 点操作符。
    
    使用库函数...

    6:高级用法——在.bashrc中定义函数

        如果需要每次启动一个shell时都能自动加载某函数,那么我们可以在.bashrc中定义函数或导入库函数。

    1)定义函数

        在主目录下的.bashrc文件中定义函数,写在文件末尾即可。

    2)引入函数

        在.bashrc文件的末尾,使用  . 库函数路径   引入即可。

  • 相关阅读:
    MyEclipse配置输出控制台信息至文本文件里
    IOS开发证书显示“此证书的签发者无效”解决方法
    leetcode之Find All Numbers Disappeared in an Array
    自己定义控件三部曲视图篇(二)——FlowLayout自适应容器实现
    浅谈BloomFilter【上】基本概念和实现原理
    mybatis 常用的jabcType与javaType对应
    springboot WebMvcConfigurerAdapter替代
    动态insert mybatis与ibatis
    动态set mybatis与ibatis的写法
    springboot 配置mybatis打印sql
  • 原文地址:https://www.cnblogs.com/ygj0930/p/8184277.html
Copyright © 2011-2022 走看看