shell脚本汇总

shell脚本汇总,第1张

shell脚本汇总

文章目录
  • shell脚本汇总
    • 1.for求和
    • 2.搭建本地yum源
    • 3.提取IP地址
    • 4.查看机器基本信息
    • 5.判断当前centos系统版本
    • 6.磁盘分区
    • 7.DNS正向解析
    • 8.石头剪刀布游戏
    • 9.ping IP

shell脚本汇总 1.for求和
#!/bin/bash
sum=0
for i in {1..100}
do
sum=$[i+sum]
done
echo "求和结果是$sum"

2.搭建本地yum源
[root@localhost ~]# vim yum.sh
#!/bin/bash
mkdir /111
mount /dev/sr0 /111 &>/dev/null#重定向

cd /etc/yum.repos.d
mkdir bak
mv *.repo bak

echo "[abc]
name=centos7
baseurl=file:///111
gpgcheck=0">abc.repo 
#将内容导入abc.repo

yum clean all &>/dev/null
#清理缓存,d出信息导入空
yum install httpd -y
#安装一个httpd测试
3.提取IP地址
#提取自己机器的IP地址
[root@localhost ~]# ifconfig ens33|awk /netmask/'{print}'
4.查看机器基本信息
#!/bin/bash
name=`hostname`
ip=`ifconfig ens33|awk /netmask/'{print }'`
os=`cat /etc/redhat-release`
kernel=`uname -r`
cpu=`lscpu|grep 型号名称:|tr -s " "|cut -d":" -f2`
mem=`free -hm |awk /Mem/'{print }'`
space=`lsblk |awk /disk/'{print }'|awk -F G '{print }'`

for i in $space
do let sum=$[$sum+$i]
done

echo "主机名:$name" 
echo "IP地址:$ip" 
echo "系统版本:$os" 
echo "内核版本:$kernel " 
echo "CPU名称:$cpu" 
echo "内存总大小:$mem " 
echo "硬盘总大小:${sum}G "
5.判断当前centos系统版本
#!/bin/bash
#判断用户centos版本
echo "$menu"
if grep -i -q "centos linux 6" /etc/os-release
then
echo "此系统是centos 6"
elif grep -i -q "centos linux 7" /etc/os-release
then
echo "此系统是centos 7"
else
echo "此系统是centos 8"
fi
6.磁盘分区
#!/bin/bash

fdisk /dev/sdb << EOF
n
p
1

+10G

w
EOF

mkdir /data
echo "/dev/sdb1 /data xfs defaults 0 0" >> /etc/fstab
mkfs.xfs /dev/sdb1
mount -a

7.DNS正向解析
#!/bin/bash

#检测YUM源仓库是否挂载
df | grep "sr0"
if [ $? -eq 0 ]
        then
        yum -y install bind &> /dev/null
        #若已挂载则直接安装bind软件包
else
        mount /dev/cdrom /mnt &> /dev/null
        yum -y install bind &> /dev/null
        #若未挂载,则先挂载,再安装bind软件包"
fi

#关闭防火墙和强制访问控制安全系统
systemctl stop firewalld &> /dev/null
systemctl disable firewalld &> /dev/null
setenforce 0 &> /dev/null

#修改主配置文件
sed -i 's/127.0.0.1/any/' /etc/named.conf
sed -i 's/localhost/any/' /etc/named.conf

#修改区域配置文件,添加正向区域配置
sed -i 's/localhost.localdomain/rui.com/' /etc/named.rfc1912.zones
sed -i 's/named.localhost/rui.com.zone/' /etc/named.rfc1912.zones
sed -i '18,100d' /etc/named.rfc1912.zones

#配置正向区域数据文件
cd /var/named
cp -p named.localhost rui.com.zone
sed -i 's/@/rui.com./g' /var/named/rui.com.zone
sed -i 's/rname.invalid./admin.rui.com./' /var/named/rui.com.zone
sed -i 's/127.0.0.1/192.168.254.10/' /var/named/rui.com.zone
sed -i '9a www IN A  192.168.254.10' /var/named/rui.com.zone
sed -i '/AAAA/d' /var/named/rui.com.zone
sed -i '/::1/d' /var/named/rui.com.zone

#启动服务
systemctl start named
systemctl restart named

8.石头剪刀布游戏
#使用shell脚本写出石头剪刀布游戏

#!/bin/bash

echo "选择你出什么"
echo "1.石头"
echo "2.剪刀"
echo "3.布"

num=`echo $[RANDOM%3+1]`
read -p "请选择1-3:" key
case $key in
1)
if [ $num -eq 1 ]
then
echo "平局"
elif [ $num -eq 2 ]
then
echo "机器胜利"
else
echo "人类胜利"
fi
;;

2)
if [ $num -eq 2 ]
then
echo "平局"
elif [ $num -eq 3 ]
then
echo "机器胜利"
else
echo "人类胜利"
fi
;;

3)
if [ $num -eq 3 ]
then
echo "平局"
elif [ $num -eq 1 ]
then
echo "机器胜利"
else
echo "人类胜利"
fi
;;

*)
echo "输入错误"

esac
9.ping IP
#!/bin/bash
ip=192.168.254.
for i in {1..254}
do
{
ping -c3 -W3 $ip$i &>/dev/null
if [ $? -eq 0 ]
then
echo "$ip$i ok"
fi
}&
done

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5619583.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-15

发表评论

登录后才能评论

评论列表(0条)

    保存