Shell脚本笔记
1.列出当前目录下所有文件夹名称
#!/bin/bash
#通过pwd命令获取当前路径并存入pwddir变量 pwddir=`pwd`
#ls -l列出pwddir下所有文件信息即数据,再通过grep利用正则表达式匹配每行以d开头的数据,最后使用awk输出每行的最后一列作为一个数组,for循环对数组进行遍历输出 for i in `ls -l $pwddir | grep ^d | awk '{print $NF}'` do echo $i done
2.shell脚本监控web服务状态
web服务通常有一个服务地址,比如https://baidu.com,在linux操作系统中,可以使用curl访问地址通过回显的请求头状态码(如404,200等)来判断服务是否状态.
#!/bin/bash
#脚本启动时将服务地址作为参数,使用curl -I打印出访问的请求头信息,通过grep查询http状态码所在行使用awk打印出状态码 rescode=`curl --connect-timeout 3 -I $1 2>/dev/null | grep 'HTTP' | awk '{print $2}'` case $rescode in 200) echo 【${rescode}】: $1访问正常 ;; 404) echo 【${rescode}】: 访问异常,请检查$1是否正确 ;; *) echo 【${redcode}】: 访问异常,请检查$1 esac