zoukankan      html  css  js  c++  java
  • shell--文件包含

    Shell 文件包含
    和其他语言一样,Shell 也可以包含外部脚本。这样可以很方便的封装一些公用的代码作为一个独立的文件。

    Shell 文件包含的语法格式如下:

    . filename   # 注意点号(.)和文件名中间有一空格
    
    或
    
    source filename
    

    实例
    创建两个 shell 脚本文件。

    test1.sh 代码如下:

    #!/bin/bash
    # author:W3Cschool教程
    # url:www.w3cschool.cn
    
    url="http://www.w3cschool.cn"
    

    test2.sh 代码如下:

    #!/bin/bash
    # author:W3Cschool教程
    # url:www.w3cschool.cn
    
    #使用 . 号来引用test1.sh 文件
    . ./test1.sh
    
    # 或者使用以下包含文件代码
    # source ./test1.sh
    
    echo "W3Cschool教程官网地址:$url"
    

    接下来,我们为 test2.sh 添加可执行权限并执行:

    $ chmod +x test2.sh 
    $ ./test2.sh 
    W3Cschool教程官网地址:http://www.w3cschool.cn
    

    注:被包含的文件 test1.sh 不需要可执行权限。

    练习

    第一个文件:b.sh

    #!/bin/bash
    funWithParam(){
        echo "第一个参数为 $1 !"
        echo "第二个参数为 $2 !"
        echo "第十个参数为 $10 !"
        echo "第十个参数为 ${10} !"
        echo "第十一个参数为 ${11} !"
        echo "参数总数有 $# 个!"
        echo "作为一个字符串输出所有参数 $* !"
    }
    funWithParam 1 2 3 4 5 6 7 8 9 34 73
    

    第二个文件:e.sh

    #!/bin/bash
    #使用 . 号来引用test1.sh 文件
    . ./b.sh
    
    # 或者使用以下包含文件代码
    # source ./test1.sh
    demoFun(){
        echo "这是我的第一个 shell 函数!"
    }
    echo "-----函数开始执行-----"
    demoFun
    funWithParam 1 2 3 4 5 6 7 8 9 34 73
    echo "-----函数执行完毕-----"
    


    注意:导入后运行e.sh 其中b.sh的函数运行了2次,说明某种程度上导入文件 ,相当于把原文件里代码粘贴到新文件里。
    当删除b.sh中的调用时,输出如下

  • 相关阅读:
    hutool 解析 Excel
    上传文件
    Cannot construct instance of `com.**` (although at least one Creator exists)
    Java8之Optional
    java8之Stream
    java8之Lambda
    springboot+mybatis事务管理
    queryWrapper in like
    Java 组装 Tree
    JWT
  • 原文地址:https://www.cnblogs.com/HK769405/p/13956724.html
Copyright © 2011-2022 走看看