shell脚本收藏

来源:互联网 发布:apache 没有访问权限 编辑:程序博客网 时间:2024/06/05 11:55

判断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/nullthen
       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


7
# VAR='hello world world!'
将第一个world字符串替换为WORLD:
# echo ${VAR/world/WORLD}
hello WORLD world!
将全部world字符串替换为WORLD:
# echo ${VAR//world/WORLD}
hello WORLD WORLD!
原创粉丝点击