panda@panda-pc:~/Code/Shell$ cat mylib.sh
#! /bin/bash
#建立函数库的一个例子
_getip()
{
local tmp r ip
[ -z "$1" ] && return
FUNREPLY=()
tmp=$(ifconfig $1 | grep 'inet addr')
r=${tmp/inet addr:/}
ip=${r/ Bcast*/}
FUNREPLY=($ip)
}
对于_getip() 为了避免与其他函数同名,函数名称第一个字符使用下划线,通常这代表是系统用的函数或变量名称。由于函数库具有系统专用的意味,因此,就沿用这项规则
panda@panda-pc:~/Code/Shell$ cat mylib2.sh
#! /bin/bash
#测试建立好的函数库
#Auter:panda
#Time:2011-08-11
#. ~/Code/Shell/mylib.sh
source ~/Code/Shell/mylib.sh
_getip eth0
ip=${FUNREPLY[0]}
if [ -n "$ip" ] ; then
echo "主机的IP是: $ip"
else
echo "找不到IP"
fi
调用建立好的函数库,语法如下:
. 路径/函数库文件名
或者
source 路径/函数库文件名
两种用法作用一样,应该没有本质的差别
运行结果
panda@panda-pc:~/Code/Shell$ ./mylib2.sh
主机的IP是: 192.168.3.145
阅读(835) | 评论(0) | 转发(0) |