shell编写一个判断脚本
shell编写一个判断脚本
4.1问题
本例要求在虚拟机server0上创建/root/foo.sh脚本,任务目标如下:
当运行/root/foo.sh redhat,输出为fedora
当运行/root/foo.sh fedora,输出为redhat
当没有任何参数或者参数不是redhat或者fedora时,其错误输出产生以下信息:/root/foo.sh redhat|fedora
4.2方案
Shell脚本中执行条件测试的方式:
任何一条命令行
test测试表达式
[测试表达式]
常用的test测试选项:
文件状态检测-f、-d、-e、-r、-w、-x
整数值比较-gt、-ge、-eq、-ne、-lt、-le
字符串比较==、!=
取反操作!
多分支if选择结构:
if条件测试操作1;then
命令序列1....
elif条件测试操作2;then
命令序列2....
else
命令序列3....
fi
4.3步骤
实现此案例需要按照如下步骤进行。
步骤一:编写foo.sh判断脚本
1)编写脚本代码
[root@server0~]#vim /root/foo.sh
#!/bin/bash
if [$#-eq 0];then
echo "/root/foo.sh redhat|fedora" > &2
elif [$1="redhat"];then
echo "fedora"
elif [$1="fedora"];then
echo "redhat"
else
echo "/root/foo.sh redhat|fedora" > &2
fi
2)添加x执行权限
[root@server0~]#chmod +x /root/foo.sh
步骤二:测试foo.sh判断脚本
1)测试提供正确参数的情况
[root@server0~]#/root/foo.sh redhat
fedora
[root@server0~]#/root/foo.sh fedora
Redhat
2)测试提供非预期参数的情况
[root@server0~]#/root/foo.sh ubuntu
/root/foo.sh redhat|fedora
3)测试不提供参数的情况
[root@server0~]#/root/foo.sh
/root/foo.sh redhat|fedora
案例5:创建一个脚本
5.1 案例概述:
在server0上创建一个名为/root/foo.sh的脚本,让其提供下列特性:
当运行/root/foo.sh redhat,输出为fedora
当运行/root/foo.sh fedora,输出为redhat
当没有任何参数或者参数不是redhat或者fedora时,其错误输出产生以下的信息:/root/foo.sh redhat|fedora
5.2 解题参考:
[root@server0~]#vim /root/foo.sh
#!/bin/bash
If [ "$1" = "redhat" ];then
echo "fedora"
elif [ "$1" = "fedora" ];then
echo "redhat"
else
Echo "/root/foo.sh redhat | fedora" > &2
fi
[root@server0~]#chmod +x /root/foo.sh
shell编写一个判断脚本的更多相关文章
- 工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本
一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话“Hello ...
- shell编写一个批量添加用户脚本
shell编写一个批量添加用户脚本 5.1问题 本例要求在虚拟机server0上创建/roo ...
- Linux shell编写端口扫描脚本
Linux shell编写端口扫描脚本 需求: 扫描特定主机 扫描特定主机的特定端口 扫描特定网段 扫描特定网段中哪些主机开放了特定的端口 源码如下: #/bin/bash #该脚本用于对特定目标主机 ...
- 编写一个BAT脚本协助运维人员遇到问题时候调测数据库是否有效连接成功的操作攻略
简单摘要: 1.内网系统出现故障需要排查 2.运维人员不熟悉数据库操作,没法通过连接数据库和执行SQL语句的方式排查数据库及数据是否正常 3.解决方案:编写一个bat脚本,运维人员双击运行即可. ...
- 【原】shell编写一个简单的jmeter自动化压测脚本
在公司做压力测试也挺长时间了,每次测试前环境数据准备都需要话费较长时间,所以一直在考虑能不能将整个过程实现自动化进行,于是就抽空写了一个自动化脚本,当然这个脚本目前功能十分简陋,代码也不完善,很有很多 ...
- 从0开始的Python学习013编写一个Python脚本
通过之前的学习我们已经了解了Python的很多基础运用了,现在我们尝试着做一个有使用价值的小脚本. 问题 需求: 我想要一个可以给我备份重要文件的程序. 需求分析: 首先文件是有存储路径,文件的路径和 ...
- 用Shell编写项目发布脚本
1.首先在github上创建一个测试用的仓库 2.本地编写一个可以运行的测试项目,上传至github 3.链接服务器,编写脚本如下:注意:编写前需要在服务器上安装git和maven 执行build_c ...
- python+pytest接口自动化(12)-自动化用例编写思路 (使用pytest编写一个测试脚本)
经过之前的学习铺垫,我们尝试着利用pytest框架编写一条接口自动化测试用例,来厘清接口自动化用例编写的思路. 我们在百度搜索天气查询,会出现如下图所示结果: 接下来,我们以该天气查询接口为例,编写接 ...
- 编写一个python脚本功能-备份
版本一 解决方案当我们基本完成程序的设计,我们就可以编写代码了,它是对我们的解决方案的实施.版本一例10.1 备份脚本——版本一 #!/usr/bin/python # Filename: backu ...
随机推荐
- 深入理解React key
一 react 组件元素的 diff 算法 二 key 的理解 概述 react 中的key 属性,它是一个特殊的属性,它的出现不是给开发者用的(例如你为一个组件设置key之后不能获取组件的这个key ...
- C语言程序设计(六) 循环控制结构
第六章 循环控制结构 循环结构:需要重复执行的操作 被重复执行的语句序列称为循环体 计数控制的循环 条件控制的循环 当型循环结构 直到型循环结构 for while do-while while(循环 ...
- Jenkins下构建UI自动化之初体验
一.缘 起 笔者之前一直在Windows环境下编写UI自动化测试脚本,近日在看<京东系统质量保障技术实战>一书中,萌生出在jenkins下构建UI自动化测试的想法 二.思 路 首先,在Li ...
- Java多线程并发06——CAS与AQS
在进行更近一步的了解Java锁的知识之前,我们需要先了解与锁有关的两个概念 CAS 与 AQS.关注我的公众号「Java面典」了解更多 Java 相关知识点. CAS(Compare And Swap ...
- Dubbo反序列化漏洞(CVE-2019-17564) 重现
1. 下载官方 demo 代码(暴出的漏洞是 http 协议的,故使用 http 的 demo 来重现)https://github.com/apache/dubbo-samples/tree/mas ...
- 接口自动化框架pyface详细介绍
版权说明 本框架系本人结合一些实践经验和开源框架设计思想,在家基于兴趣爱好独立完成的代码开发. 源码只保存在私人电脑,办公电脑上无.github开源与公司无关,先把关系撇清,不涉及侵权. 嘘. 框架定 ...
- CF1324B Yet Another Palindrome Problem 题解
原题链接 CF 127个测试点,好评 简要题意: 多组数据,问数组中是否有长度 \(\geq 3\) 的回文子序列. 我们需要找到本质. 题目不让我们求这个长度,只让我们判断,这是为什么呢? 如果答案 ...
- 使用PyTorch建立图像分类模型
概述 在PyTorch中构建自己的卷积神经网络(CNN)的实践教程 我们将研究一个图像分类问题--CNN的一个经典和广泛使用的应用 我们将以实用的格式介绍深度学习概念 介绍 我被神经网络的力量和能力所 ...
- 一文总结数据科学家常用的Python库(上)
概述 这篇文章中,我们挑选了24个用于数据科学的Python库. 这些库有着不同的数据科学功能,例如数据收集,数据清理,数据探索,建模等,接下来我们会分类介绍. 您觉得我们还应该包含哪些Python库 ...
- PHP7内核(五):系统分析生命周期
上篇文章讲述了模块初始化阶段之前的准备工作,本篇我来详细介绍PHP生命周期的五个阶段. 一.模块初始化阶段 我们先来看一下该阶段的每个函数的作用. 1.1.sapi_initialize_reques ...