几个小练习
#!/bin/bash
#依次提示用户输入3个整数,脚本根据数字大小依次排序输出3个数字
read -p "请输入一个整数:" num1
read -p "请输入一个整数:" num2
read -p "请输入一个整数:" num3
tmp=0
if [ $num1 -gt $num2 ];then
tmp=$num1
num1=$num2
num2=$tmp
fi
if [ $num1 -gt $num3 ];then
tmp=$num1
num1=$num3
num3=$tmp
fi
if [ $num2 -gt $num3 ];then
tmp=$num2
num2=$num3
num3=$tmp
fi
echo "排序后数据为:$num1,$num2,$num3"
#!/bin/bash
tar -czf log-`date +%F`.tar.gz /var/log
#!/bin/bash
#实时监控本机内存和硬盘剩余空间,剩余内存小于500M、根分区剩余空间小于1000M时,发送报警邮件给root管理员
disk_size=$(df / | awk '/\//{print $4}')
mem_size=$(free | awk '/Mem/{print $3}')
while :
do
if [ $disk_size -le 500000 -a $mem_size -le 1000000 ];then
mail -s Warning root <<EOF
Insufficient resources,资源不足
EOF
else
break
fi
done
#!/bin/bash
#脚本生成一个100以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了,猜小了或猜大了,直至用户猜对脚本结束。
num=$[RANDOM%100+1]
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
#!/bin/bash
#提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码。如果用户不输入账户名,则提示必须输入账户名并退出脚本;如果用户不输入密码,则统一使用默认的123456作为默认密码
read -p "请输入用户名:" user
if [ -z $user ];then
echo "您不需输入账户名"
exit 2
fi
stty -echo
read -p "请输入密码:" pass
stty echo
pass=${pass-123456}
useradd $user
passwd --stdin $user <<< $pass
#!/bin/bash
#检测本机当前用户是否为超级管理员,如果是管理员,则使用yum安装vsftpd,如果不是,则提示您非管理员(使用UID数字对比版本)
if [ $UID -eq 0 ];then
yum install -y vsftpd
else
echo "您非管理员"
fi
#!/bin/bash
#检测本机当前用户是否为超级管理员,如果是管理员,则使用yum安装vsftpd,如果不是,则提示您非管理员(使用子串对比版本)
if [ $USER == "root" ];then
yum install -y vsftpd
else
echo "您非管理员"
fi
主要涉及RANDOM随机数
$()存放命令的执行结果
$[]用于存放计算结果
$USER $UID内置变量
stty -echo屏蔽回显
exit shell内建命令 用于退出当前shell进程,一般情况下,0 表示正常退出,非零表示异常退出,可以指定