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加入开机启动

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验目的 Linux操作系统中shell是用户与系统内核沟通的中介,它为用户使用操作系统的服务提供了一个命令界面。用户在shell提示符($或#)下输入的每一个命令都由shell先解释,然后传给内核执行。本实验要求用C语言编写一个简单shell程序,希望达到以下目的:  用C语言编写清晰易读、设计优良的程序,并附有详细的文档。  熟悉使用Linux下的软件开发工具,例如gcc、gdb和make。  在编写系统应用程序时熟练使用man帮助手册。  学习使用POSIX/UNIX系统调用、对进程进行管理和完成进程之间的通信,例如使用信号和管道进行进程间通信。  理解并发程序中的同步问题。  锻炼在团队成员之间的交流与合作能力。 2. 实验要求 1. ysh解释程序的重要特征 本实验要实现一个简单的命令解释器,也就是Linux中的shell程序。实验程序起名为ysh,要求其设计类似于目前流行的shell解释程序,如bash、csh、tcsh,但不需要具备那么复杂的功能。ysh程序应当具有如下一些重要的特征:  能够执行外部程序命令,命令可以带参数。 . 。  能够执行fg、bg、cd、history、exit等内部命令。  使用管道和输入输出重定向。  支持前后台作业,提供作业控制功能,包括打印作业的清单,改变当前运行作业的前台/后台状态,以及控制作业的挂起、中止和继续运行。 除此之外,在这个实验中还须做到:  使用make工具建立工程。  使用调试器gdb来调试程序。  提供清晰、详细的设计文档和解决方案。
回答: 给出了三个shell脚本的小实验。引用的脚本是用来检测指定范围的主机是否通信,并将通信的主机IP输出到文件host_ip中。脚本中使用了ping命令来检测主机的通信状态,若通信成功,则将IP写入到ip_yes.txt文件中,否则写入到ip_no.txt文件中。 引用的脚本是用来计算1-100的和。脚本中使用了循环语句和变量来计算和,并将结果输出。 引用的脚本是一个可控大小的星星图案输出。脚本中使用了循环语句和变量来控制每行星星的数量,并输出指定大小的星星图案。 您可以根据需要执行这些脚本,并观察它们的输出结果。希望这些小实验对您有帮助!123 #### 引用[.reference_title] - *1* [【shell脚本的实验集合】](https://blog.csdn.net/DiKL_Y/article/details/130485225)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* [Shell脚本for循环小实验](https://blog.csdn.net/weixin_45305723/article/details/124182928)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *3* [shell脚本小实验](https://blog.csdn.net/weixin_65580338/article/details/126892183)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值