shell脚本大集锦

剪刀石头布人机对战
代码如下:

vim r.sh
#!/bin/bash
echo -e "\e[35m人机对战开始\e[0m"
read -p "剪刀:0 石头:1 步:2  请出拳(选择数字0-2): " num
com=`expr $RANDOM % 3`
case $num in
[0])
        if [ $com -eq 0 ];then
                echo "平局"
                elif [  $com -eq 2 ];then
                        echo "你输了"
                elif [  $com -eq 1 ];then
                        echo "你赢了"
        fi
;;
[1])
        if [ $com -eq 0 ];then
                echo "你赢了"
                elif [  $com -eq 2 ];then
                        echo "平局"
                elif [  $com -eq 1 ];then
                        echo "你输了"

        fi
;;
[2])
        if [ $com -eq 0 ];then
                echo "你输了"
                elif [  $com -eq 2 ];then
                        echo "你赢了"
                elif [  $com -eq 1 ];then
                        echo "平局"
        fi
;;
esac

输入一个月份,判断是一年中的第几季度
代码如下:

vim yue.sh
#!/bin/bash
read -p "请输入月份[数字1-12]:" m
case $m in
[1-3])
echo "第一季度";;
[4-6])
echo "第二季度";;
[7-9])
echo "第三季度";;
[10-12])
echo "第四季度";;
*)
echo "输入错误";;
esac

输出1-100
代码如下:

#!bin/bash
for ((i=1;i<=100;i++))
do
echo $i
done

输出1-100内偶数
代码如下:

#!bin/bash
for i in {1..100}
do
if [[ $i%2 -eq 0 ]];then
echo $i
fi
done

打印出100内的偶数的和
代码如下:

#!bin/bash
sum=0
for i in {1..100}
do
if [[ $i%2 -eq 0 ]];then
let sum=$i+$sum
fi
done
echo $sum

创建ip段,验证是否可以ping通
在这里插入图片描述


ping命令测试网段内主机,提示出可以ping通的和不可以ping通,并分别统计
#!/bin/bash
upnum=0;
dnum=0;
for i in {1…254}
do
ping -c2 192.168.1.$i
if [ ? − e q 0 ] ; t h e n e c h o " 192.168.1. ? -eq 0 ]; then echo "192.168.1. ?eq0];thenecho"192.168.1.i is up"
let upnum++
else
echo “192.168.1. i i s d o w n " l e t d n u m + + f i d o n e e c h o " 通 信 成 功 的 i p 数 量 共 i is down" let dnum++ fi done echo "通信成功的ip数量共 iisdown"letdnum++fidoneecho"ipupnum个”
echo “通信失败的ip数量共$dnum个”


根据以下命令,获取192.168.1.1到192.168.1.5 五台机器得健康运行时长,并输出,注意格式
[root@localhost ~]# uptime
14:29:36 up 4:46, 2 users, load average: 0.00, 0.01, 0.05
14:29:37 up 1day, 4:46 2 users, load average: 0.00, 0.01, 0.05

ip 健康运行时长
192.168.1.1 4个小时46分钟
192.168.1.2 4个小时47分钟
192.168.1.3 4个小时49分钟
192.168.1.4 4个小时49分钟
192.168.1.5 4个小时49分钟

#!/bin/bash
#定义健康运行时长指标
runNamex=""
varrunning=`cat /var/log/running.log`
#获取健康运行时长
function runningTime(){
	 running=`ssh root@$1 uptime | awk -F, '{print $1}' |awk 'BEGIN{FS="up"}{print $2}' `
	 echo  "$running" | grep day 
	 if [ $? = 0 ];then
	 running=`ssh root@$1 uptime | awk -F, '{print $2}' ` 
	 fi
	 pp=`echo "$running" | awk -F: '{print $1"小时"$2"分钟"}'`
   runNamex="${pp}:$1"" "$runNamex 
   echo "时间:$2   IP为:$1的服务器成功获取健康运行时长RUNNINGTIME值"
	}
	
	
	function Checks(){
	echo -e "\e[1;32m======>>>开始采集。。。。。\e[0m"
for ((ipname=0;ipname<$arrlength;ipname++)) 
 do
      Datestart=`date "+%Y-%m-%d %H:%M:%S"`
      runningTime ${arrList[$ipname]} $Datestart
      echo  "$runNamex" > /var/log/running.log
 	 done
 echo -e "\e[1;32m======>>>采集结束。。。。。\e[0m"
 }
 
 function vrm(){	
		 for j in $varrunning
		 	do
		 	  
		 		iname=`echo "$j" | awk -F: '{print $2}'`
		    runtime=`echo "$j" | awk -F: '{print $1}'`
		 	   echo -e  " $pl\t \e[1;5;32m*\e[0m\t\e[1;29m$iname\t$runtime\e[0m"
		 	done
		}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值