shell判断语句练习

1.检查用户家目录中的 test.sh 文件是否存在,并且检查是否有执行权限

test -e /opt/test.sh
if [[ $? -eq 0 ]]
thentest -x /opt/test.sh
if [[ $? -eq 0 ]]thenecho  "文件存在,且有执行权限"
elseecho " 文件存在,没有执行权限"fi
elseecho "文件不存在" 
fi
~                                                                                             
验证
[root@test2 opt]# touch test.sh
[root@test2 opt]# sh one.sh 文件存在,没有执行权限

2.提示用户输入100米赛跑的秒数,要求判断秒数大于0且小于等于10秒的进入选拔赛,
大于10秒的都淘汰,
如果输入其它字符则提示重新输入;进入选拔赛的成员再进一步判断男女性别。
男生进男生组,女生进女生组,如果输入错误请提示错误(整数判断,小数判断。9.72 3.21 )

read -p "请输入100米时间" a
if [[ $a -eq $a ]] &> /dev/null
thenecho "整数"
#else 
# echo " 重新输入成绩"
#fi
if [[ a -gt 0 && a -lt 10 ]] &> /dev/null
thenecho "进入选拔赛"read -p " 请输入性别man/woman  " bif  [[ $b == man ]]thenecho "进入男生组"else  [[ $b == woman ]]echo "进入女生组"fi
elseecho "被淘汰"
fi
else
echo "重新输入成绩"
fi
验证:
[root@test2 opt]# sh two.sh 
请输入100米时间9
整数
进入选拔赛请输入性别man/woman  man
进入男生组

3.用case语句解压根据后缀名为 .tar.gz 或 .tar.bz2 的压缩包到 /opt 目录
tar -zxvf tar -jxvf

read -p "需要解压的压缩包名称 " a
case $a in
*.tar.gz)
tar -zxvf $a -C /opt
;;
*.tar.bz2)
tar -jxvf $a -C /opt
;;
esac
验证
[root@test2 opt]# sh three.sh 
需要解压的压缩包名称 nginx-1.22.0.tar.gz
nginx-1.22.0/
nginx-1.22.0/auto/
nginx-1.22.0/conf/
nginx-1.22.0/contrib/

4.提示用户输入内容,使用if 语句判断输入的内容是否为整数。判断范围0-100。
5.根据上一题再判断输入的内容是奇数还是偶数。

read -p "请输入一个整数" aif [[ $a -eq $a ]] &> /dev/null
thenecho "整数,没毛病"if [[ $a -gt 0 && $a -le 100 ]]
thenecho "在范围内" if [[ $a%2 -eq 0 ]]thenecho "偶数"
elseecho "奇数"
fielseecho "再见"
fielseecho "重新输入"
fi
验证:
[root@test2 opt]# sh fourandfive.sh 
请输入一个整数22
整数,没毛病
在范围内
偶数

6.用if 语句判断主机是否存活.保存到/opt/hosts.txt
ping -c 5 -q 不显示ping的过程

ping -c 5 -q $1
if [[ $? -eq  0 ]]上
then
echo "连通性没毛病"
echo $1 >> /opt/hosts.txt
elseecho "不在线"
fi
验证:
[root@test2 opt]# sh six.sh 192.168.11.2
PING 192.168.11.2 (192.168.11.2) 56(84) bytes of data.--- 192.168.11.2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4000ms
rtt min/avg/max/mdev = 0.099/0.136/0.187/0.036 ms
连通性没毛病[root@test2 opt]# cat hosts.txt 
192.168.11.137
192.168.11.2

7.用case语句控制 firewalld start|stop|restart|status 来管理firewalld服务,
要求如果命令选项不对,则提示输入不正确: {start|stop|status|restart}”。
stop start status restart

case $a in
start)
systemctl start firewalldecho "$a,开启防火墙"
;;
stop)
systemctl stop firewalldecho "$a,关闭防火墙"
;;
restart)
systemctl restart firewalldecho "$a,重启防火墙"
;;
status)
systemctl status firewalldecho "$a,查看防火墙状态"
;;
*)echo "输入不正确"
esac
验证:
[root@test2 opt]# sudo systemctl is-active firewalld 
inactive
[root@test2 opt]# sh seven.sh 
输入防火墙管理命令 start
start,开启防火墙
[root@test2 opt]# sudo systemctl is-active firewalld 
active

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/29544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VS+QT+OCC创建坐标界面

1、安装并配置好项目后&#xff0c;填写如下代码&#xff1a; #pragma once#include <Standard_Handle.hxx> #include <V3d_Viewer.hxx> #include <OpenGl_GraphicDriver.hxx> #include <WNT_Window.hxx> #include <V3d_View.hxx> #include <…

<Rust><iced><resvg>基于rust使用iced构建GUI实例:使用resvg库实现svg转png

前言 本文是使用rust库resvg来将svg图片转为png图片。 环境配置 系统&#xff1a;windows 平台&#xff1a;visual studio code 语言&#xff1a;rust 库&#xff1a;resvg 代码分析 resvg是一个基于rust的svg渲染库&#xff0c;其官方地址&#xff1a; An SVG rendering li…

在Linux中安装中文编程语言洛书

本次安装使用的VMware中的Ubuntu系统虚拟机&#xff0c;尝试下中文编程。 安装洛书 下载官网&#xff1a;洛书——打造开源高效强大的国产编程语言 官方文档&#xff1a;洛书文档中心 (losu.tech) 点击获取 在终端中安装工具 dpkg和rlwrap&#xff1a; sudo apt install d…

整理好了!2024年最常见 20 道设计模式面试题(三)

上一篇地址&#xff1a;整理好了&#xff01;2024年最常见 20 道设计模式面试题&#xff08;二&#xff09;-CSDN博客 五、适配器模式是如何工作的&#xff1f;请举例说明。 适配器模式&#xff08;Adapter Pattern&#xff09;是一种常用的设计模式&#xff0c;属于结构型模…

常见的浏览器内核有哪些,对浏览器内核的理解。

目录 Trident内核&#xff08;也被称为MSHTML或IE内核&#xff09;&#xff1a; Gecko内核&#xff1a; Webkit内核&#xff1a; Blink内核&#xff1a; Presto内核&#xff1a; 归纳&#xff1a; 最主流的浏览器内核&#xff1a; 对浏览器内核的深入理解&#xff1a; T…

std::shared_mutex 举例

std::shared_mutex 是 C17 引入的一个类型&#xff0c;它允许多个线程同时获取共享锁&#xff08;shared lock&#xff09;&#xff0c;但只允许一个线程独占锁&#xff08;exclusive lock&#xff09;。这样&#xff0c;多个线程可以并发地读取共享数据&#xff0c;但在写入数…

Mysql5.7安装教程(详细图解教程)_mysql5.7下载

本文讲解的是mysql5.7安装包、mysql5.7下载、mysql5.7安装配置教程、离线安装mysql5.7。MySQL 5.7 是 MySQL 数据库的一个重要版本&#xff0c;它引入了许多新特性和改进&#xff0c;旨在提高性能、安全性和易用性。 MySQL 5.7 在所有负载模型上都有显著的性能改进&#xff0c…

简述一下你对html语义化的理解

HTML语义化是指使用HTML标签来明确表示网页内容的含义和结构&#xff0c;而不是仅仅使用它们来呈现样式或布局。以下是关于HTML语义化的分点概述&#xff1a; 增强可读性&#xff1a; 语义化的HTML代码更易于阅读和理解&#xff0c;因为标签的选择反映了内容的意义。这不仅方便…

头歌资源库(10)拼数字

一、 问题描述 二、算法思想 初始化一个长度为10的数组count&#xff0c;用于记录卡片中每个数字的数量。 从1开始依次尝试拼出正整数&#xff0c;直到无法拼出下一个数为止。 对于每个尝试拼出的正整数&#xff0c;遍历其每一位的数字&#xff0c;检查该数字在count中是否还…

中国电力年鉴(2004-2023年)

数据年限&#xff1a;2004-2023 数据格式&#xff1a;pdf、excel 数据内容&#xff1a;电力年鉴收录了我国电力行业年度统计数据&#xff0c;是较为全面反映我国电力企业生产运行情况的统计资料书。以2023年为例&#xff0c;全书共分为五个部分&#xff1a;第一部分为基本数据&…

嵌入式中间件_2.嵌入式中间件的分类

1.中间件的分类 中间件的范围十分广泛&#xff0c;针对不同的应用需求涌现出了多种各具特色的中间件产品。因此&#xff0c;在不同的角度或不同的层次上&#xff0c;对中间件的分类也会有所不同。 根据IDC在1998年对中间件进行的分类&#xff0c;把中间件分为终端仿真/屏幕转换…

面试题——Nginx

1.Nginx是什么&#xff1f; 是一个高性能的Web服务器和反向代理服务器&#xff0c;也可以作为静态文件的缓存服务器&#xff0c;也能够进行负载均衡。 2.Nginx的作用&#xff1f; 1.反向代理&#xff1a;将多台服务器代理为一台服务器。客户端不了解底层服务端。 2.负载均衡…

eclipse导入Tomcat9源码

环境准备 下载Tomcat源码 https://github.com/apache/tomcat/tagsJDK版本 Tomcat9要求JDK17以上版本 https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.htmlAnt安装 https://ant.apache.org/bindownload.cgi我这里装的是apache-ant-1.10.14版本 …

CLIP模型调用的一段代码及解释

代码示例 from transformers import CLIPProcessor, CLIPModel# 加载预训练的CLIP模型和处理器 model CLIPModel.from_pretrained("openai/clip-vit-base-patch32") processor CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")# 显示图像…

从0到1,揭秘AI产品经理的高薪秘诀,转型之路与实战资源全解析

前言 随着算法模型的日益精进、计算能力的显著提升以及海量数据的积累&#xff0c;人工智能领域正以前所未有的速度蓬勃发展。 在国家政策的积极推动、社会资本的强劲注入下&#xff0c;人工智能产业正处于技术快速进步的黄金时期&#xff0c;其影响力广泛渗透至教育智能化、…

Day54 代码随想录打卡|二叉树篇---二叉搜索树的最近公共祖先

题目&#xff08;leecode T235&#xff09;&#xff1a; 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个结点 p、q&#xff0c;最近公共祖先表示为一个结点 x&#xff0c;满足 x 是 p、q 的祖…

Nginx负载均衡之负载均衡策略

负载均衡技术是将大量的客户端请求通过特定的策略分配到集群中的节点&#xff0c;实现快速响应的应用技术。在应对高并发的应用请求时&#xff0c;单节点的应用服务计算能力有限&#xff0c;无法满足客户端的响应需求&#xff0c;通过负载均衡技术&#xff0c;可以将请求分配到…

DAY 45 企业级虚拟化技术KVM

企业级虚拟化技术KVM 1.kvm是什么 kernel virtualization machine 内核虚拟机 qemu的二次开发 软件全拼 qemu-kvm kvm virtulbox ovm vmware vsphere套件&#xff08;vmawre-esxi&#xff09; microsoft hyper-V 2.什么是虚拟化 资源利用 资源隔离 虚拟化管理&…

CleanMyMac X for Mac系统优化垃圾清理软件卸载 工具(小白轻松上手,简单易学)

Mac分享吧 文章目录 效果一、准备工作二、开始安装1、双击运行软件&#xff0c;将其从左侧拖入右侧文件夹中&#xff0c;等待安装完毕2、启动台显示软件图标&#xff0c;表示安装成功 三、运行测试1、打开软件&#xff0c;配置2、授权&#xff0c;允许完全磁盘访问 安装完成&a…

驱动、BSP、HAL三者的区别和联系

目录 引言 一、驱动&#xff08;Driver&#xff09; 二、板级支持包&#xff08;BSP, Board Support Package&#xff09; 三、硬件抽象层&#xff08;HAL, Hardware Abstraction Layer&#xff09; 四、区别与联系 五、总结 引言 驱动&#xff08;Driver&#xff09;、板…