Chinaunix首页 | 论坛 | 博客
  • 博客访问: 476464
  • 博文数量: 93
  • 博客积分: 5006
  • 博客等级: 上校
  • 技术积分: 1002
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-30 13:58
文章分类

全部博文(93)

文章存档

2012年(2)

2011年(68)

2010年(23)

分类: Python/Ruby

2011-08-11 19:39:00

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

阅读(845) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~