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编写一个判断脚本的更多相关文章

  1. 工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本

    一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话“Hello ...

  2. shell编写一个批量添加用户脚本

                                                          shell编写一个批量添加用户脚本 5.1问题 本例要求在虚拟机server0上创建/roo ...

  3. Linux shell编写端口扫描脚本

    Linux shell编写端口扫描脚本 需求: 扫描特定主机 扫描特定主机的特定端口 扫描特定网段 扫描特定网段中哪些主机开放了特定的端口 源码如下: #/bin/bash #该脚本用于对特定目标主机 ...

  4. 编写一个BAT脚本协助运维人员遇到问题时候调测数据库是否有效连接成功的操作攻略

    简单摘要: 1.内网系统出现故障需要排查 2.运维人员不熟悉数据库操作,没法通过连接数据库和执行SQL语句的方式排查数据库及数据是否正常 3.解决方案:编写一个bat脚本,运维人员双击运行即可.   ...

  5. 【原】shell编写一个简单的jmeter自动化压测脚本

    在公司做压力测试也挺长时间了,每次测试前环境数据准备都需要话费较长时间,所以一直在考虑能不能将整个过程实现自动化进行,于是就抽空写了一个自动化脚本,当然这个脚本目前功能十分简陋,代码也不完善,很有很多 ...

  6. 从0开始的Python学习013编写一个Python脚本

    通过之前的学习我们已经了解了Python的很多基础运用了,现在我们尝试着做一个有使用价值的小脚本. 问题 需求: 我想要一个可以给我备份重要文件的程序. 需求分析: 首先文件是有存储路径,文件的路径和 ...

  7. 用Shell编写项目发布脚本

    1.首先在github上创建一个测试用的仓库 2.本地编写一个可以运行的测试项目,上传至github 3.链接服务器,编写脚本如下:注意:编写前需要在服务器上安装git和maven 执行build_c ...

  8. python+pytest接口自动化(12)-自动化用例编写思路 (使用pytest编写一个测试脚本)

    经过之前的学习铺垫,我们尝试着利用pytest框架编写一条接口自动化测试用例,来厘清接口自动化用例编写的思路. 我们在百度搜索天气查询,会出现如下图所示结果: 接下来,我们以该天气查询接口为例,编写接 ...

  9. 编写一个python脚本功能-备份

    版本一 解决方案当我们基本完成程序的设计,我们就可以编写代码了,它是对我们的解决方案的实施.版本一例10.1 备份脚本——版本一 #!/usr/bin/python # Filename: backu ...

随机推荐

  1. Python学习字典.基础三

    元组   Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组中要定义的元组中只有一个元素需要再元素后面加逗号,用来消除数学歧义.例 t=(1,)   ...

  2. 回想笔记 瞎比比 域名注册 解析绑定ip 下载证书 设置证书 重定向http到https请求

    2019.7.27 回想笔记 拥有腾讯云服务器一台 阿里云注册5元域名,进行备案 完成之后 使用解析 绑定服务器ip地址 ,使用域名可以访问到web服务器而不是通过直接暴露ip地址进行访问 证书购买 ...

  3. juery 实现选项卡

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. Linux与unix shell编程指南

    第14章 环境和shell变量 1.使用变量时,尽量用花括号将之括起来,防止shell误解变量值. 2.设置变量时的不同模式 variable-name=value 设置实际值到variable-na ...

  5. 学习webpack基础笔记01

    学习webpack基础笔记 1.webpack搭建环境最重要的就是如何使用loader和plugins,使用yarn/npm安装插件.预处理器,正确的配置好去使用 2.从0配置webpack - 1. ...

  6. ipadmini从9.3.5降级8.4.1并完美越狱

    ipadmini之前是iOS9.3.5实在是卡的用不了,于是打算降级,但是尝试了包括改版本描述等很多方法一直失败.今天突然成功降级8.4.1并且完美越狱,运行流畅了非常多.赶紧发个教程,回馈一下网友. ...

  7. 为我开发的API添加华丽的外衣

    在日常开发中,最容易被吐槽的就是代码写的烂,没有注释鬼知道你这个是什么意思啊? 另一个就是文档不齐全,这些接口是干嘛的?参数是什么意思?等等问题. 归根到底还是没有严格的开发规范,最重要的还是要有方便 ...

  8. Spring Boot入门系列(八)整合定时任务Task,一秒搞定定时任务

    前面介绍了Spring Boot 中的整合Redis缓存已经如何实现数据缓存功能.不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/categ ...

  9. 包和访问权限修饰符,.单例设计模式,.Object类常用方法,.内部类

    1.包和访问权限修饰符 1.1 包 为什么要导包? 将字节码文件(.class)文件进行分类存放 --->包 其实就是文件夹 import java.util.Arrays; 包的划分规则 方案 ...

  10. ASP.NET Core 3.x 中间件流程与路由体系

    中间件分类 ASP.NET Core 中间件的配置方法可以分为以上三种,对应的Helper方法分别是:Run(), Use(), Map(). Run(),使用Run调用中间件的时候,会直接返回一个响 ...