shell脚本练习---day1

1、编写脚本 argsnum.sh,接受一个文件路径作为参数;如果参数个数小于 1,则提示用户“至少应该给一个参数”,并立即退出;如果参数个数不小于 1,则显示第一个参数所指向的文件中的空白行数;

#!/bin/bash
# 
#**********************************************************************
#Author:                      awakening
#QQ:                          397269789
#Date:                        2020-11-09
#Filename:                    argsnum.sh
#URL:                         http://www.yunmix.top
#Description:                 The test script
#**********************************************************************
if [ $# -lt 1 ];then
        echo "至少应该给一个参数"
        exit
elif [ -f $1 ];then                                                                                                                                                       
        grep  "^$" $1 | wc -l

else
        echo "请输入有效文件路径"
        exit

2、编写脚本hostping.sh,接受一个主机的IPv4地址作为参数,测试是否可连通。如果能Ping通,则提示用户“该IP地址可访问”,如果不可ping通,则提示用户“该IP地址不可访问”。


#!/bin/bash
# 
#**********************************************************************
#Author:                      awakening
#QQ:                          397269789
#Date:                        2020-11-10
#Filename:                    hostping.sh
#URL:                         http://www.yunmix.top
#Description:                 The test script
#**********************************************************************
read -p "请输入一个IP地址:" IP
ping -c1 -w1 $IP &> /dev/null && echo "该$IP地址可访问" || echo "该$IP地址不可访问"                                                                                                                                                              
                                                                                        

3、编写脚本checkdisk.sh,检查磁盘分区空间和inode使用率,如果超过80%,就发广播警告空间将满。

#!/bin/bash
# 
#**********************************************************************
#Author:                      awakening
#QQ:                          397269789
#Date:                        2020-11-10
#Filename:                    checkdisk.sh
#URL:                         http://www.yunmix.top
#Description:                 The test script
#**********************************************************************
WARNING=1
SPACE_USE=`df | sed -rn "/^\/dev\/sd/s@^.* ([0-9]+)%.*@\1@p" | sort -nr | head -1`
INODE_USE=`df -i| sed -rn "/^\/dev\/sd/s@^.* ([0-9]+)%.*@\1@p" | sort -nr | head -1`
[ $SPACE_USE -gt $WARNING -o $INODE_USE -gt $WARNING ] && wall sapce is full  

4、编写脚本per.sh,判断当前用户对指定的参数文件,是否不可读并且不可写

#!/bin/bash                                                                                                                                                                                                                                      
# 
#**********************************************************************
#Author:                      awakening
#QQ:                          397269789
#Date:                        2020-11-11
#Filename:                    per.sh
#URL:                         http://www.yunmix.top
#Description:                 The test script
#**********************************************************************
FILE=$1
[ ! -r $FILE -a ! -w $FILE ] && echo "不可读且不可写"

5、编写脚本excute.sh ,判断参数文件是否为sh后缀的普通文件,如果是,添加所有人可执行权限,否则提示用户非脚本文件

#!/bin/bash
# 
#**********************************************************************
#Author:                      awakening
#QQ:                          397269789
#Date:                        2020-11-11
#Filename:                    excute.sh
#URL:                         http://www.yunmix.top
#Description:                 The test script
#**********************************************************************
read -p "请输入参数文件:" FILE
[ -f $FILE ] && [[ "$FILE" == *.sh ]] && chmod +x $FILE || echo "这不是脚本文件"      

6、编写脚本nologin.sh和login.sh,实现禁止和充许普通用户登录系统

#########nologin.sh#########
#!/bin/bash
# 
#**********************************************************************
#Author:                      awakening
#QQ:                          397269789
#Date:                        2020-11-11
#Filename:                    nologin.sh
#URL:                         http://www.yunmix.top
#Description:                 The test script
#**********************************************************************
[ -f /etc/nologin ] &&  echo "已禁止普通用户登录" || {
    
     touch /etc/nologin;echo "已开启禁止普通用户登录"; }    
#########login.sh#########
#!/bin/bash
# 
#**********************************************************************
#Author:                      awakening
#QQ:                          397269789
#Date:                        2020-11-11
#Filename:                    login.sh
#URL:                         http://www.yunmix.top
#Description:                 The test script
#**********************************************************************
[ -f /etc/nologin ] &&  {
    
     rm -f /etc/nologin ;echo "已开启普通用户登录"; }|| echo "已允许普通用户登录"                

关于/etc/nologin请参考
https://blog.csdn.net/weixin_50904580/article/details/109615117

猜你喜欢

转载自blog.csdn.net/weixin_50904580/article/details/109585479