1.通过read传入一个数字,如果传入的数字等于1,就打印1;如果等于2,就打印2,如果不等于1也不等于2,就提示输入不对,然后退出程序。
#!/bin/bash
read -p "please input a number:" a
if [ -z "$a" ] ;then
echo "must input number!!"
exit
fi
if [ "$a" -eq 1 ] ;then
echo "$a"
elif [ "$a" -eq 2 ] ;then
echo "$a"
else
echo "error....."
exit
fi
2.通过read读入两个整数,并比较他们的大小
#!/bin/bash
read -p "please input two number:" a b
#判断输入数字是否为空
if [ -z $a -o -z $b ] ;then
echo "you must input two number!!!"
exit
fi
#判断输入的是否为数字
if ! [[ $a =~ ^[0-9]+$ ]] || ! [[ $b =~ ^[0-9]+$ ]];then
echo "input not number ,please input number:"
exit
fi
#比较大小
if [ $a -gt $b ];then
echo "$a > $b"
elif [ $a -lt $b ];then
echo "$a < $b"
else
echo "$a = $b"
fi
3.假设执行一个可以携带参数的script,执行该脚本后屏幕会显示如下的数据: 程序的文件名;共有几个参数;若参数的个数小于2个则告知用户参数数量太少;全部的参数内容;第一 个参数;第二个参数。
${变量名} 返回变量的内容
${#变量名} 返回变量的长度(按长度)
${变量名/旧/新} 代替第一个匹配的
${变量名//旧/新} 代替所有匹配的
#!/bin/bash
echo "脚本名: $0"
echo "参数数量: $#"
[ "$#" -lt 2 ] && echo "参数数量太少"&& exit
echo "全部的参数:$*"
echo "第一个参数:$1"
echo "第二个参数:$2"
4.编写脚本,判断当前系统剩余内存大小,如果低于100M,邮件报警管理员,使用计划任务,每 10分钟检查一次。
5.编写脚本,判断当前脚本执行者,如果不是root用户,提示用户脚本需要root用户来执行,并退出。
超级用户的UID:0 查看用户的uid : id -u
系统用户的UID:1~999 查看当前用户 : id -un 、whoami 、echo $USER
普通用户的UID:>=1000
#!/bin/bash
num=$(whoami )
if [ $num != "root" ] ;then
echo "需要用root用户来执行脚本!!"
else
echo "可以执行。"
fi
6.判断 sshd 进程是否运行,如果服务未启动则启动相应服务。
#!/bin/bash
read -p "please input server name : " server
num=$(ps -aux | grep $server | grep -v grep | wc -l)
if [ $num -eq 0 ];then
echo "this server is not start"
systemctl start $server
if [ "$?" -ne 0 ];then
yum install $server -y
systemctl start $server
echo "this server is install and is starting"
fi
else
echo "this server is started"
fi
7.检查主机是否存活,并输出结果
#!/bin/bash
num=`ping -c 2 192.168.41.128`
if [ "$?" -eq 0 ];then
echo "host 192.168.41.128 is living"
else
echo "host 192.168.41.128 is not living"
fi