shell一段脚本的一点经验(实时文件流读写)
1、脚本内容:将命令的结果实时写入文件,再从文件中搜索指定字符串,并返回含有该字符串的行数。
2、正确的脚本:
#!/bin/bash
#find the lost glabelingtopo and restart
#write by Jason.F
#2016.07.29#assert 12 processes
jps > /home/topo.log
declare -i jpsnum=0
#var=`find /home/ -type f -name "topo.log" | xargs grep "name"`
jpsnum=$(grep -c name /home/topo.log)
if [ $jpsnum -eq 12 ]; then
rm -rf /home/topo.log
exit 0
fi
3、错误的脚本:
#!/bin/bash
#find the lost glabelingtopo and restart
#write by Jason.F
#2016.07.29#assert 12 processes
jps > /home/topo.log &
declare -i jpsnum=0
#var=`find /home/ -type f -name "topo.log" | xargs grep "name"`
jpsnum=$(grep -c name /home/topo.log)
if [ $jpsnum -eq 12 ]; then
rm -rf /home/topo.log
exit 0
fi
4、经验:
两个脚本的区别在于jps > /home/topo.log ,错误的脚本加了&,导致错误的脚本执行中,jpsnum一直为零。猜测是因为加了&,变成后台异步将命令结果写入到文件,而当前任务从文件中搜索的实际是一份还未关闭写入的空文件,所以返回是零。去掉&,就是完成文件写入并保存文件后,才开始在文件中搜索,而错误脚本确实未保存文件就搜索,自然搜索不到内容。
shell一段脚本的一点经验(实时文件流读写)相关推荐
- 你不知道的shell用法和脚本,简单强大
本文摘自:码农增刊 Linus与Linux 在阅读以下部分前, 强烈建议读者打开一个 shell 实验,这些都不是 shell 教科书里的大路货哦:) 1. sudo !! 以root的身份执行上一条 ...
- 生产力工具:shell 与 Bash 脚本
生产力工具:shell 与 Bash 脚本 作者:吴甜甜 个人博客网站: wutiantian.github.io 微信公众号: 吴甜甜的博客 注意:本文只是我个人总结的学习笔记,不适合0基础人士观看 ...
- [MIT公开课(计算机教育中缺失的一课)]2.Shell工具与脚本
(该系列文章大部分内容来源于MIT课程笔记,加入了个人的理解.原笔记中没有的细节和其他的需要理解的内容,公开课地址:https://www.bilibili.com/video/BV14E411J7n ...
- Delphi使用server组件控制excel的一点经验
近来的项目报表全部做成excel文件,方便很多.可惜的是delphi中的server组件没有帮助,只能靠网上的资料和自己的摸索.经过一段时间,积累了一点经验,写出来希望对大家有所帮助.近来在网上搜索到 ...
- 使用Unity开发项目的一点经验
使用Unity开发项目的一点经验 我们主要使用3dsmax2010进行制作,输出FBX的类型导入Unity3D中. 默认情况下,3dsmax8可以和U3D软件直接融合,自动转换为FBX物体. 注意事项 ...
- 同济计算机博士要求低,上海同济考博的一点经验分享
本人参加了三年的同济大学考试,有失败的懊恼,也有成功的喜悦,一点经验分享出来,希望能对同学有所帮助. 1. 英语 1.1 从基础词汇复习来说,论坛里的前辈常说托福.GRE足以应对,我个人感觉同济词 ...
- 赚钱副业项目:steam搬砖的一点经验
进入正文 首先向大家说明一下,玩这个steam游戏道具搬砖项目,不必非得会玩游戏. 到目前操作这个项目2年时间了,那么接下来谈谈自己的一点经验. 关于选品.出售上架的13条核心经验: 建议新手入场的时 ...
- 学习网页设计的一点经验
随着公司影响力的壮大和产品的不断提升,相关的形象设计要逐步跟得上,需要逐渐提升,所以就招一个应届生美工,算是一块成长.应届生有拼劲.肯学,但也好高骛远,起点都差不多,如何培养美工就变得至关重要了.总结 ...
- 2021年大数据Kafka(三):❤️Kafka的集群搭建以及shell启动命令脚本编写❤️
全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka的集群搭建以及shell启动命令脚本编写 一.搭建 ...
最新文章
- mysql 临时列_如何在MySQL中列出临时表列?
- 算法-打印一个字符串的全部子序列,包括空字符串
- 【树型DP】加分二叉树
- 【NLP】文本预处理:删除单词停用词
- 过滤器用到了java哪个模式_设计模式之过滤器模式——Java语言描述
- 借助Apache Hadoop大规模扩展Apache Solr实时实时索引
- wincc历史数据库_WinCC系统的基本功能介绍——自动化工程师必备
- [css] 写出固定子容器在固定的父容器下水平垂直居中的布局
- jquery点击label触发2次的问题
- java用scanner类_java中关于scanner类的详细介绍
- 分布式文件系统FastDFS动态扩容
- cognos 10 oracle,Cognos10.2.1安装配置手册.docx
- Git出现 fatal: Authentication failed for 'http://xxx.xxx.xx:xxx.git/'解决方法
- LeetCode 915. 分割数组**(double,需要trp)
- 又一神作。Alibaba“M8级”架构师总结微服务与事件驱动架构启蒙手册
- 【回溯法】机器零件加工-最优加工顺序
- 寺库拟私有化:报价较发行价缩水75%,趣店为第一大股东
- Allergo导出Gerber文件
- squid代理服务器应用及它的几种代理模式
- 浅谈使用Python脚本爆破CRC32
热门文章
- 调用 标签打印软件_标签打印软件如何制作陶瓷标签模板
- Asp.Net Core 之 appsettings.json
- 2B.处女座与cf(C++)
- Vue 组件中 移动 this.$el 的注意事项
- 定时任务 Crontab命令 详解
- MySQL查询表内重复记录
- http://www.openwebx.org/docs/turbine.html
- iOS9临时性解决HTTP以及scheme跳转问题
- 实验 3 简单的分支与循环结构
- Symbian编程总结-图形图像篇-打开非Bitmap类型的图像