shell小实验

Posted 他和晚风一样温柔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell小实验相关的知识,希望对你有一定的参考价值。

实验1

检查用户家目录中的 test.sh 文件是否存在,并且检查是否有执行权限
我们先创建一个test.sh文件
在这里插入图片描述
1.方法一:
在这里插入图片描述
2.方法二:
我们创建一个脚本
在这里插入图片描述
在里面编写
在这里插入图片描述

写好了我们实验一下
在这里插入图片描述
我们再给这个权限在实验一下
在这里插入图片描述

我们再实验一下
在这里插入图片描述
这样我们的脚本就写好了

实验2

提示用户输入100米赛跑的秒数,要求判断秒数大于0且小于等于10秒的进入选拔赛,大于10秒的都淘汰,如果输入其它字符则提示重新输入;进入选拔赛的成员再进一步判断男女性别,男生进男生组,女生进女生组,如果输入错误请提示错误
1.我们先写个脚本
在这里插入图片描述
2.写入脚本命令
在这里插入图片描述
我们实验一下
在这里插入图片描述

实验3

用case语句解压根据后缀名为 .tar.gz 或 .tar.bz2 的压缩包到 /opt 目录
我们先压缩一下文件
在这里插入图片描述
我在编写一个脚本
在这里插入图片描述
现在我们实验一下
在这里插入图片描述
我们去opt目录看一下
在这里插入图片描述

实验4

提示用户输入内容,使用if 语句判断输入的内容是否为整
再判断输入的内容是奇数还是偶数
我们写个脚本
在这里插入图片描述
我们再实验一下
在这里插入图片描述

实验5

用 if 语句判断主机是否存活
先写个脚本
在这里插入图片描述
我们实验一下
在这里插入图片描述

实验6

用case语句在/etc/init.d/目录中写一个firewalld脚本,并加入到系统服务管理中
使能够使用 service firewalld start|stop|restart|status 来管理firewalld服务,
要求如果命令选项不对,则提示 “用法: $0 {start|stop|status|restart}”。
操作

touch /etc/init.d/firewalld
chmod +x firewalld
ll

vim firewalld
#!/bin/bash
#chkconfig: 35 99 20
#description: Firewalld Service Control Script
#date:2021-05-10

#echo $1
#echo $0

case "$1" in
start)
        echo "Starting firewawlld Server..."
        systemctl start firewalld
        ;;
stop)
        echo "Stopping firewawlld  Server..."
        systemctl stop firewalld
        ;;
restart)
        echo "Restarting firewawlld Server..."
        systemctl restart firewalld
        ;;
status)
        echo "Firewalld status is ..."
        systemctl status firewalld
        ;;
*)
        echo "用法: $0 {start|stop|restart|status}"
esac

#exit 0 

使用chkconfig 加入到系统服务管理中:

chkconfig --add firewalld
chkconfig firewalld on  #将firewalld 加入开机启动

添加成功后就可以执行:service firewalld start、stop、restart、status

验证:

执行 service firewalld stop 的话,最终传到 /etc/init.d/firewalld 文件的参数就是 stop 。
$0 表示 /etc/init.d/firewalld
$1 表示 start、stop、restart、status

在这里插入图片描述
方法二:

也可以用 $0 stop、 $0 start 递归调用自己的服务。
在这里插入图片描述
在这里插入图片描述
附:
init.d 介绍
1、init.d 目录中存放的是一系列系统服务的管理(启动与停止)脚本。
2、用service命令可执行init.d目录中相应服务的脚本。

例:执行命令“service resin start”,可启动/etc/init.d/resin脚本

3、/etc/init.d是指向/etc/rc.d/init.d的软连接

4、 chkconfig httpd on #将httpd加入开机启动

以上是关于shell小实验的主要内容,如果未能解决你的问题,请参考以下文章

shell小实验

shell脚本基础的小实验1

Shell脚本小实验

《网络攻防第十周作业》

代码片段:Shell脚本实现重复执行和多进程

微信小程序代码片段