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文件的末尾,使用  . 库函数路径   引入即可。

  • 相关阅读:
    团队项目-第一阶段冲刺7
    团队项目-第一阶段冲刺6
    Spring Boot 揭秘与实战(七) 实用技术篇
    Spring Boot 揭秘与实战(七) 实用技术篇
    Spring Boot 揭秘与实战(六) 消息队列篇
    Spring Boot 揭秘与实战(五) 服务器篇
    Spring Boot 揭秘与实战(五) 服务器篇
    Spring Boot 揭秘与实战(五) 服务器篇
    Spring Boot 揭秘与实战(五) 服务器篇
    Spring Boot 揭秘与实战(四) 配置文件篇
  • 原文地址:https://www.cnblogs.com/ygj0930/p/8184277.html
Copyright © 2011-2022 走看看