1. 编写 hello world 脚本

#!/bin/bash  
  
# 编写 hello world 脚本  
  
echo "Hello World!"  
  1. 通过位置变量创建 Linux 系统账户及密码

#!/bin/bash  
  
# 通过位置变量创建 Linux 系统账户及密码  
  
#$1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数  
useradd    "$1"   
echo "$2"  |  passwd  ‐‐stdin  "$1"  
  1. 备份日志

#!/bin/bash  
# 每周 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  
  1. 一键部署 LNMP(RPM 包版本)

#!/bin/bash  
# 一键部署 LNMP(RPM 包版本)  
# 使用 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  
  1. 监控内存和磁盘容量,小于给定值时报警

#!/bin/bash  
  
# 实时监控本机内存和硬盘剩余空间,剩余内存小于500M、根分区剩余空间小于1000M时,发送报警邮件给root管理员  
  
# 提取根分区剩余空间  
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  "Warning"  root  <<EOF  
  Insufficient resources,资源不足  
EOF  
fi  
done  
  1. 猜数字游戏

#!/bin/bash  
  
# 脚本生成一个 100 以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了,  
# 猜小了或猜大了,直至用户猜对脚本结束。  
  
# RANDOM 为系统自带的系统变量,值为 0‐32767的随机数  
# 使用取余算法将随机数变为 1‐100 的随机数  
num=$[RANDOM%100+1]  
echo "$num"  
  
# 使用 read 提示用户猜数字  
# 使用 if 判断用户猜数字的大小关系:‐eq(等于),‐ne(不等于),‐gt(大于),‐ge(大于等于),  
# ‐lt(小于),‐le(小于等于)  
while  :  
do  
  read -p "计算机生成了一个 1‐100 的随机数,你猜: " cai  
    if [ $cai -eq $num ]  
    then  
         echo "恭喜,猜对了"  
         exit  
      elif [ $cai -gt $num ]  
      then  
             echo "Oops,猜大了"  
        else  
             echo "Oops,猜小了"  
   fi  
done  
  1. 检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不是,则提示您非管理员(使用字串对比版本)

#!/bin/bash  
  
# 检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不  
# 是,则提示您非管理员(使用字串对比版本)   
if [ $USER == "root" ]  
then  
  yum ‐y install vsftpd  
else  
    echo "您不是管理员,没有权限安装软件"  
fi  
  1. 检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不是,则提示您非管理员(使用 UID 数字对比版本)

#!/bin/bash  
  
# 检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不  
# 是,则提示您非管理员(使用 UID 数字对比版本)  
if [ $UID -eq 0 ];then  
    yum ‐y install vsftpd  
else  
    echo "您不是管理员,没有权限安装软件"  
fi