zoukankan      html  css  js  c++  java
  • shell学习——关于shell函数库的使用

    shell函数库的理解:

      个人理解,shell函数库实质为一个脚本,脚本内包含了多个函数(函数具有普遍适用性)。

    shell函数库的调用:

      通过  . /path/lib/file.lib 或者 source /path/lib/file.lib的方式加载,然后正常函数方式调用。

    示例如下:

      创建函数库文件:libMyfunctions.sh

    #!/bin/bash
    
    #创建一个函数库文件,用来打印$PATH的路径
    
    showPATH(){
            oldifs="$IFS"
            IFS=:
            for dir in $PATH 
            do
                    echo $dir
            done
    
            IFS="$oldifs"
    }
    #这里可以增加N个其他函数
    

      调用函数库文件:

    #!/bin/bash
    #方法1:
    #. /home/wyf349/user/lib/libMyfunctions.sh     
    #通过 . 加载函数库文件,注意 . 和路径之间存在一个空格
    #方法2: source ../lib/libMyfunctions.sh showPATH

      需要注意的是,函数库的加载,其实是在调用的脚本中执行了这个文件,所以在函数库文件中不能包含exit的语句,否则将导致当前实例退出。

    使用Ubuntu的时候,可能存在如下提示:

    wyf349@ubuntu:~/user/study_shell$ sh lib_stduy_test1.sh*
    lib_stduy_test1.sh: 7: lib_stduy_test1.sh: source: not found
    lib_stduy_test1.sh: 9: lib_stduy_test1.sh: add: not found
    

      原因为:Ubuntu默认的sh解析器为dash,需要调整为bash

    ls -l /bin/sh
    #如果输出为dash
    sudo dpkg-reconfigure dash 
    #在弹出的选择框中,选择no即可
    

      

  • 相关阅读:
    02.创建型————工厂方法模式
    01.创建型————简单工厂模式
    HBase JavaAPI操作示例
    MongoDB
    大数据第三天
    Zookeeper操作
    MR操作
    HDFS操作
    【GISER&&Painter】svg的那些事
    读法克鸡丝博文《技术,产品,团队》有感
  • 原文地址:https://www.cnblogs.com/wyf-349/p/11464975.html
Copyright © 2011-2022 走看看