首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >shell基础语法以及监控进程不存在重启

shell基础语法以及监控进程不存在重启

作者头像
Java架构师必看
发布2021-03-22 15:42:57
发布2021-03-22 15:42:57
9520
举报
文章被收录于专栏:Java架构师必看Java架构师必看

转码

# dos2unix ./test.sh

权限

# chmod a+x ./test.sh

语法

变量

var="111"

echo $var

echo ${var}

运算

no1=4;

no2=5;

let result=no1+no2

echo $result;

自增自减少

let no++  

let no--

[]和let类似

result=$[ no1 + no2 ]

result=[ no1 + 5 ]

也可以使用(()),但使用(())时,变量名前需要加上$

result=(( no1 + 5 ))

expr也可以用于基本算术操作

result=`expr 3+4`

result=(expr no1 + 5)

以上不支持浮点

bc可以浮点

echo "4*0.56" |bc  输出2.24

文件描述符

0 1 2 标准输入 输出 标准错误

重定向到文本

echo "123" > temp.txt

追加

echo "123" >> temp.txt

查看文件内容

cat temp.txt

cat 1.txt  2.txt  多个内容

ls + 

非法参数输出错误信息stderr

命令错误并退回 返回非0的退出状态

成功完成返回数字0

退出状态可以从特殊变量?获得,在命令执行完后立刻运行echo ?就可以打印退出状态

ls + >out.txt   错误信息不能输出到文本

ls + 2>out.txt   错误信息能输出到文本

stderr和stdout各自

cmd 2>stderr.txt  1>stdout.txt

stderr转换为stdout

cmd 2>&1 out.txt

或者

cmd &> out.txt

stderr重定向到

/dev/null

读取日期

date

函数定义

function fname()

{

return 0;返回值

}

函数调用

$fname;

$fname arg1 arg2;传参数

一定要注意[]空格

代码语言:javascript
复制
#! /bin/sh


a=4;
b=5;


if [ "$a" = "$b" ]; then
echo "1111"
#####
代码语言:javascript
复制
#! /bin/sh


a=4;
b=5;


if [  "$a" -eq "$b"  ]
then
echo "yyyyyyyyyy"
else
echo "nnnnn"
fi
#####
代码语言:javascript
复制
#! /bin/sh
ps aux|grep  redis-stat | grep -v grep| wc -l
a=11
b=11
if [ $a -eq $b ]
then
echo "start process....."
else
echo "runing....."
fi
#####

注意<之类需要(())

下面这个监控redis进程不存在就重启

代码语言:javascript
复制
#! /bin/sh


p="redis-server"
proc_num()
{
    num=`ps aux|grep  $p | grep -v grep| wc -l`
    return $num
}


proc_num
n=$?


if (( "$n" < 1 ))
then
echo $n
echo "start redis-server process....."
else
echo $n
echo "redis-server runing ok."
fi
#####

crontab -e每分钟监控一次

代码语言:javascript
复制
*/1 * * * *  /redis.sh

参考:《Linux Shell脚本攻略(第2版)》

Shell中字符串、数值的比较

linux 进程监控和自动重启的简单实现

本文由来源 21aspnet,由 javajgs_com 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档