当前位置: 首页 > news >正文

shell脚本专家指南--库文件

库文件

一:被反复使用的函数和例程写到库函数文件中。

#!/bin/echo Waring: this library should be sourced!
ostype()
{
osname=`uname -s`
OSTYPE=UNKNOW
case $osname in
"Linux") OSTYPE="LINUX"
;;
esac
return 0
}
ostype
echo "system is $OSTYPE"

第一行必须以source命令执行该库文件,将变量OSTYPE的值载入到环境中
避免直接执行库文件
例如:source ./test.sh
优秀的shell库实例:Gentoo Linux
/etc/inti.d/funcitons.sh

二:几个函数:
例子1.
传入任一数字,判断数字奇偶性
evenodd()
{
LAST_DIGIT=`echo $1 |sed 's//(.*/)/(./)$//2/'`
case $LAST_DIGIT in
0|2|4|6|8)
echo "o"
return 1
;;
*)
echo "j"
return 0
;;
esac
}
evenodd 123
例子2.
判断远程系统是否运行,是否接入网络。
isalive()
{
NODE=$1
ping -c 3 $NODE >/dev/null 2>&1
if [ $? -eq 0 ]
then
echo "a"
return 1
else
echo "ua"
return 0
fi
}
isalive 10.192.39.11
三:库函数的调用
1.在shell文件中添加
source std_lib
载入库函数
2.点句法(source 换成 .)
. std_lib



相关文章:

  • 大数据系列之数据仓库Hive安装
  • Linux系统下,启动Tomcat有时报Address already in use
  • 间谍网络(tarjan缩点)
  • 测试工程师的明天在哪里
  • 【php技术】PHP错误类型和屏蔽方法
  • JAVA进程占用CPU分析
  • Android - Activity生命周期
  • maven scope使用和理解
  • JavaScript数组
  • freemarker自定义标签
  • [转]使用JQuery读取XML文件数据
  • android安装
  • jQuery 读xml并search
  • IO模型介绍 以及同步异步阻塞非阻塞的区别
  • IDEA的查询引用、调用关系图的功能(转)
  • 【知识碎片】第三方登录弹窗效果
  • 2017 前端面试准备 - 收藏集 - 掘金
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • golang中接口赋值与方法集
  • HTML-表单
  • Java,console输出实时的转向GUI textbox
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • Java比较器对数组,集合排序
  • Java方法详解
  • JDK 6和JDK 7中的substring()方法
  • Laravel5.4 Queues队列学习
  • MySQL几个简单SQL的优化
  • node 版本过低
  • Python socket服务器端、客户端传送信息
  • Redis 中的布隆过滤器
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 前端js -- this指向总结。
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • Mac 上flink的安装与启动
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (二)fiber的基本认识
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (算法)N皇后问题
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET CF命令行调试器MDbg入门(一)
  • .NET Micro Framework初体验
  • .NET上SQLite的连接
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析
  • @取消转义
  • [ 手记 ] 关于tomcat开机启动设置问题
  • [20190113]四校联考
  • [8481302]博弈论 斯坦福game theory stanford week 1