日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

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

發布時間:2023/11/27 生活经验 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell基础语法以及监控进程不存在重启 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉碼

# 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;傳參數


一定要注意[]空格
#! /bin/sha=4;
b=5;if [ "$a" = "$b" ]; then
echo "1111"
#####


#! /bin/sha=4;
b=5;if [  "$a" -eq "$b"  ]
then
echo "yyyyyyyyyy"
else
echo "nnnnn"
fi
#####


#! /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進程不存在就重啟

#! /bin/shp="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每分鐘監控一次

*/1 * * * *  /redis.sh



參考:《Linux Shell腳本攻略(第2版)》

Shell中字符串、數值的比較

linux 進程監控和自動重啟的簡單實現

總結

以上是生活随笔為你收集整理的shell基础语法以及监控进程不存在重启的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。