shell脚本实现读取一个文件中的某一列,并进行循环处理 1) for循环 #!bin/bash if [ ! -f "userlist.txt" ]; then echo "userlist.txt 不存在!" fi for userid in `(cat userlist.txt)` do a=$userid echo $a done #!bin/bash if [ ! -f userlist.txt ]; then echo "userlist.tx…
下以操作最好在虚拟机上操作:如 Docker 最方便了 1. 安装 rpmbuild yum -y install rpmbuild  rpmdevtools -y 2. 生成打包路径 使用 rpmdev-setuptree ,会自动在用户家目录生成一个 rpmbuild 的文件夹,作为工作路径 cd rpmbuild/SPECS 路径,创建 filename.spec 文件(打包 shell 脚本示例),详细含义查阅相关文档 Name: name Version: Release: %{?di…
1.日志文件列表 比如:/data1/logs/2019/08/15/ 10.1.1.1.log.gz 10.1.1.2.log.gz 2.统计日志中的某关键字shell脚本 zcat *.gz|grep 关键字 |grep -oP "deviceid=[^=]+"|uniq|sort -u > /tmp/20190815.log date 格式化出年月等信息,拼接成路径 wc -l /tmp/20190815.log , 获取到行数 php /xxxxx/sendmail.ph…
本文简要描述了在ubuntu系统下无法使用source命令的原因,及对应的两种解决方法,并在附录中引用一篇文章来详细解释source命令的用法 问题: 由于在交叉编译时,需要在当前shell内执行source命令来临时指定系统的编译环境为嵌入式环境.故希望通过编写一个shell脚本来自动执行编译命令,然而在脚本中通过source命令指定编译环境时,系统会提示找不到命令 原因: source命令是bash shell的内置命令,而ubuntu 默认用的是dash(基本POSIX标准的命令解释器),…
分享一个shell脚本,实现kill掉mysql中所有的sleep状态的client线程,有需要的朋友,可以参考研究下. 文件名称:killsleep.sh. #It is used to kill processlist of mysql sleep#!/bin/shwhile :do  n=`mysqladmin processlist -uadmin -pxxxxx|grep -i sleep |wc -l`  date=`date +%Y%m%d\[%H:%M:%S]`  echo $n…
本文为博主原创,转载请注明出处: 最近在进行压测,为了观察并定位服务性能的瓶颈,所以在代码中很多地方加了执行耗时的日志,但这种方式只能观察,却在压测的时候,不太能准确的把握代码中某些方法的性能,所以想到写一个脚本,用来统计所加的日志中的平均耗时,最大耗时,最小耗时等等,这需要保证每行日志都是唯一的,代码中添加日志的方式如下: 为了便于验证,写了一个简单的日志文件 console.log ,内容如下: [root@iZ2ze10u5v2hhw1ezi52suZ shell]# cat consol…
问题出现的场景大概就是 1  cron调用一个python脚本 2  python脚本中调用一个shell脚本(对日志分析)获取shell输出然后发送邮件 类似一个监控任务. 直接运行python脚本没有问题,可是写在cron中之后.shell脚本中的相对路径就找不到了,总是提示无法找到某些文件 后来解决的问题就是使用log文件的绝对路径,执行就正常了. google了一些,发现非常多人也遇到过类似的问题,可能和cron的机制有关系. 大部分人的问题都是由于环境变量造成的.由于cron是一个独立…
来源:http://sexywp.com/bash-how-to-get-the-basepath-of-current-running-script.htm 如题,一般我们写Shell脚本的时候,都倾向使用绝对路径,这样无论脚本在什么目录执行,都应该起到相同的效果,但是有些时候,我们设计一个软件包中的工具脚本,可能使用相对路径更加灵活一点,因为你不知道用户会在哪个目录执行你的程序,就有了本文的题目. 当然,更简单的办法,是给一个配置文件,要使用,必须先配置,告知脚本自己所在的根目录. 此外还有…
今天碰到一个奇怪的问题,编写好的shell脚本再linux上执行一直提示找不到文件或目录,后来想想是文本编辑器的问题,记录下来!!! 1.查看当前文本格式 Notepad++界面中,在右下角有文件格式的描述:“Dos\Windows或UNIX或Mac”. 2.文件转换方法 但是如果每写一个shell文件都需要这样转换可能会很麻烦,那有没有一劳永逸的办法呢?答案是有的,我们可以设置Notepad++默认新建的文件都是shell格式,具体操作如下: 打开在notepad++,设置,首选项 注意点:…
在windows下保存了一个脚本文件,用ssh上传到centos,添加权限执行nginx提示没有那个文件或目录.shell脚本放到/etc/init.d/目录下,再执行/etc/init.d/nginx,提示多了这句/bin/bash^M: bad interpreter.网上找了资料才知道如果这个脚本在Windows下编辑过,就有可能被转换成Windows下的dos文本格式了,这样的格式每一行的末尾都是以\r\n来标识,它的ASCII码分别是0x0D,0x0A.如果你将这个脚本文件直接放到Li…