shell练习2

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值