随笔分类 - shell
摘要:在一个脚本中如果想在运行时叠加启动参数可以这样写 #!/bin/bash main --port=12345 --tag=1 "$@" 这样在运行脚本时可以通过追加参数的方式传入启动命令中 参数处理说明 $# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数。如"$*"用「"」括起
阅读全文
摘要:假如有脚本 first.sh: #!/bin/bash # #@file:first.sh # echo 'your are in first file' 如何在其它Shell脚本中调用first.sh呢?主要有三种方法:source、点号以及sh命令。 1.source #!/bin/bash #
阅读全文
摘要:#!/bin/bash #判断进程是否存在,如果不存在就启动它 PIDS=`ps aux |grep myprocess |grep -v grep | awk '{print $2}'` if [ "$PIDS" != "" ]; then echo "myprocess is runing!"
阅读全文
摘要:遇到了, 折腾了一会儿, 所以记一下: 错误1: #!/bin/bash a="hello world" b=$a | awk '{print $2}' echo $b 错误2: #!/bin/bash a="hello world" b=echo $a | awk '{print $2}' ech
阅读全文
摘要:1、convert "rgba.png" -alpha extract "result.png"提取alpha通道2、查看图片信息 convert some_pic.png -verbose info: Image: rgb.png Format: PNG (Portable Network Gra
阅读全文
摘要:当在shell脚本中,需要先用grep获取行号,再利用行号插入数据时,可以这样使用 insert_str="12312" num=`grep -rn $str ${file}|awk -F ':' '{print $1}'` sed -i $num"i"$insert_str ${file} 请注意
阅读全文
摘要:介绍下Shell中的${}、##和%%使用范例,本文给出了不同情况下得到的结果。假设定义了一个变量为:代码如下:file=/dir1/dir2/dir3/my.file.txt可以用${ }分别替换得到不同的值:${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/m
阅读全文
摘要:截取文件名和后缀 编写Shell脚本的过程中,经常会和文件名和文件路径打交道。如果用户输入了一个文件的全名(可能包含绝对路径和文件后缀),如何得到文件的路径名,文件名,文件后缀这些信息呢。Shell脚本拥有强大的字符串处理能力,如果把文件名当做字符串,我们不难使用cut或sed这样的工具得到我们想要
阅读全文
摘要:转载自:http://www.jb51.net/article/124047.htm 示例1:去除特定的字符 目标:将 2017-01-01.jpg、2018-01-01.jpg 改为 20170101.jpg、20180101.jpg 方法:将所有 - 替换为空 for file in `ls |
阅读全文
摘要:本节内容:awk统计命令 1、求和代码示例: cat data|awk '{sum+=$1} END {print "Sum = ", sum}' 2、求平均代码示例: cat data|awk '{sum+=$1} END {print "Average = ", sum/NR}' 3、求最大值代
阅读全文
摘要:systemd-run --scope -p MemoryLimit=4G \ -p "BlockIOReadBandwidth=/dev/sdb1 150M" \ -p "BlockIOWriteBandwidth=/dev/sdb1 125M" \ time taskset -c 0-5 \
阅读全文
摘要:定位某个进程的网络故障时经常需要用到的一个功能就是查找所有连接的信息。通常查找某个端口的连接信息使用 ss 或者 netstat 可以轻松拿到,如果是主动与别的机器建立的连接信息则可以通过 lsof 命令来获得。 例如我想要查看进程 frps 当前的所有连接信息,先获得进程的 pid: 结果为: 可
阅读全文
摘要:#!/bin/bash self_pid=$$ echo $self_pid count=`ps axu |grep -E ${1}|grep -E ${0} |grep -v grep |grep -v ${self_pid}|wc -l` echo $count if [ $count -ne
阅读全文
摘要:实现原理主要是使用linux提供的crontab机制,定时查询服务器进程是否存在,如果宕机则执行我们预设的重启脚本。 首先我们要向crontab加入一个新任务 我这里只是简单的设置每分钟调用一个shell脚本monitor.sh。这里可以配置的更强大,大家可以去搜索一下crontab的教程,网上有很
阅读全文
摘要:echo "`date "+%Y-%m-%d %H:%M:%S"` | [logadm -on@`date "+%Y%m%d%H%M%S"`] " 2013-09-30 11:42:48 | [logadm -on@20130930114248]
阅读全文
摘要:Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。 expr 是一款表达式计算工具,使用它能完成表达式的求值操作。 例如
阅读全文
摘要:我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… 实例 以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名: 为脚本设置可执行权限,并执行脚本,输出结果如下所示
阅读全文