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