判断crond进程是否运行
1
2
3
4
5
6
7
8
|
#!/bin/bash NAME=crond NUM=$( ps -ef | grep $NAME | grep -vc grep ) if [ $NUM - eq 1 ]; then echo "$NAME running." else echo "$NAME is not running!" fi |
检查主机是否存活
1
2
3
4
5
6
|
#!/bin/bash if ping -c 1 192.168.1.1 > /dev/null ; then echo "OK." else echo "NO!" fi |
检查多个主机是否存活
1
2
3
4
5
6
7
8
|
#!/bin/bash for ip in 192.168.1.{1..254}; do if ping -c 1 $ip > /dev/null ; then echo "$ip OK." else echo "$ip NO!" fi done |
根据Linux不同发行版使用不同的命令安装软件
1
2
3
4
5
6
7
8
9
|
#!/bin/bash if [ -e /etc/redhat-release ]; then yum install wget -y elif [ $( cat /etc/issue | cut -d ' ' -f1`) == "Ubuntu" ]; then apt-get install wget -y else Operating system does not support. exit fi |
检查多个域名是否可以访问
1
2
3
4
5
6
7
8
9
10
|
#!/bin/bash URL= "www.baidu.com www.sina.comwww.jd.com" for url in $URL; do HTTP_CODE=$(curl -o /dev/null -s -w %{http_code} http: // $url) if [ $HTTP_CODE - eq 200 -o $HTTP_CODE - eq 301 ]; then echo "$url OK." else echo "$url NO!" fi done |
获取字符串长度
1
2
3
4
5
|
# VAR='hello world!' # echo $VAR hello world!
# echo ${#VAR} 12 |
截取从offset个字符开始,向后length个字符。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
截取hello字符串: # VAR='hello world!' # echo ${VAR:0:5}
hello 截取wo字符: # echo ${VAR:6:2} wo 截取world!字符串: # echo ${VAR:5} world! 截取最后一个字符: # echo ${VAR:(-1)} ! 截取最后二个字符: # echo ${VAR:(-2)} d! 截取从倒数第3个字符后的2个字符: # echo ${VAR:(-3):2} ld |
替换字符串
格式:${parameter/pattern/string}
1
2
3
4
5
6
|
# VAR='hello world world!' 将第一个world字符串替换为WORLD: # echo ${VAR/world/WORLD} hello WORLD world! 将全部world字符串替换为WORLD: # echo ${VAR//world/WORLD} hello WORLD WORLD! |