shell编程100例(五)

21、使用 expect 工具自动交互密码远程其他主机安装 httpd 软件
#!/bin/bash

使用 expect 工具自动交互密码远程其他主机安装 httpd 软件

删除~/.ssh/known_hosts 后,ssh 远程任何主机都会询问是否确认要连接该主机

rm ‐rf ~/.ssh/known_hosts
expect <<EOF
spawn ssh 192.168.4.254

expect “yes/no” {send “yes\r”}

根据自己的实际情况将密码修改为真实的密码字串

expect “password” {send “密码\r”}
expect “#” {send “yum ‐y install httpd\r”}
expect “#” {send “exit\r”}
EOF
24、点名器脚本
#!/bin/bash

编写一个点名器脚本

该脚本,需要提前准备一个 user.txt 文件

该文件中需要包含所有姓名的信息,一行一个姓名,脚本每次随机显示一个姓名

while :
do
#统计 user 文件中有多少用户
line=cat user.txt |wc ‐l
num= [ R A N D O M s e d − n " [RANDOM%line+1] sed -n " [RANDOMsedn"{num}p" user.txt
sleep 0.2
clear
done
25、查看有多少远程的 IP 在连接本机
#!/bin/bash

查看有多少远程的 IP 在连接本机(不管是通过 ssh 还是 web 还是 ftp 都统计)

使用 netstat ‐atn 可以查看本机所有连接的状态,‐a 查看所有,

-t仅显示 tcp 连接的信息,‐n 数字格式显示

Local Address(第四列是本机的 IP 和端口信息)

Foreign Address(第五列是远程主机的 IP 和端口信息)

使用 awk 命令仅显示第 5 列数据,再显示第 1 列 IP 地址的信息

sort 可以按数字大小排序,最后使用 uniq 将多余重复的删除,并统计重复的次数

netstat -atn | awk ‘{print $5}’ | awk ‘{print $1}’ | sort -nr | uniq -c
26、对 100 以内的所有正整数相加求和(1+2+3+4…+100)
#!/bin/bash

对 100 以内的所有正整数相加求和(1+2+3+4…+100)

#seq 100 可以快速自动生成 100 个整数
sum=0
for i in seq 100
do
sum= [ s u m + i ] d o n e e c h o " 总 和 是 : [sum+i] done echo "总和是: [sum+i]doneecho":sum"
27、统计 13:30 到 14:30 所有访问 apache 服务器的请求有多少个
#!/bin/bash

统计 13:30 到 14:30 所有访问 apache 服务器的请求有多少个

awk 使用‐F 选项指定文件内容的分隔符是/或者:

条件判断$7:$8 大于等于 13:30,并且要求,$7:$8 小于等于 14:30

最后使用 wc ‐l 统计这样的数据有多少行,即多少个

awk -F “[ /:]” ‘$7":"$8>=“13:30” && $7":"$8<=“14:30”’ /var/log/httpd/access_log |wc -l

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值