博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell 脚本 99例
阅读量:6401 次
发布时间:2019-06-23

本文共 1901 字,大约阅读时间需要 6 分钟。

一.编写 hello world 脚本

#!/bin/bash

echo "hello world"

二.通过位置变量创建Linux系统账号及密码

#!/bin/bash

#$1 是执行脚本的第一个参数,$2是执行脚本的第二个参数

useradd "$!"

echo "$2" | passwd --stdin "$2"

三. 3种字体颜色

#!/bin/bash

cecho(){
echo -e "\033[$1m$2\033[0m"
}

cecho 32 OK

cecho 33 Error
cecho 34 Warning

四.一键部署LNMP (RPM包版本)

#!/bin/bash

#使用yum安装部署 LNMP,需要提前配置好 yum源,否则改脚本会失败
#本脚本使用centos7.2或RHEL7.2
yum -y install httpd
yum -y install mariadb mariadb-devel mariadb-server
yum -y install php php-mysql

systemctl start httpd mariadb

systemctl enable httpd mariadb

五.每周5使用tar命令备份/var/log下的所有日志文件

#vim /root/logbak.sh

#编写备份脚本,备份后的文件名包含日期标签,防止后面的备份将前面的备份数据覆盖

#注意date命令需要使用反引号括起来,反引号在键盘<tab>键上面

tar -czf log-'date +%Y%m%d'.tar.gz /var/log

crontab -e #编写计划任务,执行备份脚本

00 03 5 /root/logbak.sh

六.实时监控本机内存的硬盘剩余空间,剩余内存小于500M,根分区剩余小于1000M时,发送报警邮件给root管理员

#!/bin/bash

#提取根分区剩余空间
disk_size=$(df / | awk '/\//{print $4}‘)
#提取内存剩余空间
mem_size=$(free |awk '/Mem/{print $4}')
while:
do
#注意内存和磁盘提取的空间大小都是以kb为单位
if [ $disk_size -le 512000 -a $mem_size -le 1024000 ];then
mail -s Waring root <<EOF
Insufficient resources,资源不足
EOF
fi
done

七.脚本生成一个100以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了,

猜小了或猜大了,直至用户猜对脚本结束。

#!/bin/bash

#RANDOM为系统自带的系统变量,值为0-232767的随机数
#使用取余算法讲随机数变为1-100的随机数
num=$[RANDOM%100+1]

#使用read提示用户猜数字

#使用if判断用户猜数字的大小关系:-eq(等于),-ne(不等于),-gt(大于等于),-lt(
小于),-le(小于等于)
while:
do
read -p "计算机生成了一个1-100的随机数,你猜:“ cai
if [ $cai -eq $num ];then
echo "恭喜,才对了”
elif [ $cai -gt $num ];then
echo "0ops,你猜大了“
else
echo "0ops,猜小了”

fi

done

===================================

从1相加到100

#!/bin/bash

j=0
for ((i=1;i<=100;i++));do
j=$(($i+$j))
done
echo $j

==================================== www.pangdanet.com

编写脚本 103.40.101.0、24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态(for版本)

#!/bin/bash

for i in {1..254}
do
ping -c2 -i0.3 -w1 103.40.101.$i &>/dev/null
if [ $? -eq 0 ] ; then
echo "103.40.101.$i is up"
else
echo "103.40.101.$i is down"
fi
done

转载于:https://blog.51cto.com/20214843/2053723

你可能感兴趣的文章
编程学习初体验(5. 如何自学编程)(2)
查看>>
思科ISR G1与ISR G1C的区别
查看>>
利用perl提取web配置文件中的域名对应的路径
查看>>
VMware虚拟化---集群高可用纵览
查看>>
Centos5上安装JRE和LUMAQQ
查看>>
Ping不通不代表主机不在线!
查看>>
SCCM2007安装部署指南
查看>>
关于监控工具的主动发起性能测试
查看>>
AngularJs $resource 高大上的数据交互
查看>>
Cisco基础实验回顾4--IP classless
查看>>
上接扩展GridView控件(6) - 响应行的单击事件和双击事件
查看>>
负载均衡实施 应该因地制宜
查看>>
非常好的BASH脚本编写教程
查看>>
MFC类库之CArray作为函数参数和返回值
查看>>
VMware vSphere 5.1 群集深入解析(十八)-DPM推荐向导&汇总
查看>>
plesk panel 虚拟主机管理平台 0day
查看>>
Java正则表达式进阶(一):写出常用的正则模式
查看>>
Android:Typeface、fonts、字体
查看>>
PgSQL · 源码分析 · AutoVacuum机制之autovacuum launcher
查看>>
MySQL初步使用
查看>>