shell脚本应用《一》使用技巧

  

第一,判断字符串是否是整数

  
  <代码>

[“回声”123“| sed - r ' s # [0 - 9] # # g>      

第二,监控db服务是否正常(多种方法)

  
  

# !/bin/sh
如果(“<代码> netstat lnt | 3306 | grep awk - f“[:] +”“]“{打印5美元}”“=?306“)
#如果[<代码> lsof - tcp: 3306 | wc - l gt 0]
#如果[<代码> p ef | grep mysql | grep - v grep | wc - l gt 0]
#如果[<代码> nc - w 192.168.1.189 3306,和gt;/dev/null,,回音好| grep好| wc - l gt 0]
#如果[<代码> nmap 192.168.1.189 - p 3306 2, gt;/dev/null | grep开放| wc - l gt 0]
#如果[<代码>党卫军-lntup | grep mysqld | wc - l gt 0]

     

第三,监控web服务是否正常

  
  

# !/bin/sh
如果(“<代码> netstat lnt | 80 | grep awk - f“[:] +”“]“{打印5美元}”“=?0“)
#如果[<代码> lsof - tcp: 80 | wc - l gt 0]
#如果[<代码> p ef | grep httpd | grep - v grep | wc - l gt 0]
#如果[<代码>党卫军-lntup | grep httpd | wc - l gt 0]

  

wget - t 10 - q -蜘蛛http://192.168.0.101祝辞,/dev/null
curl - s http://192.168.0.10在/dev/null

  

如果[$ ?情商0]
回声“httpd running"其他

回声“httpd不是running"
/app/apache/bin/apachect1开始
fi

     

命令使用说明:

  
  

旋度命令旋度是一个利用URL规则在命令行下工作的文件传输工具,命令行访问网站
参数
- s/聊惨裟J健>褪遣幌允敬砦蠛徒?/p>   

wget命令inux wget是一个下载文件的工具,它用在命令行下
- t,超时=秒设置超时时间默认是秒
- q,安静不显示输出信息
——蜘蛛测试是否能正常访问
- t,——尝试=数量设定最大尝试链接次数(0表示无限制)。

     

第四,${}参数:+表达式用法及说明

  
  

说明:如果参数有值且不为空,则使用表达式的值
实例:写shell脚本定义函数设置环境变量路径
预谋(){
[- d“2美元,),,eval 1美元=\“$ 2 \ ${1美元:+‘:’\ $ $ 1}\“;,,出口1美元
}
执行预先考虑路径/opt/myapp/bin

     

说明:   

  

1,执行预先考虑路径/opt/myapp/bin
函数名第一参数1美元第二参数

2美元   

2,程序的执行过程
[- d“2美元,]判断第二参数2美元是否为目录如果为真则执行eval 1美元=\“$ 2 \ ${1美元:+‘:’\ $ $ 1}\“
,,第一条件成立执行下一个

  

eval 1美元=\“$ 2 \ ${1美元:+‘:’\ $ $ 1}
eval命令是重新运算求出参数的内容
是将第一的参数所制定值的变量设置成第二个参数的值加上“:“;(路径分隔符;随后再跟上首个参数的原始值
\是转义特殊字符如“$”
{1美元:+‘:’\ $ $ 1}判断1美元为空则使用\ $ $ 1

  

传参后的结果
eval
路径=?myapp/bin/opt/$ {} $ PATH路径:+‘:’“


路径      

第五,把列变成指定行

  
  

(root@localhost脚本)#猫b。日志
1
2
3
4
5
6
7
8
9
10
(root@localhost脚本)# xargs陶瓷& lt; b。日志
1 2 3 4
5 6 7 8 9 10

(root@localhost脚本)#

     

第六、输入是否为整数判断

  
  

is_NUM () {
expr 1 + 1美元,在/dev/null
如果[$ ?- ne 0——“$ 1”;!=?”;),然后
返回1
fi
返回0
}

     

第七,壳牌调试技巧

  
  

使用dos2unix命令处理来自Windows下开发的脚步
sh - x脚步名称
- x将执行的脚步内容及输出显示到屏幕然后执行,如果有错误,也会有提示

     

第八,得到字符长度的方法

  
  

$ {#}
${一}| wc - l
expr长度“${一}“

     

第九,bash循环打印下面这句话中字母数不大6的于单词。
我是alibbb老师欢迎卑劣的培训班。

  

脚本1   

  

# !/bin/bash
#
#数组=(我是alibbb老师欢迎卑劣的培训类)
#字在${阵列[*]}
的单词我是alibbb老师欢迎卑劣的培训班

如果[${#字}勒6];然后
echo - n“美元词“
fi

完成      

脚本2   

  

# !数组/bin/bash
=(我是alibbb老师欢迎卑劣的培训类)

shell脚本应用《一》使用技巧