Shell学习(7)建立函数库

建立库函数

以获取Ip地址为例
1.在一个文件夹下创建库文件mylib1.sh,该函数获取网卡ip地址

#! /bin/bash
#获取传个函数的参数(网卡)的Ip

_getIp()
{
        local tmp r ip
        [ -z "$1" ] && return
        FUNREPLY=()
        tmp=$(ifconfig $1 | grep 'inet addr')
        r=${tmp/inet addr:/}
        ip=${r/ Bcast*/}
        FUNREPLY=($ip)
}

 FUNREPLY是一个数组变量

注:在命名时,函数名称第一个字符使用_(下划线),通常这样子表示系统函数

2.在例外新建一个文件作为测试文件func_use_libs.sh

#! /bin/bash

#调用/home/libs/下的mylib1.sh库函数

MYLIB_DIR="/home/libs"
if [ ! -d "$MYLIB_DIR" ] ;then
        MYLIB_DIR='.'
fi

. $MYLIB_DIR/mylib1.sh   #该处调用库文件,也可以用source来代替.

_getIp eth0              #调用库文件函数

ip=${FUNREPLY[0]}
if [ -n "$ip" ] ;then
        echo "主机IP是:$ip"
else
        echo "找不到IP"
fi

 .和source的作用是一样的,表示使用库函数文件。

猜你喜欢

转载自zenoh.iteye.com/blog/1067629