建立库函数
以获取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的作用是一样的,表示使用库函数文件。